dnl Check a program for version sanity. The test runs a program, passes it an | |
dnl argument to make it print out some identification string, and filters that | |
dnl output with a regular expression. If the output is non-empty, the program | |
dnl passes the sanity check. | |
dnl $1 - Name or full path of the program to run | |
dnl $2 - Argument to pass to print out identification string | |
dnl $3 - grep RE to match identification string | |
dnl $4 - set to 1 to make errors only a warning | |
AC_DEFUN([CHECK_PROGRAM_SANITY], | |
[ | |
AC_MSG_CHECKING([sanity for program ]$1) | |
sanity="0" | |
sanity_path=`which $1 2>/dev/null` | |
if test "$?" -eq 0 -a -x "$sanity_path" ; then | |
sanity=`$1 $2 2>&1 | grep "$3"` | |
if test -z "$sanity" ; then | |
AC_MSG_RESULT([no]) | |
sanity="0" | |
if test "$4" -eq 1 ; then | |
AC_MSG_WARN([Program ]$1[ failed to pass sanity check.]) | |
else | |
AC_MSG_ERROR([Program ]$1[ failed to pass sanity check.]) | |
fi | |
else | |
AC_MSG_RESULT([yes]) | |
sanity="1" | |
fi | |
else | |
AC_MSG_RESULT([not found]) | |
fi | |
]) |