summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan2018-10-28 16:22:32 +0000
committerAndrew Dunstan2018-10-28 16:22:32 +0000
commit1df92eeafefac471b8bcb00244452c645e4e14fd (patch)
tree35f2096d01e8efdfd47e97ed65f681585b23e0d7
parent5953c99697621174f50aa219a3cd457212968268 (diff)
Fix perl searchpath for modern perl for MSVC tools
Modern versions of perl no longer include the current directory in the perl searchpath, as it's insecure. Instead of adding the current directory, we get around the problem by adding the directory where the script lives. Problem noted by Victor Wagner. Solution adapted from buildfarm client code. Backpatch to all live versions.
-rwxr-xr-xsrc/tools/msvc/install.pl4
-rw-r--r--src/tools/msvc/mkvcbuild.pl4
-rw-r--r--src/tools/msvc/vcregress.pl2
3 files changed, 10 insertions, 0 deletions
diff --git a/src/tools/msvc/install.pl b/src/tools/msvc/install.pl
index b2d7f9e040..90425ca8fc 100755
--- a/src/tools/msvc/install.pl
+++ b/src/tools/msvc/install.pl
@@ -6,6 +6,10 @@
use strict;
use warnings;
+use File::Basename;
+use File::Spec;
+BEGIN { use lib File::Spec->rel2abs(dirname(__FILE__)); }
+
use Install qw(Install);
# buildenv.pl is for specifying the build environment settings
diff --git a/src/tools/msvc/mkvcbuild.pl b/src/tools/msvc/mkvcbuild.pl
index 9255dff022..34e861375c 100644
--- a/src/tools/msvc/mkvcbuild.pl
+++ b/src/tools/msvc/mkvcbuild.pl
@@ -7,6 +7,10 @@
use strict;
use warnings;
+use File::Basename;
+use File::Spec;
+BEGIN { use lib File::Spec->rel2abs(dirname(__FILE__)); }
+
use Mkvcbuild;
chdir('..\..\..') if (-d '..\msvc' && -d '..\..\..\src');
diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl
index ce5c976c16..26ab707d9f 100644
--- a/src/tools/msvc/vcregress.pl
+++ b/src/tools/msvc/vcregress.pl
@@ -11,6 +11,8 @@ use File::Basename;
use File::Copy;
use File::Find ();
use File::Path qw(rmtree);
+use File::Spec;
+BEGIN { use lib File::Spec->rel2abs(dirname(__FILE__)); }
use Install qw(Install);