# =========================================================================== # https://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 available in the # system. If all the modules in the list are available ACTION-IF-TRUE is # executed. Case one module is not available 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 # Copyright (c) 2009 Ruben Fonseca # # 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 10 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` check_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