aboutsummaryrefslogtreecommitdiff
path: root/src/tools/msvc/gendef.pl
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/msvc/gendef.pl')
-rw-r--r--src/tools/msvc/gendef.pl10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/tools/msvc/gendef.pl b/src/tools/msvc/gendef.pl
index 05455787cbb..81ce9f4dbbf 100644
--- a/src/tools/msvc/gendef.pl
+++ b/src/tools/msvc/gendef.pl
@@ -2,11 +2,13 @@ my @def;
#
# Script that generates a .DEF file for all objects in a directory
#
-# $PostgreSQL: pgsql/src/tools/msvc/gendef.pl,v 1.8 2008/01/31 16:30:24 adunstan Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/gendef.pl,v 1.9 2010/01/01 17:34:25 mha Exp $
#
-die "Usage: gendef.pl <modulepath>\n" unless ($ARGV[0] =~ /\\([^\\]+$)/);
+die "Usage: gendef.pl <modulepath> <platform>\n" unless
+ (($ARGV[0] =~ /\\([^\\]+$)/) && ($ARGV[1] == 'Win32' || $ARGV[1] == 'x64'));
my $defname = uc $1;
+my $platform = $ARGV[1];
if (-f "$ARGV[0]/$defname.def")
{
@@ -14,7 +16,7 @@ if (-f "$ARGV[0]/$defname.def")
exit(0);
}
-print "Generating $defname.DEF from directory $ARGV[0]\n";
+print "Generating $defname.DEF from directory $ARGV[0], platform $platform\n";
while (<$ARGV[0]/*.obj>)
{
@@ -55,7 +57,7 @@ foreach my $f (sort @def)
{
next if ($f eq $last);
$last = $f;
- $f =~ s/^_//;
+ $f =~ s/^_// unless ($platform eq "x64"); # win64 has new format of exports
$i++;
# print DEF " $f \@ $i\n"; # ordinaled exports?