diff --git a/doc/src/sgml/install-windows.sgml b/doc/src/sgml/install-windows.sgml index dff58c2f8a..7e99d0c532 100644 --- a/doc/src/sgml/install-windows.sgml +++ b/doc/src/sgml/install-windows.sgml @@ -511,15 +511,6 @@ $ENV{PERL5LIB}=$ENV{PERL5LIB} . ';c:\IPC-Run-0.94\lib'; </para></listitem> </varlistentry> - <varlistentry> - <term><varname>LZ4</varname></term> - <listitem><para> - Path to a <application>lz4</application> command. The default is - <literal>lz4</literal>, that would be the command found in - <varname>PATH</varname>. - </para></listitem> - </varlistentry> - <varlistentry> <term><varname>TAR</varname></term> <listitem><para> diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index 2d5980eb57..13fa310d6f 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -12,6 +12,7 @@ use File::Basename; use File::Copy; use File::Find (); use File::Path qw(rmtree); +use File::Spec qw(devnull); use FindBin; use lib $FindBin::RealBin; @@ -28,11 +29,13 @@ my $tmp_installdir = "$topdir/tmp_install"; do './src/tools/msvc/config_default.pl'; do './src/tools/msvc/config.pl' if (-f 'src/tools/msvc/config.pl'); +my $devnull = File::Spec->devnull; + # These values are defaults that can be overridden by the calling environment -# (see buildenv.pl processing below). +# (see buildenv.pl processing below). We assume that the ones listed here +# always exist by default. Other values may optionally be set for bincheck +# or taptest, see set_command_env() below. # c.f. src/Makefile.global.in and configure.ac -$ENV{GZIP_PROGRAM} ||= 'gzip'; -$ENV{LZ4} ||= 'lz4'; $ENV{TAR} ||= 'tar'; # buildenv.pl is for specifying the build environment settings @@ -116,6 +119,32 @@ exit 0; ######################################################################## +# Helper function for set_command_env, to set one environment command. +sub set_single_env +{ + my $envname = shift; + my $envdefault = shift; + + # If a command is defined by the environment, just use it. + return if (defined($ENV{$envname})); + + # Nothing is defined, so attempt to assign a default. The command + # may not be in the current environment, hence check if it can be + # executed. + my $rc = system("$envdefault --version >$devnull 2>&1"); + + # Set the environment to the default if it exists, else leave it. + $ENV{$envname} = $envdefault if $rc == 0; + return; +} + +# Set environment values for various command types. These can be used +# in the TAP tests. +sub set_command_env +{ + set_single_env('GZIP_PROGRAM', 'gzip'); +} + sub installcheck_internal { my ($schedule, @EXTRA_REGRESS_OPTS) = @_; @@ -244,6 +273,8 @@ sub bincheck { InstallTemp(); + set_command_env(); + my $mstat = 0; # Find out all the existing TAP tests by looking for t/ directories @@ -277,6 +308,9 @@ sub taptest push(@args, "$topdir/$dir"); InstallTemp(); + + set_command_env(); + my $status = tap_check(@args); exit $status if $status; return;