Home | History | Annotate | Download | only in m4
      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