Received: from localhost (maia-4.hub.org [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id EEB6E9FA3A7 for ; Thu, 28 Dec 2006 22:19:13 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-new, port 10024) with ESMTP id 55655-01 for ; Thu, 28 Dec 2006 22:19:07 -0400 (AST) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.4 Received: from svr4.postgresql.org (svr4.postgresql.org [66.98.251.159]) by postgresql.org (Postfix) with ESMTP id A94F59FA2FD for ; Thu, 28 Dec 2006 22:19:06 -0400 (AST) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.3 Received: from elasmtp-dupuy.atl.sa.earthlink.net (elasmtp-dupuy.atl.sa.earthlink.net [209.86.89.62]) by svr4.postgresql.org (Postfix) with ESMTP id 3EC945AF039 for ; Fri, 29 Dec 2006 02:19:06 +0000 (GMT) Received: from [4.238.181.122] (helo=mindspring.com) by elasmtp-dupuy.atl.sa.earthlink.net with asmtp (TLSv1:AES256-SHA:256) (Exim 4.34) id 1H07Kk-0003UA-Md; Thu, 28 Dec 2006 21:19:00 -0500 Received: (from lbayuk@localhost) by mindspring.com (8.13.7/8.13.7) id kBT2DrYW000447; Thu, 28 Dec 2006 21:13:53 -0500 Date: Thu, 28 Dec 2006 21:13:53 -0500 From: L Bayuk To: fabio guidi Cc: pgsql-interfaces Subject: Re: BCC55 and libpq 8.2 Message-ID: <20061229021353.GA444@mail.mindspring.com> References: <45898614.80702@libero.it> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45898614.80702@libero.it> User-Agent: Mutt/1.4.2.2i X-ELNK-Trace: 7a0205cf9d42df0a5e89bb4777695beb69025943178dce0b1624c1485a576cb7f1af296bceacc2db350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 4.238.181.122 X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.093 tagged_above=0 required=5 tests=AWL, BAYES_50, FORGED_RCVD_HELO X-Spam-Level: X-Archive-Number: 200612/40 X-Sequence-Number: 6374 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 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)