|
| 1 | +# =========================================================================== |
| 2 | +# http://www.gnu.org/software/autoconf-archive/ax_prog_perl_modules.html |
| 3 | +# =========================================================================== |
| 4 | +# |
| 5 | +# SYNOPSIS |
| 6 | +# |
| 7 | +# AX_PROG_PERL_MODULES([MODULES], [ACTION-IF-TRUE], [ACTION-IF-FALSE]) |
| 8 | +# |
| 9 | +# DESCRIPTION |
| 10 | +# |
| 11 | +# Checks to see if the given perl modules are available. If true the shell |
| 12 | +# commands in ACTION-IF-TRUE are executed. If not the shell commands in |
| 13 | +# ACTION-IF-FALSE are run. Note if $PERL is not set (for example by |
| 14 | +# calling AC_CHECK_PROG, or AC_PATH_PROG), AC_CHECK_PROG(PERL, perl, perl) |
| 15 | +# will be run. |
| 16 | +# |
| 17 | +# MODULES is a space separated list of module names. To check for a |
| 18 | +# minimum version of a module, append the version number to the module |
| 19 | +# name, separated by an equals sign. |
| 20 | +# |
| 21 | +# Example: |
| 22 | +# |
| 23 | +# AX_PROG_PERL_MODULES( Text::Wrap Net::LDAP=1.0.3, , |
| 24 | +# AC_MSG_WARN(Need some Perl modules) |
| 25 | +# |
| 26 | +# LICENSE |
| 27 | +# |
| 28 | +# Copyright (c) 2009 Dean Povey <[email protected]> |
| 29 | +# |
| 30 | +# Copying and distribution of this file, with or without modification, are |
| 31 | +# permitted in any medium without royalty provided the copyright notice |
| 32 | +# and this notice are preserved. This file is offered as-is, without any |
| 33 | +# warranty. |
| 34 | + |
| 35 | +#serial 7 |
| 36 | + |
| 37 | +AU_ALIAS([AC_PROG_PERL_MODULES], [AX_PROG_PERL_MODULES]) |
| 38 | +AC_DEFUN([AX_PROG_PERL_MODULES],[dnl |
| 39 | +
|
| 40 | +m4_define([ax_perl_modules]) |
| 41 | +m4_foreach([ax_perl_module], m4_split(m4_normalize([$1])), |
| 42 | + [ |
| 43 | + m4_append([ax_perl_modules], |
| 44 | + [']m4_bpatsubst(ax_perl_module,=,[ ])[' ]) |
| 45 | + ]) |
| 46 | +
|
| 47 | +# Make sure we have perl |
| 48 | +if test -z "$PERL"; then |
| 49 | +AC_CHECK_PROG(PERL,perl,perl) |
| 50 | +fi |
| 51 | +
|
| 52 | +if test "x$PERL" != x; then |
| 53 | + ax_perl_modules_failed=0 |
| 54 | + for ax_perl_module in ax_perl_modules; do |
| 55 | + AC_MSG_CHECKING(for perl module $ax_perl_module) |
| 56 | +
|
| 57 | + # Would be nice to log result here, but can't rely on autoconf internals |
| 58 | + $PERL -e "use $ax_perl_module; exit" > /dev/null 2>&1 |
| 59 | + if test $? -ne 0; then |
| 60 | + AC_MSG_RESULT(no); |
| 61 | + ax_perl_modules_failed=1 |
| 62 | + else |
| 63 | + AC_MSG_RESULT(ok); |
| 64 | + fi |
| 65 | + done |
| 66 | +
|
| 67 | + # Run optional shell commands |
| 68 | + if test "$ax_perl_modules_failed" = 0; then |
| 69 | + : |
| 70 | + $2 |
| 71 | + else |
| 72 | + : |
| 73 | + $3 |
| 74 | + fi |
| 75 | +else |
| 76 | + AC_MSG_WARN(could not find perl) |
| 77 | +fi])dnl |
0 commit comments