Skip site navigation (1) Skip section navigation (2)

Re: BCC55 and libpq 8.2

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: L Bayuk <lbayuk(at)pobox(dot)com>
Cc: fabio guidi <f(dot)guidi(at)libero(dot)it>, pgsql-interfaces <pgsql-interfaces(at)postgresql(dot)org>, PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: BCC55 and libpq 8.2
Date: 2007-01-06 01:57:00
Message-ID: 200701060157.l061v0A19508@momjian.us (view raw or flat)
Thread:
Lists: pgsql-interfacespgsql-patches
I have created the following patch based on your description of how to
get BCC compiled.  Please let me know how it works against a stock
PostgreSQL 8.2.X and I can include the patch in 8.2.2.  Sorry it didn't
make it in time for 8.2.1.

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

L Bayuk wrote:
> On Wed, Dec 20, 2006 at 07:51:00PM +0100, fabio guidi wrote:
> >...
> > Hello to all, i'm trying to build libpq for postgresql 8.2 with borland 
> > bcc5.5
> > ...
> 
> I finally found myself in front of Windows PC, with PostgreSQL-8.2.0
> source, Borland BCC32 compiler, and a little time. I was trying to build my
> Pgtclng DLL (http://pgfoundry.org/projects/pgtclng/) which requires the
> libpq DLL.  The bad news is that (as you found) a bunch of stuff got broken
> in 8.2.0 regarding BCC builds of libpq.  The good news is that I succeeded.
> I built the libpq DLL, my Pgtclng DLL, and even the psql program. I tested
> Pgtclng pretty hard with my test suite and it passed, so I am confident the
> libpq build was good in so far as Pgtclng uses it.  But it got some scary
> compiler warnings that I still want to look into.
> 
> I will try to post a patch soon for the bcc32.mak files, but I also had to
> change some other files used by all other builds and I can't see them
> patching those files for BCC. I don't have patch files yet, but if you want
> to try it yourself here are the details.  Unless I missed something, after
> these changes "make -N -f bcc32.mak" inside interfaces/libpq should build
> it for you. There are also a few fixes for building psql I have to post
> some other time. Sorry I don't have this as a patch yet but I figured you
> have waited long enough and might want to try it.
> 
> In include/c.h : 
>   Change: #if defined(__BORLANDC__) || (_MSC_VER >= 1400)
>       to: #if (_MSC_VER >= 1400)
> 
> In include/port.h :
>  Delete the random() declaration, or change it so it looks like this:
>      #if !defined(__BORLANDC__)
>      #ifndef HAVE_RANDOM
>      extern long random(void);
>      #endif
>      #endif
> 
> In include/, copy pg_config.h.win32 to pg_config.h
> In include/, copy port/win32.h to pg_config_os.h and make the following
> changes. I made these conditional on __BORLANDC__, but if you are only
> trying to build the thing just delete or change these lines:
>    Remove #include <sys/utime.h>
>    Remove #define SIGUSR1 and SIGUSR2.
>    Remove declarations of ssize_t and mode_t.
>    Remove #define's of _S_IRWXU through S_ISREG.
>    Replace the definitions so inline and __inline__ are defined to nothing.
>     (Might not be necessary, but it was in my notes from prior releases.)
> 
> In interfaces/libpq/bcc32.mak:
>    Add "snprintf.obj" to the LIB32_OBJS macro, and add the block which
>       builds it: Copy the applicable lines from win32.mak.
>    I always had to make these two changes to bcc32.mak for Pgtclng, but
>    this could be specific to linking with Tcl so you might not need it.
>       1) Add -c to LINK32_FLAGS (makes it case sensitive).
>       2) Change runtime library from cw32mti.lib to cw32mt.lib (static version)
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
> 
>                http://www.postgresql.org/docs/faq

-- 
  Bruce Momjian   bruce(at)momjian(dot)us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Attachment: /pgpatches/bcc
Description: text/x-diff (5.9 KB)

In response to

Responses

pgsql-patches by date

Next:From: Tom LaneDate: 2007-01-06 02:28:38
Subject: pgsql: Put back ERANGE test in dpow().
Previous:From: Albert Cervera ArenyDate: 2007-01-06 00:11:59
Subject: Re: Tablespace for temporary objects and sort files

pgsql-interfaces by date

Next:From: L BayukDate: 2007-01-07 23:19:09
Subject: Re: BCC55 and libpq 8.2
Previous:From: L BayukDate: 2007-01-03 01:22:32
Subject: BCC-built psql does not work

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group