mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
1593998ae8
Configure tests for the presence of perl modules required for TAP tests, and that they meet specified minimum version requirements. This patch makes it report the version of the module that's actually found rather than just an 'ok' message. This will help in deciding if we can upgrade minimum requirements for these modules. Discussion: https://postgr.es/m/f5e1d308-4e33-37a7-bdf1-f6e0c75119de@dunslane.net
78 lines
2.3 KiB
Plaintext
78 lines
2.3 KiB
Plaintext
# ===========================================================================
|
|
# 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
|