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

Reply via email to