aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aclocal.m41
-rw-r--r--config/ax_prog_perl_modules.m477
-rw-r--r--config/check_modules.pl20
-rwxr-xr-xconfigure110
-rw-r--r--configure.ac28
5 files changed, 53 insertions, 183 deletions
diff --git a/aclocal.m4 b/aclocal.m4
index 58ade65046d..1c19c60c596 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,5 +1,4 @@
dnl aclocal.m4
-m4_include([config/ax_prog_perl_modules.m4])
m4_include([config/ax_pthread.m4])
m4_include([config/c-compiler.m4])
m4_include([config/c-library.m4])
diff --git a/config/ax_prog_perl_modules.m4 b/config/ax_prog_perl_modules.m4
deleted file mode 100644
index 664e7aae3bc..00000000000
--- a/config/ax_prog_perl_modules.m4
+++ /dev/null
@@ -1,77 +0,0 @@
-# ===========================================================================
-# https://www.gnu.org/software/autoconf-archive/ax_prog_perl_modules.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_PROG_PERL_MODULES([MODULES], [ACTION-IF-TRUE], [ACTION-IF-FALSE])
-#
-# DESCRIPTION
-#
-# Checks to see if the given perl modules are available. If true the shell
-# commands in ACTION-IF-TRUE are executed. If not the shell commands in
-# ACTION-IF-FALSE are run. Note if $PERL is not set (for example by
-# calling AC_CHECK_PROG, or AC_PATH_PROG), AC_CHECK_PROG(PERL, perl, perl)
-# will be run.
-#
-# MODULES is a space separated list of module names. To check for a
-# minimum version of a module, append the version number to the module
-# name, separated by an equals sign.
-#
-# Example:
-#
-# AX_PROG_PERL_MODULES( Text::Wrap Net::LDAP=1.0.3, ,
-# AC_MSG_WARN(Need some Perl modules)
-#
-# LICENSE
-#
-# Copyright (c) 2009 Dean Povey <povey@wedgetail.com>
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved. This file is offered as-is, without any
-# warranty.
-
-#serial 8
-
-AU_ALIAS([AC_PROG_PERL_MODULES], [AX_PROG_PERL_MODULES])
-AC_DEFUN([AX_PROG_PERL_MODULES],[dnl
-
-m4_define([ax_perl_modules])
-m4_foreach([ax_perl_module], m4_split(m4_normalize([$1])),
- [
- m4_append([ax_perl_modules],
- [']m4_bpatsubst(ax_perl_module,=,[ ])[' ])
- ])
-
-# Make sure we have perl
-if test -z "$PERL"; then
-AC_CHECK_PROG(PERL,perl,perl)
-fi
-
-if test "x$PERL" != x; then
- ax_perl_modules_failed=0
- for ax_perl_module in ax_perl_modules; do
- AC_MSG_CHECKING(for perl module $ax_perl_module)
-
- # Would be nice to log result here, but can't rely on autoconf internals
- modversion=`$PERL -e "use $ax_perl_module; my \\\$x=q($ax_perl_module); \\\$x =~ s/ .*//; \\\$x .= q(::VERSION); eval qq{print \\\\$\\\$x\\n}; exit;" 2>/dev/null`
- if test $? -ne 0; then
- AC_MSG_RESULT(no);
- ax_perl_modules_failed=1
- else
- AC_MSG_RESULT($modversion);
- fi
- done
-
- # Run optional shell commands
- if test "$ax_perl_modules_failed" = 0; then
- :
- $2
- else
- :
- $3
- fi
-else
- AC_MSG_WARN(could not find perl)
-fi])dnl
diff --git a/config/check_modules.pl b/config/check_modules.pl
new file mode 100644
index 00000000000..d5d9ac28c96
--- /dev/null
+++ b/config/check_modules.pl
@@ -0,0 +1,20 @@
+#
+# Verify that required Perl modules are available,
+# in at least the required minimum versions.
+# (The required minimum versions are all quite ancient now,
+# but specify them anyway for documentation's sake.)
+#
+use IPC::Run 0.79;
+
+# Test::More and Time::HiRes are supposed to be part of core Perl,
+# but some distros omit them in a minimal installation.
+use Test::More 0.98;
+use Time::HiRes 1.52;
+
+# While here, we might as well report exactly what versions we found.
+diag("IPC::Run::VERSION: $IPC::Run::VERSION");
+diag("Test::More::VERSION: $Test::More::VERSION");
+diag("Time::HiRes::VERSION: $Time::HiRes::VERSION");
+
+ok(1);
+done_testing();
diff --git a/configure b/configure
index 977b4d3df56..896b7814731 100755
--- a/configure
+++ b/configure
@@ -19410,98 +19410,7 @@ fi
# Check for test tools
#
if test "$enable_tap_tests" = yes; then
- # Check for necessary modules, unless user has specified the "prove" to use;
- # in that case it's her responsibility to have a working configuration.
- # (prove might be part of a different Perl installation than perl, eg on
- # MSys, so the result of AX_PROG_PERL_MODULES could be irrelevant anyway.)
- if test -z "$PROVE"; then
- # Test::More and Time::HiRes are supposed to be part of core Perl,
- # but some distros omit them in a minimal installation.
- # The required minimum versions are all quite ancient now, but specify
- # them anyway for documentation's sake.
-
-
-
-
-
-
-
-
-
-
-# Make sure we have perl
-if test -z "$PERL"; then
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PERL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$PERL"; then
- ac_cv_prog_PERL="$PERL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_PERL="perl"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-PERL=$ac_cv_prog_PERL
-if test -n "$PERL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-
-if test "x$PERL" != x; then
- ax_perl_modules_failed=0
- for ax_perl_module in 'IPC::Run 0.79' 'Test::More 0.98' 'Time::HiRes 1.52' ; do
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl module $ax_perl_module" >&5
-$as_echo_n "checking for perl module $ax_perl_module... " >&6; }
-
- # Would be nice to log result here, but can't rely on autoconf internals
- modversion=`$PERL -e "use $ax_perl_module; my \\\$x=q($ax_perl_module); \\\$x =~ s/ .*//; \\\$x .= q(::VERSION); eval qq{print \\\\$\\\$x\\n}; exit;" 2>/dev/null`
- if test $? -ne 0; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; };
- ax_perl_modules_failed=1
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $modversion" >&5
-$as_echo "$modversion" >&6; };
- fi
- done
-
- # Run optional shell commands
- if test "$ax_perl_modules_failed" = 0; then
- :
-
- else
- :
- as_fn_error $? "Additional Perl modules are required to run TAP tests" "$LINENO" 5
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: could not find perl" >&5
-$as_echo "$as_me: WARNING: could not find perl" >&2;}
-fi
- fi
- # Now make sure we know where prove is
+ # Make sure we know where prove is.
if test -z "$PROVE"; then
for ac_prog in prove
do
@@ -19559,6 +19468,23 @@ fi
if test -z "$PROVE"; then
as_fn_error $? "prove not found" "$LINENO" 5
fi
+ # Check for necessary Perl modules. You might think we should use
+ # 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.
+ { $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; }
+ 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
+ echo "$modulestderr" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ # on failure, though, show the results to the user
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $modulestderr" >&5
+$as_echo "$modulestderr" >&6; }
+ as_fn_error $? "Additional Perl modules are required to run TAP tests" "$LINENO" 5
+ fi
fi
# If compiler will take -Wl,--as-needed (or various platform-specific
diff --git a/configure.ac b/configure.ac
index 95e5169c4f9..b50130b3238 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2377,23 +2377,25 @@ PGAC_PATH_PROGS(DBTOEPUB, dbtoepub)
# Check for test tools
#
if test "$enable_tap_tests" = yes; then
- # Check for necessary modules, unless user has specified the "prove" to use;
- # in that case it's her responsibility to have a working configuration.
- # (prove might be part of a different Perl installation than perl, eg on
- # MSys, so the result of AX_PROG_PERL_MODULES could be irrelevant anyway.)
- if test -z "$PROVE"; then
- # Test::More and Time::HiRes are supposed to be part of core Perl,
- # but some distros omit them in a minimal installation.
- # The required minimum versions are all quite ancient now, but specify
- # them anyway for documentation's sake.
- AX_PROG_PERL_MODULES([IPC::Run=0.79 Test::More=0.98 Time::HiRes=1.52], ,
- [AC_MSG_ERROR([Additional Perl modules are required to run TAP tests])])
- fi
- # Now make sure we know where prove is
+ # Make sure we know where prove is.
PGAC_PATH_PROGS(PROVE, prove)
if test -z "$PROVE"; then
AC_MSG_ERROR([prove not found])
fi
+ # Check for necessary Perl modules. You might think we should use
+ # 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)
+ [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
+ echo "$modulestderr" >&AS_MESSAGE_LOG_FD
+ AC_MSG_RESULT(yes)
+ else
+ # on failure, though, show the results to the user
+ AC_MSG_RESULT([$modulestderr])
+ AC_MSG_ERROR([Additional Perl modules are required to run TAP tests])
+ fi
fi
# If compiler will take -Wl,--as-needed (or various platform-specific