Re: pgsql: Make pg_dumpall build with the right object files under MSVC.

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Bruce Momjian <bruce@momjian.us>
Cc: pgsql-committers@postgresql.org
Date: 2011-11-28T17:40:24Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Make pg_dumpall build with the right object files under MSVC.


On 11/28/2011 11:33 AM, Bruce Momjian wrote:
> Andrew Dunstan wrote:
>> Make pg_dumpall build with the right object files under MSVC.
>>
>> This fixes a longstanding but up to now benign bug in the way pg_dumpall
>> was built. The bug was exposed by recent code adjustments. The Makefile
>> does not use $(OBJS) to build pg_dumpall, so this fix removes their source
>> files from the pg_dumpall object and adds in the one source file it
>> consequently needs.
> In summary, for those watching, pg_dump and pg_restore used to share
> OBJS, and with my new patch, dumpmem.c is now shared by those and
> pg_dumpall.  Seems the MSVC code previously could not handle that case,
> which is fixed by this patch.
>

Er, no. Only dumputils.c is shared with pg_dumpall. dumpmem.c is not 
(see the Makefile).

The problem that arose is that pg_dumpall has its own (non-static) 
versions of pg_malloc and pg_strdup, so we got duplicate symbol errors 
from the newly declared dumpmem.c functions when we erroneously tried 
linking it in on MSVC.

cheers

andrew