1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-11 10:01:57 +03:00

Add basic build support for Visual Studio 2008, without resorting to

generating the build files for 2005 and then converting them.
This commit is contained in:
Magnus Hagander
2009-12-23 13:27:04 +00:00
parent 4e766f2d17
commit df0cdd53d6
2 changed files with 27 additions and 4 deletions

View File

@ -3,7 +3,7 @@ package Solution;
#
# Package that encapsulates a Visual C++ solution file generation
#
# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.48 2009/09/19 05:56:50 adunstan Exp $
# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.49 2009/12/23 13:27:04 mha Exp $
#
use Carp;
use strict;
@ -20,6 +20,7 @@ sub new
options => $options,
numver => '',
strver => '',
vcver => undef,
};
bless $self;
# integer_datetimes is now the default
@ -51,9 +52,30 @@ sub new
unless $options->{wal_segsize}; # undef or 0 means default
die "Bad wal_segsize $options->{wal_segsize}"
unless grep {$_ == $options->{wal_segsize}} (1,2,4,8,16,32,64);
$self->DetermineToolVersions();
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.
# Special case - if config.pl has changed, always return 1
sub IsNewer