The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

$Id: README.win32,v 1.5 2000/07/10 17:50:01 mergl Exp $


######################################################################
#                                                                    #
#             a pre-compiled package is available at:                #
#                                                                    #
#           http://www.edmund-mergl.de/export/DBD-Pg.zip             #
#                                                                    #
######################################################################


Here is a step-by-step procedure for getting DBD-Pg to work on Windows NT.
This Port has been done by Bob Kline <bkline@rksystems.com>. 


prerequisites:    (older versions might also work, but these are the versions I used)
--------------

 - Windows NT4 SP4
 - Visual Studio 6.0
 - ActivePerl-5_6_0_613 with DBI-1.13
 - postgresql-7.0.2
 - DBD-Pg-0.95

Here we assume, that perl and postgresql have been installed in C:\
Now perform the following steps:


1. compile libpq
----------------

set POSTGRES_HOME=C:\postgresql-7.0.2
cd postgresql-7.0.2
mkdir lib
mkdir include
cd src
copy include\port\win32.h include\os.h
edit interfaces\libpq\fe-connect.c and add as first statement in connectDBStart() the following code:
  #ifdef WIN32
      static int WeHaveCalledWSAStartup;
      if (!WeHaveCalledWSAStartup) {
          WSADATA wsaData;
          if (WSAStartup(MAKEWORD(1, 1), &wsaData)) {
              printfPQExpBuffer(&conn->errorMessage, "WSAStartup failed: errno=%d\n", h_errno);
              goto connect_errReturn;
          }
          WeHaveCalledWSAStartup = 1;
      }
  #endif
edit interfaces\libpq\win32.mak and change the flag /ML to /MD:   CPP_PROJ=/nologo /MD ...
nmake /f win32.mak
cd ..
copy src\interfaces\libpq\Release\libpq.lib  lib
copy src\interfaces\libpq\libpq-fe.h         include
copy src\include\postgres_ext.h              include
cd ..


2. build DBD-Pg
---------------

cd DBD-Pg
perl Makefile.PL CAPI=TRUE
nmake
set the environment variable PGHOST to the name of the postgresql server: set PGHOST=myserver
add on the server a postgres user with the same name as the NT-User (eg Administrator)
make sure, that your pg_hba.conf on the server is configured, such that a connection from another host will be accepted
mkdir C:\tmp
nmake test   (expect to get errors concerning blobs)
nmake install


# EOF