#
# Script that generates a .DEF file for all objects in a directory
#
-# $PostgreSQL: pgsql/src/tools/msvc/gendef.pl,v 1.6 2007/05/03 14:04:03 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/gendef.pl,v 1.7 2008/01/31 03:26:14 adunstan Exp $
#
die "Usage: gendef.pl <modulepath>\n" unless ($ARGV[0] =~ /\\([^\\]+$)/);
while (<$ARGV[0]/*.obj>)
{
+ my $symfile = $_;
+ $symfile=~ s/\.obj$/.sym/i;
print ".";
system("dumpbin /symbols /out:symbols.out $_ >NUL") && die "Could not call dumpbin";
open(F, "<symbols.out") || die "Could not open symbols.out for $_\n";
while (<F>)
{
s/\(\)//g;
- next unless /^\d/;
my @pieces = split;
+ next unless $pieces[0] =~ /^[A-F0-9]{3}$/;
next unless $pieces[6];
next if ($pieces[2] eq "UNDEF");
next unless ($pieces[4] eq "External");
push @def, $pieces[6];
}
close(F);
- unlink("symbols.out");
+ rename("symbols.out",$symfile);
}
print "\n";