While trying to update the PHP postgresql extension to 8.3.1, I met a
couple of issues.
The first was about not using kerberos, the makefile is incorrect as
an error will be raised when kerberos is used and no kerberos is used.
I added the following lines to avoid libpath error:
CPP_PROJ=$(CPP_PROJ) /D USE_SSL
SSL_LIBS=ssleay32.lib libeay32.lib gdi32.lib
CPP_PROJ=$(CPP_PROJ) /D KRB5
KFW_LIBS=krb5_32.lib comerr32.lib gssapi32.lib
and use XXX_LIBPATH_ARG in the LINK32_FLAG
The 2nd problem is about Shell32.lib, it is missing in the lib list.
It is required for SHGetFolderPath.
The last two problems are more tricky. It is about addrinfo and
sockaddr. addrinfo is actually defined on windows and seems to have
the correct order of the structure elements (see the comment in
src/include/getaddrinfo.h). Removing this declaration seems to work
(not tested yet).
I'm now trying to figure out the sockaddr_storage redclaration. The
windows struct is different
(http://msdn.microsoft.com/en-us/library/aa917505.aspx) and I'm not
sure it is a good idea to force the related HAVE_* definitions. Does
anyone have an idea about how to fix these two problems? If not, I can
try to fix them and run some tests using PHP, any help welcome as I'm
not a pgsql user (only building php releases and snapshots,
www.php.net/download and snaps.php.net).
The last version of my win32.mak file is available here: