Re: pgsql: Modify pg_dump to use error-free memory allocation macros. This - Mailing list pgsql-committers

From Andrew Dunstan
Subject Re: pgsql: Modify pg_dump to use error-free memory allocation macros. This
Date
Msg-id 4ED0FCF2.7020002@dunslane.net
Whole thread Raw
In response to Re: pgsql: Modify pg_dump to use error-free memory allocation macros. This  (Bruce Momjian <bruce@momjian.us>)
List pgsql-committers

On 11/26/2011 09:18 AM, Bruce Momjian wrote:
> Tom Lane wrote:
>> Bruce Momjian<bruce@momjian.us>  writes:
>>> Modify pg_dump to use error-free memory allocation macros.  This avoids
>>> ignoring errors and call-site error checking.
>> This appears to have broken the MSVC build.  More generally, I'd like to
> Doesn't the MSVC build scrape the Makefiles?  Looking at Mkvcbuild.pm,
> it seems it doesn't for pg_dump?  When exactly does the MSVC build have
> to be adjusted for makefile changes?
>
> I will adjust Mkvcbuild.pm, assuming we want to keep this change.
>


I think the short answer is that the MSVC build system scrapes the
makefile for $OBJS but if you change the files on the target line you
will need to adjust it.

It has this for pg_dump:

         my $pgdump = AddSimpleFrontend('pg_dump', 1);
         $pgdump->AddIncludeDir('src\backend');
         $pgdump->AddFile('src\bin\pg_dump\pg_dump.c');
         $pgdump->AddFile('src\bin\pg_dump\common.c');
         $pgdump->AddFile('src\bin\pg_dump\pg_dump_sort.c');
         $pgdump->AddFile('src\bin\pg_dump\keywords.c');
         $pgdump->AddFile('src\backend\parser\kwlookup.c');


But you have made this change in the makefile:

    -pg_dump: pg_dump.o common.o pg_dump_sort.o $(OBJS) $(KEYWRDOBJS) |
    submake-libpq submake-libpgport
    -   $(CC) $(CFLAGS) pg_dump.o common.o pg_dump_sort.o $(KEYWRDOBJS)
    $(OBJS) $(libpq_pgport) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@$(X)
    +pg_dump: pg_dump.o dumpcatalog.o pg_dump_sort.o $(OBJS)
    $(KEYWRDOBJS) | submake-libpq submake-libpgport
    +   $(CC) $(CFLAGS) pg_dump.o dumpcatalog.o pg_dump_sort.o
    $(KEYWRDOBJS) $(OBJS) $(libpq_pgport) $(LDFLAGS) $(LDFLAGS_EX)
    $(LIBS) -o $@$(X)

so above, I think you would need to replace:

    $pgdump->AddFile('src\bin\pg_dump\common.c');

with

    $pgdump->AddFile('src\bin\pg_dump\dumpcatalog.c');


cheers

andrew

pgsql-committers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: pgsql: Modify pg_dump to use error-free memory allocation macros. This
Next
From: Andrew Dunstan
Date:
Subject: pgsql: Ensure plperl strings are always correctly UTF8 encoded.