1
0
mirror of https://github.com/postgres/postgres.git synced 2025-04-29 13:56:47 +03:00

Allow older branches to be built with Visual Studio 2008. This is a backport of commit df0cdd53 to the 8.2, 8.3 and 8.4 branches.

This commit is contained in:
Andrew Dunstan 2011-01-04 16:07:05 -05:00
parent 3be03bae2c
commit ebbf741d5d
2 changed files with 26 additions and 2 deletions

View File

@ -24,6 +24,7 @@ sub new {
defines => ';', defines => ';',
solution => $solution, solution => $solution,
disablewarnings => '4018;4244', disablewarnings => '4018;4244',
vcver => $solution->{vcver}
}; };
bless $self; bless $self;
@ -337,7 +338,7 @@ sub WriteHeader {
print $f <<EOF; print $f <<EOF;
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="$self->{name}" ProjectGUID="$self->{guid}"> <VisualStudioProject ProjectType="Visual C++" Version="$self->{vcver}" Name="$self->{name}" ProjectGUID="$self->{guid}">
<Platforms><Platform Name="Win32"/></Platforms> <Platforms><Platform Name="Win32"/></Platforms>
<Configurations> <Configurations>
EOF EOF

View File

@ -12,11 +12,34 @@ sub new {
options => $options, options => $options,
numver => '', numver => '',
strver => '', strver => '',
vcver => undef,
}; };
bless $self; bless $self;
$self->DetermineToolVersions();
return $self; return $self;
}
sub DetermineToolVersions
{
my $self = shift;
# Determine version of vcbuild command, to set proper verison of visual studio
open(P,"vcbuild /? |") || die "vcbuild command not found";
my $line = <P>;
close(P);
if ($line !~ /^Microsoft \(R\) Visual C\+\+ Project Builder - Command Line Version (\d+)\.00\.\d+/)
{
die "Unable to determine vcbuild version from first line of output!";
}
if ($1 == 8) { $self->{vcver} = '8.00' }
elsif ($1 == 9) { $self->{vcver} = '9.00' }
else { die "Unsupported version of Visual Studio: $1" }
print "Detected Visual Studio version $self->{vcver}\n";
} }
# Return 1 if $oldfile is newer than $newfile, or if $newfile doesn't exist. # Return 1 if $oldfile is newer than $newfile, or if $newfile doesn't exist.
# Special case - if config.pl has changed, always return 1 # Special case - if config.pl has changed, always return 1
sub IsNewer { sub IsNewer {