mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Replace backslashes by forward slashes in MSVC build code
This makes it possible to run some stages of these build scripts on non-Windows systems. That way, we can more easily test whether file moves or makefile changes might break the MSVC build. Peter Eisentraut and Michael Paquier
This commit is contained in:
@ -52,20 +52,19 @@ sub AddFiles
|
||||
|
||||
while (my $f = shift)
|
||||
{
|
||||
$self->{files}->{ $dir . "\\" . $f } = 1;
|
||||
$self->{files}->{ $dir . "/" . $f } = 1;
|
||||
}
|
||||
}
|
||||
|
||||
sub ReplaceFile
|
||||
{
|
||||
my ($self, $filename, $newname) = @_;
|
||||
my $re = "\\\\$filename\$";
|
||||
my $re = "\\/$filename\$";
|
||||
|
||||
foreach my $file (keys %{ $self->{files} })
|
||||
{
|
||||
|
||||
# Match complete filename
|
||||
if ($filename =~ /\\/)
|
||||
if ($filename =~ m!/!)
|
||||
{
|
||||
if ($file eq $filename)
|
||||
{
|
||||
@ -77,7 +76,7 @@ sub ReplaceFile
|
||||
elsif ($file =~ m/($re)/)
|
||||
{
|
||||
delete $self->{files}{$file};
|
||||
$self->{files}{"$newname\\$filename"} = 1;
|
||||
$self->{files}{"$newname/$filename"} = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -105,7 +104,7 @@ sub RelocateFiles
|
||||
if ($r)
|
||||
{
|
||||
$self->RemoveFile($f);
|
||||
$self->AddFile($targetdir . '\\' . basename($f));
|
||||
$self->AddFile($targetdir . '/' . basename($f));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -118,7 +117,7 @@ sub AddReference
|
||||
{
|
||||
push @{ $self->{references} }, $ref;
|
||||
$self->AddLibrary(
|
||||
"__CFGNAME__\\" . $ref->{name} . "\\" . $ref->{name} . ".lib");
|
||||
"__CFGNAME__/" . $ref->{name} . "/" . $ref->{name} . ".lib");
|
||||
}
|
||||
}
|
||||
|
||||
@ -169,8 +168,8 @@ sub FullExportDLL
|
||||
my ($self, $libname) = @_;
|
||||
|
||||
$self->{builddef} = 1;
|
||||
$self->{def} = ".\\__CFGNAME__\\$self->{name}\\$self->{name}.def";
|
||||
$self->{implib} = "__CFGNAME__\\$self->{name}\\$libname";
|
||||
$self->{def} = "./__CFGNAME__/$self->{name}/$self->{name}.def";
|
||||
$self->{implib} = "__CFGNAME__/$self->{name}/$libname";
|
||||
}
|
||||
|
||||
sub UseDef
|
||||
@ -194,9 +193,9 @@ sub AddDir
|
||||
if $subdir eq "\$(top_builddir)/src/timezone"
|
||||
; #special case for non-standard include
|
||||
next
|
||||
if $reldir . "\\" . $subdir eq "src\\backend\\port\\darwin";
|
||||
if $reldir . "/" . $subdir eq "src/backend/port/darwin";
|
||||
|
||||
$self->AddDir($reldir . "\\" . $subdir);
|
||||
$self->AddDir($reldir . "/" . $subdir);
|
||||
}
|
||||
}
|
||||
while ($mf =~ m{^(?:EXTRA_)?OBJS[^=]*=\s*(.*)$}m)
|
||||
@ -243,13 +242,11 @@ sub AddDir
|
||||
if ($f =~ /^\$\(top_builddir\)\/(.*)/)
|
||||
{
|
||||
$f = $1;
|
||||
$f =~ s/\//\\/g;
|
||||
$self->{files}->{$f} = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$f =~ s/\//\\/g;
|
||||
$self->{files}->{"$reldir\\$f"} = 1;
|
||||
$self->{files}->{"$reldir/$f"} = 1;
|
||||
}
|
||||
}
|
||||
$mf =~ s{OBJS[^=]*=\s*(.*)$}{}m;
|
||||
@ -264,7 +261,6 @@ sub AddDir
|
||||
my $match = $1;
|
||||
my $top = $2;
|
||||
my $target = $3;
|
||||
$target =~ s{/}{\\}g;
|
||||
my @pieces = split /\s+/, $match;
|
||||
foreach my $fn (@pieces)
|
||||
{
|
||||
@ -274,7 +270,7 @@ sub AddDir
|
||||
}
|
||||
elsif ($top eq "(backend_src)")
|
||||
{
|
||||
eval { $self->ReplaceFile($fn, "src\\backend\\$target") };
|
||||
eval { $self->ReplaceFile($fn, "src/backend/$target") };
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -310,12 +306,12 @@ sub AddResourceFile
|
||||
localtime(time);
|
||||
my $d = sprintf("%02d%03d", ($year - 100), $yday);
|
||||
|
||||
if (Solution::IsNewer("$dir\\win32ver.rc", 'src\port\win32ver.rc'))
|
||||
if (Solution::IsNewer("$dir/win32ver.rc", 'src/port/win32ver.rc'))
|
||||
{
|
||||
print "Generating win32ver.rc for $dir\n";
|
||||
open(I, 'src\port\win32ver.rc')
|
||||
open(I, 'src/port/win32ver.rc')
|
||||
|| confess "Could not open win32ver.rc";
|
||||
open(O, ">$dir\\win32ver.rc")
|
||||
open(O, ">$dir/win32ver.rc")
|
||||
|| confess "Could not write win32ver.rc";
|
||||
my $icostr = $ico ? "IDI_ICON ICON \"src/port/$ico.ico\"" : "";
|
||||
while (<I>)
|
||||
@ -332,7 +328,7 @@ sub AddResourceFile
|
||||
}
|
||||
close(O);
|
||||
close(I);
|
||||
$self->AddFile("$dir\\win32ver.rc");
|
||||
$self->AddFile("$dir/win32ver.rc");
|
||||
}
|
||||
|
||||
sub DisableLinkerWarnings
|
||||
@ -415,9 +411,9 @@ sub read_makefile
|
||||
my $t = $/;
|
||||
|
||||
undef $/;
|
||||
open($F, "$reldir\\GNUmakefile")
|
||||
|| open($F, "$reldir\\Makefile")
|
||||
|| croak "Could not open $reldir\\Makefile\n";
|
||||
open($F, "$reldir/GNUmakefile")
|
||||
|| open($F, "$reldir/Makefile")
|
||||
|| confess "Could not open $reldir/Makefile\n";
|
||||
my $txt = <$F>;
|
||||
close($F);
|
||||
$/ = $t;
|
||||
|
Reference in New Issue
Block a user