5c4d1904fc7d62c4358844209621f457bb50fa49
[oota-llvm.git] / autoconf / m4 / sanity_check.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 AC_DEFUN([CHECK_PROGRAM_SANITY],
9 [
10 AC_MSG_CHECKING([sanity for program ]$1)
11 sanity_path=`which $1 2>/dev/null`
12 if test "$?" -eq 0 -a -x "$sanity_path" ; then
13   sanity=`$1 $2 2>&1 | grep "$3"`
14   if test -z "$sanity" ; then
15     AC_MSG_RESULT([no])
16     AC_MSG_ERROR([Program ]$1[ failed to pass sanity check.])
17   fi
18   AC_MSG_RESULT([yes])
19 else
20   AC_MSG_RESULT([not found])
21 fi
22 ])