From c8792c86f237c25e0c989678c2d3458782e7d4e0 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Wed, 3 Oct 2007 12:11:00 +0000 Subject: [PATCH] Build DEF file for libecpg instead of generating a default one. --- src/tools/msvc/Mkvcbuild.pm | 3 ++- src/tools/msvc/Solution.pm | 41 +++++++++++++++++++++++++---------------- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 8c00159ccf..9cd0e1f5c5 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -3,7 +3,7 @@ package Mkvcbuild; # # Package that generates build files for msvc build # -# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.18 2007/09/29 07:15:33 mha Exp $ +# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.19 2007/10/03 12:11:00 mha Exp $ # use Carp; use Win32; @@ -144,6 +144,7 @@ sub mkvcbuild $libecpg->AddIncludeDir('src\interfaces\ecpg\include'); $libecpg->AddIncludeDir('src\interfaces\libpq'); $libecpg->AddIncludeDir('src\port'); + $libecpg->UseDef('src\interfaces\ecpg\ecpglib\ecpglib.def'); $libecpg->AddLibrary('wsock32.lib'); $libecpg->AddReference($libpq,$pgtypes,$libpgport); diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index 1c460dc54f..95f91332c5 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -3,7 +3,7 @@ package Solution; # # Package that encapsulates a Visual C++ solution file generation # -# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.32 2007/09/03 02:51:47 tgl Exp $ +# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.33 2007/10/03 12:11:00 mha Exp $ # use Carp; use strict; @@ -139,21 +139,8 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY close(I); } - if (IsNewer("src\\interfaces\\libpq\\libpqdll.def","src\\interfaces\\libpq\\exports.txt")) - { - print "Generating libpqdll.def...\n"; - open(I,"src\\interfaces\\libpq\\exports.txt") || confess("Could not open exports.txt\n"); - open(O,">src\\interfaces\\libpq\\libpqdll.def") || confess("Could not open libpqdll.def\n"); - print O "LIBRARY LIBPQ\nEXPORTS\n"; - while () - { - next if (/^#/); - my ($f, $o) = split; - print O " $f @ $o\n"; - } - close(O); - close(I); - } + $self->GenerateDefFile("src\\interfaces\\libpq\\libpqdll.def","src\\interfaces\\libpq\\exports.txt","LIBPQ"); + $self->GenerateDefFile("src\\interfaces\\ecpg\\ecpglib\\ecpglib.def","src\\interfaces\\ecpg\\ecpglib\\exports.txt","LIBECPG"); if (IsNewer("src\\backend\\utils\\fmgrtab.c","src\\include\\catalog\\pg_proc.h")) { @@ -304,6 +291,28 @@ EOF close(O); } +sub GenerateDefFile +{ + my ($self, $deffile, $txtfile, $libname) = @_; + + if (IsNewer($deffile,$txtfile)) + { + print "Generating $deffile...\n"; + open(I,$txtfile) || confess("Could not open $txtfile\n"); + open(O,">$deffile") || confess("Could not open $deffile\n"); + print O "LIBRARY $libname\nEXPORTS\n"; + while () + { + next if (/^#/); + next if (/^\s*$/); + my ($f, $o) = split; + print O " $f @ $o\n"; + } + close(O); + close(I); + } +} + sub AddProject { my ($self, $name, $type, $folder, $initialdir) = @_; -- 2.11.0