Re: Makefiles for Borland C 5.5 compiler

Started by Bruce Momjianover 23 years ago2 messagespatches
Jump to latest
#1Bruce Momjian
bruce@momjian.us

I am confused by this patch because it has new copies of psql/startup.c.
Is that desired? Can you send a new tarball?

---------------------------------------------------------------------------

Lester Godwin wrote:

Attached is a patch to provide makefiles, etc. to allow the compilation of
the libpq interface static and dynamic libraries with the freely
downloadable Borland C++ compiler version 5.5 and/or C++ Builder. Also
included is a makefile that will build psql with static and/or dynamic link
libraries. **NOTE** due to naming differences between Borland and MS, the
Borland produced DLL can only be used with Borland compiled EXE's! If
someone knows how to get around the naming differences and produce an exact
replacement for the libpq.dll that would be compatible with existing Visual
C++ apps, it may be of interest.

Note that this diff is based on 7.3 tarball, not CVS HEAD, or 7.3rel branch.

Lester Godwin

[ Attachment, skipping... ]

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#2Bruce Momjian
bruce@momjian.us
In reply to: Bruce Momjian (#1)

Thank you. Patch applied.

---------------------------------------------------------------------------

Lester Godwin wrote:

Here's a patch that doesn't include the startup.c modifications.
Thanks,
LG

----- Original Message -----
From: "Bruce Momjian" <pgman@candle.pha.pa.us>
To: "Lester Godwin" <godwin@pushcorp.com>
Sent: Monday, December 30, 2002 10:58 AM
Subject: Re: Makefiles for Borland C 5.5 compiler

OK, I tried to apply this patch, but it doesn't look right. I removed
the duplicate files you supplied, but I see this:

+ +-"$(**: =" &^
+ +-")"
+ !

and some additional single line '!' entries. Is this correct? Can you
send a fixed patch?

--------------------------------------------------------------------------

-

Lester Godwin wrote:

The reason that psql/startup.c is included is because I added a small
snipet of code:

A small helper function:

#ifdef BCC32_STATIC
void winsock_cleanup(void)
{
WSACleanup();
return;
}
#endif

And at the beginning of main():

#ifdef BCC32_STATIC
WSADATA wsaData;

if (WSAStartup(MAKEWORD(1, 1), &wsaData))
{
fprintf(stderr, gettext("Error initializing Winsock Library\n"));
exit(EXIT_FAILURE);
}

atexit(winsock_cleanup);
#endif

to initialize and uninitialize the WINSOCK library when
psql is compiled with the static Borland libpq library. Similar
code is executed automatically in the DLL upon loading and unloading.
Feel free to remove the file if you wish. It is just convenient for
me to use a fully static linked, exe for psql. Also, I believe that
this code should work with static linking in the MS Visual C
environment as well.

LG

----- Original Message -----
From: "Bruce Momjian" <pgman@candle.pha.pa.us>
To: "Lester Godwin" <godwin@pushcorp.com>
Cc: <pgsql-patches@postgresql.org>
Sent: Sunday, December 29, 2002 10:43 PM
Subject: Re: Makefiles for Borland C 5.5 compiler

I am confused by this patch because it has new copies of

psql/startup.c.

Is that desired? Can you send a new tarball?

--------------------------------------------------------------------------

-

Lester Godwin wrote:

Attached is a patch to provide makefiles, etc. to allow the

compilation

of

the libpq interface static and dynamic libraries with the freely
downloadable Borland C++ compiler version 5.5 and/or C++ Builder.

Also

included is a makefile that will build psql with static and/or

dynamic

link

libraries. **NOTE** due to naming differences between Borland and

MS,

the

Borland produced DLL can only be used with Borland compiled EXE's!

If

someone knows how to get around the naming differences and produce

an

exact

replacement for the libpq.dll that would be compatible with existing

Visual

C++ apps, it may be of interest.

Note that this diff is based on 7.3 tarball, not CVS HEAD, or 7.3rel

branch.

Lester Godwin

[ Attachment, skipping... ]

--
Bruce Momjian                        |  http://candle.pha.pa.us
pgman@candle.pha.pa.us               |  (610) 359-1001
+  If your life is a hard drive,     |  13 Roberts Road
+  Christ can be your backup.        |  Newtown Square, Pennsylvania

19073

--
Bruce Momjian                        |  http://candle.pha.pa.us
pgman@candle.pha.pa.us               |  (610) 359-1001
+  If your life is a hard drive,     |  13 Roberts Road
+  Christ can be your backup.        |  Newtown Square, Pennsylvania

19073

----------------------------------------------------------------------------
----

diff -r -N -C 3 ../postgresql-7.3/src/bcc32.mak ./src/bcc32.mak
*** ../postgresql-7.3/src/bcc32.mak Wed Dec 31 18:00:00 1969
--- ./src/bcc32.mak Thu Dec 12 14:36:32 2002
***************
*** 0 ****
--- 1,51 ----
+ # $Header: /cvsroot/pgsql-server/src/win32.mak,v 1.8 2002/09/03 21:45:41

petere Exp $

+
+ # Makefile for Borland C++ 5.5 (or compat)
+ # Top-file makefile for Win32 parts of postgresql.
+ # Note that most parts are not ported to Win32!
+
+ !IF "$(CFG)" != "Release" && "$(CFG)" != "Debug"
+ !MESSAGE Invalid configuration "$(CFG)" specified.
+ !MESSAGE You can specify a configuration when running MAKE
+ !MESSAGE by defining the macro CFG on the command line. For example:
+ !MESSAGE
+ !MESSAGE make  -DCFG=[Release | Debug] /f bcc32.mak
+ !MESSAGE
+ !MESSAGE Possible choices for configuration are:
+ !MESSAGE
+ !MESSAGE "Release" (Win32 Release )
+ !MESSAGE "Debug" (Win32 Debug)
+ !MESSAGE
+ !ENDIF
+
+ !IF "$(OS)" == "Windows_NT"
+ NULL=
+ !ELSE
+ NULL=nul
+ !ENDIF
+
+ ALL:
+    cd include
+    if not exist pg_config.h copy pg_config.h.win32 pg_config.h
+    cd ..
+    cd interfaces\libpq
+    make -DCFG=$(CFG) /f bcc32.mak
+    cd ..\..\bin\psql
+    make -DCFG=$(CFG) /f bcc32.mak
+    cd ..\..
+    echo All Win32 parts have been built!
+
+ CLEAN:
+    cd interfaces\libpq
+    make -DCFG=Release /f bcc32.mak CLEAN
+    make -DCFG=Debug /f bcc32.mak CLEAN
+    cd ..\..\bin\psql
+    make -DCFG=Release /f bcc32.mak CLEAN
+    make -DCFG=Debug /f bcc32.mak CLEAN
+    cd ..\..
+    echo All Win32 parts have been cleaned!
+
+ DISTCLEAN: CLEAN
+    cd include
+    del config.h
+    cd ..
diff -r -N -C 3 ../postgresql-7.3/src/bin/psql/bcc32.mak

./src/bin/psql/bcc32.mak

*** ../postgresql-7.3/src/bin/psql/bcc32.mak Wed Dec 31 18:00:00 1969
--- ./src/bin/psql/bcc32.mak Thu Dec 12 14:38:10 2002
***************
*** 0 ****
--- 1,136 ----
+ # Makefile for Borland C++ 5.5
+ # Borland C++ base install directory goes here
+ BCB=d:\Borland\Bcc55
+
+ !MESSAGE Building PSQL.EXE ...
+ !MESSAGE
+ !IF "$(CFG)" == ""
+ CFG=Release
+ !MESSAGE No configuration specified. Defaulting to Release with STATIC

libraries.

+ !MESSAGE To use dynamic link libraries add -DDLL_LIBS to make command

line.

+ !MESSAGE
+ !ELSE
+ !MESSAGE Configuration "$(CFG)"
+ !MESSAGE
+ !ENDIF
+
+ !IF "$(CFG)" != "Release" && "$(CFG)" != "Debug"
+ !MESSAGE Invalid configuration "$(CFG)" specified.
+ !MESSAGE You can specify a configuration when running MAKE
+ !MESSAGE by defining the macro CFG on the command line. For example:
+ !MESSAGE
+ !MESSAGE make  -DCFG=[Release | Debug] /f bcc32.mak
+ !MESSAGE
+ !MESSAGE Possible choices for configuration are:
+ !MESSAGE
+ !MESSAGE "Release" (Win32 Release EXE)
+ !MESSAGE "Debug" (Win32 Debug EXE)
+ !MESSAGE
+ !ERROR An invalid configuration was specified.
+ !ENDIF
+
+ !IF "$(OS)" == "Windows_NT"
+ NULL=
+ !ELSE
+ NULL=nul
+ !ENDIF
+
+ CPP=bcc32.exe
+
+ !IF "$(CFG)" == "Debug"
+ DEBUG=1
+ OUTDIR=.\Debug
+ INTDIR=.\Debug
+ !else
+ OUTDIR=.\Release
+ INTDIR=.\Release
+ !endif
+
+ .path.obj = $(INTDIR)
+
+ .c.obj:
+ $(CPP) -o"$(INTDIR)\$&" $(CPP_PROJ) $<
+
+ ALL : "$(OUTDIR)\psql.exe"
+
+ CLEAN :
+ -@erase "$(INTDIR)\command.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\help.obj"
+ -@erase "$(INTDIR)\input.obj"
+ -@erase "$(INTDIR)\stringutils.obj"
+ -@erase "$(INTDIR)\mainloop.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\startup.obj"
+ -@erase "$(INTDIR)\prompt.obj"
+ -@erase "$(INTDIR)\sprompt.obj"
+ -@erase "$(INTDIR)\variables.obj"
+ -@erase "$(INTDIR)\large_obj.obj"
+ -@erase "$(INTDIR)\print.obj"
+ -@erase "$(INTDIR)\describe.obj"
+ -@erase "$(INTDIR)\tab-complete.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\mbprint.obj"
+ -@erase "$(INTDIR)\psql.ilc"
+ -@erase "$(INTDIR)\psql.ild"
+ -@erase "$(INTDIR)\psql.tds"
+ -@erase "$(INTDIR)\psql.ils"
+ -@erase "$(INTDIR)\psql.ilf"
+ -@erase "$(OUTDIR)\psql.exe"
+
+ "$(OUTDIR)" :
+     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+ USERDEFINES = WIN32;_CONSOLE;_MBCS;HAVE_STRDUP
+
+

# --------------------------------------------------------------------------
-

+ CPP_PROJ

= -I$(BCB)\include;..\..\include;..\..\interfaces\libpq -c -D$(USERDEFINES)
-tWM -tWC \

+ -q -5 -a8 -pc -X -w-use -w-par -w-pia -w-csu -w-aus -w-ccc
+
+ !IFDEF DEBUG
+ CPP_PROJ  = $(CPP_PROJ) -Od -r- -k -v -y -vi- -D_DEBUG
+ LIBPG_DIR = Debug
+ !ELSE
+ CPP_PROJ = $(CPP_PROJ) -O -Oi -OS -DNDEBUG
+ LIBPG_DIR = Release
+ !ENDIF
+
+ !IFDEF DLL_LIBS
+ CPP_PROJ = $(CPP_PROJ) -D_RTLDLL
+ LIBRARIES = cw32mti.lib

..\..\interfaces\libpq\$(LIBPG_DIR)\blibpqdll.lib

+ !ELSE
+ CPP_PROJ = $(CPP_PROJ) -DBCC32_STATIC
+ LIBRARIES = cw32mt.lib ..\..\interfaces\libpq\$(LIBPG_DIR)\blibpq.lib
+ !ENDIF
+
+ LINK32=ilink32.exe
+ LINK32_FLAGS=-L$(BCB)\lib;.\$(LIBPG_DIR) -x -v
+ LINK32_OBJS= \
+ command.obj \
+ common.obj \
+ help.obj \
+ input.obj \
+ stringutils.obj \
+ mainloop.obj \
+ copy.obj \
+ startup.obj \
+ prompt.obj \
+ sprompt.obj \
+ variables.obj \
+ large_obj.obj \
+ print.obj \
+ describe.obj \
+ tab-complete.obj \
+ getopt.obj \
+ mbprint.obj
+
+
+ "$(OUTDIR)\psql.exe" : "$(OUTDIR)" $(LINK32_OBJS)
+ $(LINK32) @&&!
+ $(LINK32_FLAGS) +
+ c0x32.obj $(LINK32_OBJS), +
+ $@,, +
+ import32.lib $(LIBRARIES),,
+ !
+
+ getopt.obj : "$(OUTDIR)" ..\..\port\getopt.c
diff -r -N -C 3 ../postgresql-7.3/src/bin/psql/startup.c

./src/bin/psql/startup.c

*** ../postgresql-7.3/src/bin/psql/startup.c Fri Oct 18 17:05:36 2002
--- ./src/bin/psql/startup.c Thu Dec 12 14:52:49 2002
***************
*** 83,88 ****
--- 83,95 ----
printSSLInfo(void);
#endif
+ #ifdef BCC32_STATIC
+ void winsock_cleanup(void)
+ {
+ WSACleanup();
+ return;
+ }
+ #endif
/*
*
***************
*** 98,103 ****
--- 105,122 ----
char    *username = NULL;
char    *password = NULL;
bool need_pass;
+
+ #ifdef BCC32_STATIC
+ WSADATA wsaData;
+
+ if (WSAStartup(MAKEWORD(1,1),&wsaData))
+ {
+ fpritnf(stderr,gettext("Error initializing WINSOCK library!\n"));
+ exit(EXIT_FAILURE);
+ }
+
+ atexit(winsock_cleanup);
+ #endif

setlocale(LC_ALL, "");
#ifdef ENABLE_NLS
diff -r -N -C 3 ../postgresql-7.3/src/interfaces/libpq/bcc32.mak

./src/interfaces/libpq/bcc32.mak

*** ../postgresql-7.3/src/interfaces/libpq/bcc32.mak Wed Dec 31 18:00:00

1969

--- ./src/interfaces/libpq/bcc32.mak Thu Dec 12 14:37:10 2002
***************
*** 0 ****
--- 1,141 ----
+ # Makefile for Borland C++ 5.5
+
+ # Will build a Win32 static library libpq.lib
+ #        and a Win32 dynamic library libpq.dll with import library

libpqdll.lib

+
+ # Borland C++ base install directory goes here
+ BCB=d:\Borland\Bcc55
+
+ !MESSAGE Building the Win32 DLL and Static Library...
+ !MESSAGE
+ !IF "$(CFG)" == ""
+ CFG=Release
+ !MESSAGE No configuration specified. Defaulting to Release.
+ !MESSAGE
+ !ELSE
+ !MESSAGE Configuration "$(CFG)"
+ !MESSAGE
+ !ENDIF
+
+ !IF "$(CFG)" != "Release" && "$(CFG)" != "Debug"
+ !MESSAGE Invalid configuration "$(CFG)" specified.
+ !MESSAGE You can specify a configuration when running MAKE
+ !MESSAGE by defining the macro CFG on the command line. For example:
+ !MESSAGE
+ !MESSAGE make  -DCFG=[Release | Debug] /f bcc32.mak
+ !MESSAGE
+ !MESSAGE Possible choices for configuration are:
+ !MESSAGE
+ !MESSAGE "Release" (Win32 Release DLL and Static Library)
+ !MESSAGE "Debug" (Win32 Debug DLL and Static Library)
+ !MESSAGE
+ !ERROR An invalid configuration was specified.
+ !ENDIF
+
+ !IF "$(OS)" == "Windows_NT"
+ NULL=
+ !ELSE
+ NULL=nul
+ !ENDIF
+
+ !IF "$(CFG)" == "Debug"
+ DEBUG=1
+ OUTDIR=.\Debug
+ INTDIR=.\Debug
+ !else
+ OUTDIR=.\Release
+ INTDIR=.\Release
+ !endif
+
+ USERDEFINES=FRONTEND;NDEBUG;WIN32;_WINDOWS;HAVE_VSNPRINTF;HAVE_STRDUP;
+
+ CPP=bcc32.exe
+ CPP_PROJ = -I$(BCB)\include;..\..\include -WD -c -D$(USERDEFINES) -tWM \
+ -a8 -X -w-use -w-par -w-pia -w-csu -w-aus -w-ccc
+
+ !IFDEF DEBUG
+ CPP_PROJ = $(CPP_PROJ) -Od -r- -k -v -y -vi- -D_DEBUG
+ !else
+ CPP_PROJ = $(CPP_PROJ) -O -Oi -OS -DNDEBUG
+ !endif
+
+ LIB32=tlib.exe
+ LIB32_FLAGS=
+ LIB32_OBJS= \
+ "$(OUTDIR)\win32.obj" \
+ "$(INTDIR)\dllist.obj" \
+ "$(INTDIR)\md5.obj" \
+ "$(INTDIR)\fe-auth.obj" \
+ "$(INTDIR)\fe-connect.obj" \
+ "$(INTDIR)\fe-exec.obj" \
+ "$(INTDIR)\fe-lobj.obj" \
+ "$(INTDIR)\fe-misc.obj" \
+ "$(INTDIR)\fe-print.obj" \
+ "$(INTDIR)\fe-secure.obj" \
+ "$(INTDIR)\pqexpbuffer.obj" \
+ "$(INTDIR)\wchar.obj" \
+ "$(INTDIR)\encnames.obj"
+
+ RSC=brcc32.exe
+ RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
+
+ LINK32=ilink32.exe
+ LINK32_FLAGS = -Gn -L$(BCB)\lib;$(INTDIR); -x -Tpd -v
+ LINK32_OBJS= "$(INTDIR)\libpqdll.obj"
+
+

# --------------------------------------------------------------------------
-

+
+ .path.obj = $(INTDIR)
+ .path.c = .;..\..\backend\libpq;..\..\backend\lib;..\..\backend\utils\mb
+
+

# --------------------------------------------------------------------------
-

+
+ ALL: "$(OUTDIR)" "$(OUTDIR)\blibpq.dll" "$(OUTDIR)\blibpq.lib"
+
+ CLEAN :
+ -@erase "$(INTDIR)\dllist.obj"
+ -@erase "$(INTDIR)\md5.obj"
+ -@erase "$(INTDIR)\fe-auth.obj"
+ -@erase "$(INTDIR)\fe-connect.obj"
+ -@erase "$(INTDIR)\fe-exec.obj"
+ -@erase "$(INTDIR)\fe-lobj.obj"
+ -@erase "$(INTDIR)\fe-misc.obj"
+ -@erase "$(INTDIR)\fe-print.obj"
+ -@erase "$(INTDIR)\fe-secure.obj"
+ -@erase "$(INTDIR)\pqexpbuffer.obj"
+ -@erase "$(OUTDIR)\libpqdll.obj"
+ -@erase "$(OUTDIR)\win32.obj"
+ -@erase "$(INTDIR)\wchar.obj"
+ -@erase "$(INTDIR)\encnames.obj"
+ -@erase "$(OUTDIR)\libpq.res"
+ -@erase "$(OUTDIR)\blibpq.lib"
+ -@erase "$(OUTDIR)\blibpqdll.lib"
+ -@erase "$(OUTDIR)\blibpq.dll"
+ -@erase "$(OUTDIR)\blibpq.tds"
+
+
+ "$(OUTDIR)" :
+ @if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+ "$(OUTDIR)\blibpq.dll": "$(OUTDIR)\blibpq.lib" $(LINK32_OBJS)

"$(INTDIR)\libpq.res" blibpqdll.def

+ $(LINK32) @&&!
+ $(LINK32_FLAGS) +
+ c0d32.obj $(LINK32_OBJS), +
+ $@,, +
+ "$(OUTDIR)\blibpq.lib" import32.lib cw32mti.lib, +
+ blibpqdll.def,"$(INTDIR)\libpq.res"
+ !
+ implib -a "$(OUTDIR)\blibpqdll.lib" blibpqdll.def $@
+
+ "$(INTDIR)\libpq.res" : "$(INTDIR)" libpq.rc
+     $(RSC) $(RSC_PROJ) libpq.rc
+
+ "$(OUTDIR)\blibpq.lib": $(LIB32_OBJS)
+ $(LIB32) $@ @&&!
+ +-"$(**: =" &^
+ +-")"
+ !
+
+ .c.obj:
+ $(CPP) -o"$(INTDIR)\$&" $(CPP_PROJ) $<
+
diff -r -N -C 3 ../postgresql-7.3/src/interfaces/libpq/blibpqdll.def

./src/interfaces/libpq/blibpqdll.def

*** ../postgresql-7.3/src/interfaces/libpq/blibpqdll.def Wed Dec 31

18:00:00 1969

--- ./src/interfaces/libpq/blibpqdll.def Thu Dec 12 14:37:20 2002
***************
*** 0 ****
--- 1,95 ----
+ LIBRARY BLIBPQ
+ EXPORTS
+ _PQconnectdb            @ 1
+ _PQsetdbLogin           @ 2
+ _PQconndefaults         @ 3
+ _PQfinish               @ 4
+ _PQreset                @ 5
+ _PQrequestCancel        @ 6
+ _PQdb                   @ 7
+ _PQuser                 @ 8
+ _PQpass                 @ 9
+ _PQhost                 @ 10
+ _PQport                 @ 11
+ _PQtty                  @ 12
+ _PQoptions              @ 13
+ _PQstatus               @ 14
+ _PQerrorMessage         @ 15
+ _PQsocket               @ 16
+ _PQbackendPID           @ 17
+ _PQtrace                @ 18
+ _PQuntrace              @ 19
+ _PQsetNoticeProcessor   @ 20
+ _PQexec                 @ 21
+ _PQnotifies             @ 22
+ _PQsendQuery            @ 23
+ _PQgetResult            @ 24
+ _PQisBusy               @ 25
+ _PQconsumeInput         @ 26
+ _PQgetline              @ 27
+ _PQputline              @ 28
+ _PQgetlineAsync         @ 29
+ _PQputnbytes            @ 30
+ _PQendcopy              @ 31
+ _PQfn                   @ 32
+ _PQresultStatus         @ 33
+ _PQntuples              @ 34
+ _PQnfields              @ 35
+ _PQbinaryTuples         @ 36
+ _PQfname                @ 37
+ _PQfnumber              @ 38
+ _PQftype                @ 39
+ _PQfsize                @ 40
+ _PQfmod                 @ 41
+ _PQcmdStatus            @ 42
+ _PQoidStatus            @ 43
+ _PQcmdTuples            @ 44
+ _PQgetvalue             @ 45
+ _PQgetlength            @ 46
+ _PQgetisnull            @ 47
+ _PQclear                @ 48
+ _PQmakeEmptyPGresult    @ 49
+ _PQprint                @ 50
+ _PQdisplayTuples        @ 51
+ _PQprintTuples          @ 52
+ _lo_open                @ 53
+ _lo_close               @ 54
+ _lo_read                @ 55
+ _lo_write               @ 56
+ _lo_lseek               @ 57
+ _lo_creat               @ 58
+ _lo_tell                @ 59
+ _lo_unlink              @ 60
+ _lo_import              @ 61
+ _lo_export              @ 62
+ _pgresStatus            @ 63
+ _PQmblen                @ 64
+ _PQresultErrorMessage   @ 65
+ _PQresStatus            @ 66
+ _termPQExpBuffer        @ 67
+ _appendPQExpBufferChar  @ 68
+ _initPQExpBuffer        @ 69
+ _resetPQExpBuffer       @ 70
+ _PQoidValue             @ 71
+ _PQclientEncoding       @ 72
+ _PQenv2encoding         @ 73
+ _appendBinaryPQExpBuffer    @ 74
+ _appendPQExpBufferStr   @ 75
+ _destroyPQExpBuffer     @ 76
+ _createPQExpBuffer      @ 77
+ _PQconninfoFree         @ 78
+ _PQconnectPoll          @ 79
+ _PQconnectStart         @ 80
+ _PQflush                @ 81
+ _PQisnonblocking        @ 82
+ _PQresetPoll            @ 83
+ _PQresetStart           @ 84
+ _PQsetClientEncoding    @ 85
+ _PQsetnonblocking       @ 86
+ _PQfreeNotify           @ 87
+ _PQescapeString         @ 88
+ _PQescapeBytea          @ 89
+ _printfPQExpBuffer      @ 90
+ _appendPQExpBuffer      @ 91
+ _pg_encoding_to_char    @ 92
+ _pg_utf_mblen           @ 93
diff -r -N -C 3 ../postgresql-7.3/src/interfaces/libpq/win32.h

./src/interfaces/libpq/win32.h

*** ../postgresql-7.3/src/interfaces/libpq/win32.h Thu Oct 3 12:09:42

2002

--- ./src/interfaces/libpq/win32.h Thu Dec 12 14:58:15 2002
***************
*** 1,40 ****
! #ifndef __win32_h_included
! #define __win32_h_included
!
! /*
!  * strcasecmp() is not in Windows, stricmp is, though
!  */
! #define strcasecmp(a,b) stricmp(a,b)
! #define strncasecmp(a,b,c) _strnicmp(a,b,c)
!
! /*
!  * Some other compat functions
!  */
#define open(a,b,c) _open(a,b,c)
#define close(a) _close(a)
#define read(a,b,c) _read(a,b,c)
#define write(a,b,c) _write(a,b,c)
#define popen(a,b) _popen(a,b)
#define pclose(a) _pclose(a)
#define vsnprintf(a,b,c,d) _vsnprintf(a,b,c,d)
#define snprintf _snprintf
!
! /*
!  * crypt not available (yet)
!  */
! #define crypt(a,b) ((char *) a)
!
! #undef EAGAIN /* doesn't apply on sockets */
! #undef EINTR
! #define EINTR WSAEINTR
! #define EWOULDBLOCK WSAEWOULDBLOCK
! #define ECONNRESET WSAECONNRESET
! #define EINPROGRESS WSAEINPROGRESS
!
! /*
!  * support for handling Windows Socket errors
!  */
! extern const char *winsock_strerror(int eno);
!
!
! #endif
--- 1,48 ----
! #ifndef __win32_h_included
! #define __win32_h_included
!
! /*
!  * strcasecmp() is not in Windows, stricmp is, though
!  */
! #define strcasecmp(a,b) stricmp(a,b)
! #define strncasecmp(a,b,c) _strnicmp(a,b,c)
!
! /*
!  * Some other compat functions
!  */
! #ifdef __BORLANDC__
! #define _timeb timeb
! #define _ftime(a) ftime(a)
! #define _strnicmp(a,b,c) strnicmp(a,b,c)
! #define _errno errno
! #else
#define open(a,b,c) _open(a,b,c)
#define close(a) _close(a)
#define read(a,b,c) _read(a,b,c)
#define write(a,b,c) _write(a,b,c)
+ #endif
+
#define popen(a,b) _popen(a,b)
#define pclose(a) _pclose(a)
#define vsnprintf(a,b,c,d) _vsnprintf(a,b,c,d)
#define snprintf _snprintf
!
! /*
!  * crypt not available (yet)
!  */
! #define crypt(a,b) ((char *) a)
!
! #undef EAGAIN /* doesn't apply on sockets */
! #undef EINTR
! #define EINTR WSAEINTR
! #define EWOULDBLOCK WSAEWOULDBLOCK
! #define ECONNRESET WSAECONNRESET
! #define EINPROGRESS WSAEINPROGRESS
!
! /*
!  * support for handling Windows Socket errors
!  */
! extern const char *winsock_strerror(int eno);
!
!
! #endif

[ Attachment, skipping... ]

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073