Here is the patch you submitted. Did you mean to uncomment out the BCB line:
! BCB=c:\Borland\Bcc55 Also, did you mean to remove the trailing G on this line: ! CPP_PROJ = $(CPP_PROJ) -O -Oi -OS -DNDEBU --------------------------------------------------------------------------- Steve Holdoway wrote: > Bruce Momjian wrote: > > >Steve Holdoway wrote: > > > > > >>Bruce Momjian wrote: > >> > >> > >> > >>>Steve Holdoway wrote: > >>> > >>> > >>> > >>> > >>>>Sorry to be a pest, and all that. However, it looks like make needs to > >>>>be run in src\port, to create pg_config_paths.h, and compile stuff to > >>>>resolve externals _set_noblock, _pg_strcasecmp, _pg_tolower, and _popen > >>>>(? bit worried about that one!) > >>>> > >>>>I had a go at rewriting an existing bcc32.mak, but just seemed to > >>>>generate more errors! > >>>> > >>>> > >>>> > >>>> > >>>Uh, I don't see how those would fail. What errors are you seeing? > >>> > >>> > >>> > >>> > >>> > >>Well, in the port subdirectory, one of the things that is generated by > >>the makefile is pg_config_paths.h. Without this, libpq will not compile. > >>As I stated above, cobbling this together manually then gets me to the > >>place where the aforementioned external references are not resolved. All > >>are in source files in the port directory. > >> > >>The errors I'm seeing are all caused by includes not being found, etc. I > >>don't know what to do when they are ones like strings.h, which I do not > >>have either in the snapshot source tree, or in the Borland bcc 5.5 tree. > >> > >>I also don't know how you want the above files building... into a > >>library, static or dynamic/straight object code, etc. There is also no > >>listing in the current bcc32.mak files to include them into the libpq > >>dll generation. > >> > >> > > > >OK, if you look at the last few commits to interfaces/libpq/win32.mak, > >you will see changes for pg_config_paths.h and for thread safety. Can > >you look at those changes, merge them into bcc.mak. There might be > >other changes in there you want to add to bcc.mak too. > > > > > > > OK, having no M$ diff, I attach files src\interfaces\libpq\bcc32.mak and > src\interfaces\libpq\win32.h > > bcc32.mak incorporates the changes in win32.mak, and adds a couple of > extra source files from the ..\..\port directory, and win32.h was used > to #define popen -> _popen. > > All seems to work after a *very* cursory test! > > Can I get back to the land of proper slashes now??? > > Cheers, > > Steve > # 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=c:\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 -DNDEBU > !endif > > LIB32=tlib.exe > LIB32_FLAGS= > LIB32_OBJS= \ > "$(OUTDIR)\win32.obj" \ > "$(INTDIR)\getaddrinfo.obj" \ > "$(INTDIR)\thread.obj" \ > "$(INTDIR)\inet_aton.obj" \ > "$(INTDIR)\crypt.obj" \ > "$(INTDIR)\path.obj" \ > "$(INTDIR)\noblock.obj" \ > "$(INTDIR)\pgstrcasecmp.obj" \ > "$(INTDIR)\dllist.obj" \ > "$(INTDIR)\md5.obj" \ > "$(INTDIR)\ip.obj" \ > "$(INTDIR)\fe-auth.obj" \ > "$(INTDIR)\fe-protocol2.obj" \ > "$(INTDIR)\fe-protocol3.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 -i$(BCB)\include -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 = .;..\..\port;..\..\backend\libpq;..\..\backend\lib;..\..\backend\utils\mb > > # --------------------------------------------------------------------------- > > ALL: config "$(OUTDIR)" "$(OUTDIR)\blibpq.dll" "$(OUTDIR)\blibpq.lib" > > CLEAN : > [EMAIL PROTECTED] "$(INTDIR)\getaddrinfo.obj" > [EMAIL PROTECTED] "$(INTDIR)\thread.obj" > [EMAIL PROTECTED] "$(INTDIR)\inet_aton.obj" > [EMAIL PROTECTED] "$(INTDIR)\crypt.obj" > [EMAIL PROTECTED] "$(INTDIR)\path.obj" > [EMAIL PROTECTED] "$(INTDIR)\dllist.obj" > [EMAIL PROTECTED] "$(INTDIR)\md5.obj" > [EMAIL PROTECTED] "$(INTDIR)\ip.obj" > [EMAIL PROTECTED] "$(INTDIR)\fe-auth.obj" > [EMAIL PROTECTED] "$(INTDIR)\fe-protocol2.obj" > [EMAIL PROTECTED] "$(INTDIR)\fe-protocol3.obj" > [EMAIL PROTECTED] "$(INTDIR)\fe-connect.obj" > [EMAIL PROTECTED] "$(INTDIR)\fe-exec.obj" > [EMAIL PROTECTED] "$(INTDIR)\fe-lobj.obj" > [EMAIL PROTECTED] "$(INTDIR)\fe-misc.obj" > [EMAIL PROTECTED] "$(INTDIR)\fe-print.obj" > [EMAIL PROTECTED] "$(INTDIR)\fe-secure.obj" > [EMAIL PROTECTED] "$(INTDIR)\pqexpbuffer.obj" > [EMAIL PROTECTED] "$(OUTDIR)\libpqdll.obj" > [EMAIL PROTECTED] "$(OUTDIR)\win32.obj" > [EMAIL PROTECTED] "$(INTDIR)\wchar.obj" > [EMAIL PROTECTED] "$(INTDIR)\encnames.obj" > [EMAIL PROTECTED] "$(INTDIR)\noblock.obj" > [EMAIL PROTECTED] "$(INTDIR)\pgstrcasecmp.obj" > [EMAIL PROTECTED] "$(OUTDIR)\libpq.res" > [EMAIL PROTECTED] "$(OUTDIR)\blibpq.lib" > [EMAIL PROTECTED] "$(OUTDIR)\blibpqdll.lib" > [EMAIL PROTECTED] "$(OUTDIR)\blibpq.dll" > [EMAIL PROTECTED] "$(OUTDIR)\blibpq.tds" > > config: ..\..\include\pg_config.h pthread.h pg_config_paths.h > > ..\..\include\pg_config.h: ..\..\include\pg_config.h.win32 > copy ..\..\include\pg_config.h.win32 ..\..\include\pg_config.h > > pthread.h: pthread.h.win32 > copy pthread.h.win32 pthread.h > > pg_config_paths.h: win32.mak > echo #define SYSCONFDIR "" >pg_config_paths.h > > "$(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 -w "$(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) $< > [ text/x-c-header is unsupported, treating like TEXT/PLAIN ] > #ifndef __win32_h_included > #define __win32_h_included > > /* > * Some compatibility functions > */ > #ifdef __BORLANDC__ > #define _timeb timeb > #define _ftime(a) ftime(a) > #define _errno errno > #define popen(a,b) _popen(a,b) > #else > /* open provided elsewhere */ > #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 vsnprintf(a,b,c,d) _vsnprintf(a,b,c,d) > #define snprintf _snprintf > > #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 err, char *strerrbuf, size_t buflen); > > #endif > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to [EMAIL PROTECTED] so that your > message can get through to the mailing list cleanly -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
*** bcc32.mak Sun Nov 30 01:01:15 2003 --- /users/pgman/bcc32.mak Sun Jul 25 21:57:20 2004 *************** *** 4,10 **** # 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 --- 4,10 ---- # and a Win32 dynamic library libpq.dll with import library libpqdll.lib # Borland C++ base install directory goes here ! BCB=c:\Borland\Bcc55 !MESSAGE Building the Win32 DLL and Static Library... !MESSAGE *************** *** 56,62 **** !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 --- 56,62 ---- !IFDEF DEBUG CPP_PROJ = $(CPP_PROJ) -Od -r- -k -v -y -vi- -D_DEBUG !else ! CPP_PROJ = $(CPP_PROJ) -O -Oi -OS -DNDEBU !endif LIB32=tlib.exe *************** *** 68,73 **** --- 68,75 ---- "$(INTDIR)\inet_aton.obj" \ "$(INTDIR)\crypt.obj" \ "$(INTDIR)\path.obj" \ + "$(INTDIR)\noblock.obj" \ + "$(INTDIR)\pgstrcasecmp.obj" \ "$(INTDIR)\dllist.obj" \ "$(INTDIR)\md5.obj" \ "$(INTDIR)\ip.obj" \ *************** *** 82,88 **** "$(INTDIR)\fe-secure.obj" \ "$(INTDIR)\pqexpbuffer.obj" \ "$(INTDIR)\wchar.obj" \ ! "$(INTDIR)\encnames.obj" RSC=brcc32.exe RSC_PROJ=-l 0x409 -i$(BCB)\include -fo"$(INTDIR)\libpq.res" --- 84,91 ---- "$(INTDIR)\fe-secure.obj" \ "$(INTDIR)\pqexpbuffer.obj" \ "$(INTDIR)\wchar.obj" \ ! "$(INTDIR)\encnames.obj" ! RSC=brcc32.exe RSC_PROJ=-l 0x409 -i$(BCB)\include -fo"$(INTDIR)\libpq.res" *************** *** 98,104 **** # --------------------------------------------------------------------------- ! ALL: "$(OUTDIR)" "$(OUTDIR)\blibpq.dll" "$(OUTDIR)\blibpq.lib" CLEAN : [EMAIL PROTECTED] "$(INTDIR)\getaddrinfo.obj" --- 101,107 ---- # --------------------------------------------------------------------------- ! ALL: config "$(OUTDIR)" "$(OUTDIR)\blibpq.dll" "$(OUTDIR)\blibpq.lib" CLEAN : [EMAIL PROTECTED] "$(INTDIR)\getaddrinfo.obj" *************** *** 123,134 **** --- 126,149 ---- [EMAIL PROTECTED] "$(OUTDIR)\win32.obj" [EMAIL PROTECTED] "$(INTDIR)\wchar.obj" [EMAIL PROTECTED] "$(INTDIR)\encnames.obj" + [EMAIL PROTECTED] "$(INTDIR)\noblock.obj" + [EMAIL PROTECTED] "$(INTDIR)\pgstrcasecmp.obj" [EMAIL PROTECTED] "$(OUTDIR)\libpq.res" [EMAIL PROTECTED] "$(OUTDIR)\blibpq.lib" [EMAIL PROTECTED] "$(OUTDIR)\blibpqdll.lib" [EMAIL PROTECTED] "$(OUTDIR)\blibpq.dll" [EMAIL PROTECTED] "$(OUTDIR)\blibpq.tds" + config: ..\..\include\pg_config.h pthread.h pg_config_paths.h + + ..\..\include\pg_config.h: ..\..\include\pg_config.h.win32 + copy ..\..\include\pg_config.h.win32 ..\..\include\pg_config.h + + pthread.h: pthread.h.win32 + copy pthread.h.win32 pthread.h + + pg_config_paths.h: win32.mak + echo #define SYSCONFDIR "" >pg_config_paths.h "$(OUTDIR)" : @if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" *************** *** 136,144 **** "$(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 -w "$(OUTDIR)\blibpqdll.lib" blibpqdll.def $@ --- 151,159 ---- "$(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 -w "$(OUTDIR)\blibpqdll.lib" blibpqdll.def $@ *************** *** 151,156 **** --- 166,172 ---- +-"$(**: =" &^ +-")" ! + .c.obj: $(CPP) -o"$(INTDIR)\$&" $(CPP_PROJ) $< *** win32.h Thu May 6 20:57:59 2004 --- /users/pgman/win32.h Sun Jul 25 21:57:26 2004 *************** *** 8,13 **** --- 8,14 ---- #define _timeb timeb #define _ftime(a) ftime(a) #define _errno errno + #define popen(a,b) _popen(a,b) #else /* open provided elsewhere */ #define close(a) _close(a)
---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org