diff options
author | Neil Conway | 2007-01-10 04:02:05 +0000 |
---|---|---|
committer | Neil Conway | 2007-01-10 04:02:05 +0000 |
commit | 7455bdaf0b20b9c8fd618a4766ace89ede2e9d40 (patch) | |
tree | 8edfface76a0f8a4d210da2002f51b7efd83bf8f | |
parent | 8aa0ef78aefd027a0bd24a88f0a053e37185e6fa (diff) |
Attached patch fixes two problems:
1) gendef works from inside visual studio - use a tempfile instead of
redirection, because for some reason you can't redirect dumpbin from
inside (patch from Joachim Wieland)
2) gendef must process only *.obj, or you get weird errors in some build
scenarios when it tries to process a logfile
Magnus Hagander
-rw-r--r-- | src/tools/msvc/gendef.pl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tools/msvc/gendef.pl b/src/tools/msvc/gendef.pl index d5d9bc78c7..675d8423b4 100644 --- a/src/tools/msvc/gendef.pl +++ b/src/tools/msvc/gendef.pl @@ -10,9 +10,10 @@ if (-f "$ARGV[0]/$defname.def") { print "Generating $defname.DEF from directory $ARGV[0]\n"; -while (<$ARGV[0]/*>) { +while (<$ARGV[0]/*.obj>) { print "."; - open(F,"dumpbin /symbols $_|") || die "Could not open $_\n"; + 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/; @@ -31,6 +32,7 @@ while (<$ARGV[0]/*>) { push @def, $pieces[6]; } close(F); + unlink("symbols.out"); } print "\n"; |