diff options
author | Andrew Dunstan <andrew@dunslane.net> | 2022-02-18 16:59:30 -0500 |
---|---|---|
committer | Andrew Dunstan <andrew@dunslane.net> | 2022-02-20 11:51:44 -0500 |
commit | cf12541f2bd5fd34425ecbb99f056a30ca5b7cae (patch) | |
tree | 2a73ed35f67b62630b3e377cf78bb48978ed3ee7 | |
parent | 69639e2b5c12c6f1eafa9db1a6b7d16e6471ac61 (diff) | |
download | postgresql-cf12541f2bd5fd34425ecbb99f056a30ca5b7cae.tar.gz postgresql-cf12541f2bd5fd34425ecbb99f056a30ca5b7cae.zip |
Ensure the right perl is used for TAP tests on msys
In particular, perl with $Config{osname} = msys should only be used if
the build target is msys (which is currently buildable but not usable).
For builds targeted at native Windows, perl from the ucrt64 toolchain is
suitable.
Discussion: https://postgr.es/m/20220216210141.5glt5isg5qtwty4c@alap3.anarazel.de
-rw-r--r-- | config/check_modules.pl | 5 | ||||
-rwxr-xr-x | configure | 1 | ||||
-rw-r--r-- | configure.ac | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/config/check_modules.pl b/config/check_modules.pl index cc0a7ab0e7a..470c3e9c144 100644 --- a/config/check_modules.pl +++ b/config/check_modules.pl @@ -6,6 +6,7 @@ # use strict; use warnings; +use Config; use IPC::Run 0.79; @@ -19,5 +20,9 @@ diag("IPC::Run::VERSION: $IPC::Run::VERSION"); diag("Test::More::VERSION: $Test::More::VERSION"); diag("Time::HiRes::VERSION: $Time::HiRes::VERSION"); +# Check that if prove is using msys perl it is for an msys target +ok(($ENV{__CONFIG_HOST_OS__} || "") eq 'msys', + "Msys perl used for correct target") + if $Config{osname} eq 'msys'; ok(1); done_testing(); diff --git a/configure b/configure index ca890b8b07e..f3cb5c2b511 100755 --- a/configure +++ b/configure @@ -19758,6 +19758,7 @@ fi # installation than perl, eg on MSys, so we have to check using prove. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Perl modules required for TAP tests" >&5 $as_echo_n "checking for Perl modules required for TAP tests... " >&6; } + __CONFIG_HOST_OS__=$host_os; export __CONFIG_HOST_OS__ modulestderr=`"$PROVE" "$srcdir/config/check_modules.pl" 2>&1 >/dev/null` if test $? -eq 0; then # log the module version details, but don't show them interactively diff --git a/configure.ac b/configure.ac index 331683b3363..19d1a803673 100644 --- a/configure.ac +++ b/configure.ac @@ -2432,6 +2432,7 @@ if test "$enable_tap_tests" = yes; then # AX_PROG_PERL_MODULES here, but prove might be part of a different Perl # installation than perl, eg on MSys, so we have to check using prove. AC_MSG_CHECKING(for Perl modules required for TAP tests) + __CONFIG_HOST_OS__=$host_os; export __CONFIG_HOST_OS__ [modulestderr=`"$PROVE" "$srcdir/config/check_modules.pl" 2>&1 >/dev/null`] if test $? -eq 0; then # log the module version details, but don't show them interactively |