#
# 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;
$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);
#
# 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;
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 (<I>)
- {
- 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"))
{
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 (<I>)
+ {
+ 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) = @_;