1 dnl Check a program for version sanity. The test runs a program, passes it an 2 dnl argument to make it print out some identification string, and filters that 3 dnl output with a regular expression. If the output is non-empty, the program 4 dnl passes the sanity check. 5 dnl $1 - Name or full path of the program to run 6 dnl $2 - Argument to pass to print out identification string 7 dnl $3 - grep RE to match identification string 8 dnl $4 - set to 1 to make errors only a warning 9 AC_DEFUN([CHECK_PROGRAM_SANITY], 10 [ 11 AC_MSG_CHECKING([sanity for program ]$1) 12 sanity="0" 13 sanity_path=`which $1 2>/dev/null` 14 if test "$?" -eq 0 -a -x "$sanity_path" ; then 15 sanity=`$1 $2 2>&1 | grep "$3"` 16 if test -z "$sanity" ; then 17 AC_MSG_RESULT([no]) 18 sanity="0" 19 if test "$4" -eq 1 ; then 20 AC_MSG_WARN([Program ]$1[ failed to pass sanity check.]) 21 else 22 AC_MSG_ERROR([Program ]$1[ failed to pass sanity check.]) 23 fi 24 else 25 AC_MSG_RESULT([yes]) 26 sanity="1" 27 fi 28 else 29 AC_MSG_RESULT([not found]) 30 fi 31 ]) 32