aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/msvc/gendef.pl7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/tools/msvc/gendef.pl b/src/tools/msvc/gendef.pl
index 8ccaab35519..a6c43c2c392 100644
--- a/src/tools/msvc/gendef.pl
+++ b/src/tools/msvc/gendef.pl
@@ -3,6 +3,7 @@ my @def;
use warnings;
use strict;
use 5.8.0;
+use File::Spec::Functions qw(splitpath catpath);
use List::Util qw(max);
#
@@ -14,9 +15,11 @@ use List::Util qw(max);
sub dumpsyms
{
my ($objfile, $symfile) = @_;
- system("dumpbin /symbols /out:symbols.out $_ >NUL")
+ my ($symvol, $symdirs, $symbase) = splitpath($symfile);
+ my $tmpfile = catpath($symvol, $symdirs, "symbols.out");
+ system("dumpbin /symbols /out:$tmpfile $_ >NUL")
&& die "Could not call dumpbin";
- rename("symbols.out", $symfile);
+ rename($tmpfile, $symfile);
}
# Given a symbol file path, loops over its contents