| # =========================================================================== |
| # http://www.gnu.org/software/autoconf-archive/ax_perl_module_version.html |
| # =========================================================================== |
| # |
| # SYNOPSIS |
| # |
| # AX_PERL_MODULE_VERSION([MODULE VERSION], [ACTION-IF-TRUE], [ACTION-IF-FALSE]) |
| # |
| # DESCRIPTION |
| # |
| # Checks to see if the list of 'Module Version' are avaiable in the |
| # system. If all the modules in the list are avaiable ACTION-IF-TRUE is |
| # executed. Case one module is not avaiable ACTION-IF-FALSE is executed |
| # and the macro execution is aborted. NOTE: Perl is needed. |
| # |
| # Example: |
| # |
| # AX_PERL_MODULE_VERSION(CGI::Test 0.104 CGI::Ajax 0.694, , |
| # AC_MSG_ERROR(Need some Perl modules)) |
| # |
| # LICENSE |
| # |
| # Copyright (c) 2009 Marco Gomes <mpglesi@gmail.com> |
| # Copyright (c) 2009 Ruben Fonseca <fonseka@gmail.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 5 |
| |
| AU_ALIAS([AC_PERL_MODULE_VERSION], [AX_PERL_MODULE_VERSION]) |
| AC_DEFUN([AX_PERL_MODULE_VERSION],[dnl |
| ac_perl_list_modules="$1" |
| # Make sure we have perl |
| if test -z "$PERL"; then |
| AC_CHECK_PROG(PERL,perl,perl) |
| fi |
| |
| # Check the number of arguments |
| #args_num=`echo $ac_perl_list_modules | wc -w` |
| #let "ckeck_args = $args_num % 2" |
| #if test "$check_args" = "1" ; then |
| # AC_MSG_ERROR(syntax error) |
| #else |
| eval |
| #fi |
| |
| if test "x$PERL" != x; then |
| ac_failed=0 |
| while test ${#ac_perl_list_modules} -gt 2 ; do |
| module_name=`echo $ac_perl_list_modules | cut -d " " -f 1` |
| module_version=`echo $ac_perl_list_modules | cut -d " " -f 2` |
| ac_perl_list_modules=`echo $ac_perl_list_modules | cut -d " " -f 3-` |
| AC_MSG_CHECKING(for perl module $module_name version $module_version) |
| |
| $PERL "-M$module_name" -e exit > /dev/null 2>&1 |
| if test $? -ne 0; then |
| AC_MSG_RESULT(no); |
| ac_failed=1 |
| ac_perl_list_modules="" |
| else |
| version=`$PERL "-M$module_name" -e 'print $'"$module_name::VERSION" 2>&1` |
| $PERL -e 'exit(shift cmp shift)' "$version" "$module_version" |
| if test $? -eq 0 -o $? -eq 1 ; then |
| AC_MSG_RESULT(ok); |
| else |
| AC_MSG_RESULT(no) |
| ac_failed=1 |
| ac_perl_list_modules="" |
| fi |
| fi; |
| done |
| |
| if test "$ac_failed" = 0; then |
| : |
| $2 |
| else |
| : |
| $3 |
| fi |
| else |
| AC_MSG_ERROR(could not find perl) |
| fi])dnl |