]> granicus.if.org Git - postgresql/commitdiff
Unify searchpath and do file logic in MSVC build scripts.
authorAndrew Dunstan <andrew@dunslane.net>
Wed, 6 Feb 2019 12:32:35 +0000 (07:32 -0500)
committerAndrew Dunstan <andrew@dunslane.net>
Wed, 6 Feb 2019 12:36:02 +0000 (07:36 -0500)
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.

src/tools/msvc/build.pl

index 1720bc873ab417d1b16187f2090157ece4215c20..f242d569dd864b4c2ac68c8fec57f620f1f13692 100644 (file)
@@ -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);