AC-Archive
Autoconf Macro Archive

ac-archive.sf.net: - Project CVS - Download
Macro Index
- AM Support
- C++ Support
- C Support
- Fortran Support
- Java Support
- Cross Compilation
- Installed Packages
- Miscellaneous
- LaTeX Support
- Uncategorized
- archive macros
- adl's macros
- bkorb's macros
- guidod's macros
- latex's macros
- other's macros
- rleigh's macros
- obsoleted macros
- released macros
- search index

Documentation
- Contribute!
- History
- acincludedir m4
- acinclude (tool)
- macro howto
- ax tricks
- maintainers
- License
- Topics

generated...
2007-08-05

(C) 2007 guidod
Download the M4 Source.

ac_perl_module_version

Back to the Main Page.

Synopsis
AC_PERL_MODULE_VERSION([MODULE VERSION], [ACTION-IF-TRUE], [ACTION-IF-FALSE]) , ,

Checks if the given list of 'Module Version' are avaiable

Version

2006-05-12

Author

Marco Gomes <mpglesi@gmail.com> Ruben Fonseca <fonseka@gmail.com>

License

AllPermissive
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. Users of this software should generally follow the principles of the MIT License includings its disclaimer.

Category

cryp.to ac-archive's Installed Packages (released)

Documentation

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:

 AC_PERL_MODULE_VERSION(CGI::Test 0.104 CGI::Ajax 0.694, ,
    AC_MSG_ERROR(Need some Perl modules))

M4 Source Code
AC_DEFUN([AC_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 &gt; /dev/null 2&gt;&amp;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&gt;&amp;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