Until now, it used the current working directory. This makes it safe
for simultaneous invocations of gendef.pl, with different target
directories, to run from a single current working directory, such as
$(top_srcdir). The MSVC build system will soon rely on this.
Christian Ullrich, reviewed by Michael Paquier.
use warnings;
use strict;
use 5.8.0;
use warnings;
use strict;
use 5.8.0;
+use File::Spec::Functions qw(splitpath catpath);
use List::Util qw(max);
#
use List::Util qw(max);
#
sub dumpsyms
{
my ($objfile, $symfile) = @_;
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";
&& die "Could not call dumpbin";
- rename("symbols.out", $symfile);
+ rename($tmpfile, $symfile);
}
# Given a symbol file path, loops over its contents
}
# Given a symbol file path, loops over its contents