aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2019-02-06 07:32:35 -0500
committerAndrew Dunstan <andrew@dunslane.net>2019-02-06 07:36:02 -0500
commit592123efbb60443d717ab8da9c6735aaec88ac44 (patch)
treec85d3e5bc9e61c938b0a6ea4db8529abed51ef1d
parent171e0418b03dc103d5d9bdc0bfaadbb193dd7fd6 (diff)
downloadpostgresql-592123efbb60443d717ab8da9c6735aaec88ac44.tar.gz
postgresql-592123efbb60443d717ab8da9c6735aaec88ac44.zip
Unify searchpath and do file logic in MSVC build scripts.
Commit f83419b739 failed to notice that mkvcbuild.pl and build.pl use different searchpath and do-file logic, breaking the latter, so it is adjusted to use the same logic as mkvcbuild.pl.
-rw-r--r--src/tools/msvc/build.pl19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/tools/msvc/build.pl b/src/tools/msvc/build.pl
index 1720bc873ab..f242d569dd8 100644
--- a/src/tools/msvc/build.pl
+++ b/src/tools/msvc/build.pl
@@ -4,19 +4,18 @@
use strict;
-BEGIN
-{
-
- chdir("../../..") if (-d "../msvc" && -d "../../../src");
-
-}
-
-use lib "src/tools/msvc";
+use File::Basename;
+use File::Spec;
+BEGIN { use lib File::Spec->rel2abs(dirname(__FILE__)); }
use Cwd;
use Mkvcbuild;
+chdir('..\..\..') if (-d '..\msvc' && -d '..\..\..\src');
+die 'Must run from root or msvc directory'
+ unless (-d 'src\tools\msvc' && -d 'src');
+
# buildenv.pl is for specifying the build environment settings
# it should contain lines like:
# $ENV{PATH} = "c:/path/to/bison/bin;$ENV{PATH}";
@@ -32,8 +31,8 @@ elsif (-e "./buildenv.pl")
# set up the project
our $config;
-do "./config_default.pl";
-do "./config.pl" if (-f "src/tools/msvc/config.pl");
+do "./src/tools/msvc/config_default.pl";
+do "./src/tools/msvc/config.pl" if (-f "src/tools/msvc/config.pl");
my $vcver = Mkvcbuild::mkvcbuild($config);