完整代码下载: http://download.csdn.net/detail/zlyong0018/6709923
----宏: AC_CHECK_PROG(variable, prog-to-check-for, value-if-found, [value-if-not-found], [path = '$PATH'], [reject])
检查prog-to-check-for是否存在path中。 如果找到, 则将variable设为value-if-found,否则设为value-if-not-found。 在检查的时候通常略过reject(绝对路径表示的程序路径),如果reject被略过且找到下一个符合的程序, 则将variable设置为该程序的绝对路径。 如果variable已经被赋值, 不做任何事情。 该宏还会为variable调用AC_SUBST。
注意: 不要对同一个variable多次调用AC_CHECK_PROG, 经验证, 同一个variable的后续的调用很有可能给出一个错误的结果。
echo "[AC@&t@_CHECK_PROG([COMPILER], [gcc], [gcc], , [\$PATH], [/usr/bin/gcc])]"
AC_CHECK_PROG([COMPILER], [gcc], [gcc], , [$PATH], [/usr/bin/gcc])
echo "\$COMPILER = $COMPILER"
echo "\$ac_cv_prog_COMPILER = $ac_cv_prog_COMPILER"
echo ""
echo "[AC@&t@_CHECK_PROG([COMPILER2], [gcc], [gcc], , [\$PATH], [/usr/local/bin/gcc])]"
AC_CHECK_PROG([COMPILER2], [gcc], [gcc], , [$PATH], [/usr/local/bin/gcc])
echo "\$COMPILER2 = $COMPILER2"
echo "\$ac_cv_prog_COMPILER2 = $ac_cv_prog_COMPILER2"
echo ""
COMPILER=
ac_cv_prog_COMPILER=
echo "[AC@&t@_CHECK_PROG([COMPILER], [gdb], [gdb])]"
AC_CHECK_PROG([COMPILER], [gdb], [gdb])
echo "\$COMPILER = $COMPILER"
echo "\$ac_cv_prog_COMPILER = $ac_cv_prog_COMPILER"
echo ""
echo "[AC@&t@_CHECK_PROG([DEBUGER], [gdb], [gdb])]"
AC_CHECK_PROG([DEBUGER], [gdb], [gdb])
echo "\$DEBUGER = $DEBUGER"
echo "\$ac_cv_prog_DEBUGER = $ac_cv_prog_DEBUGER"
运行及结果:
$ touch /usr/local/bin/gcc
$ chmod +x /usr/local/bin/gcc
$ ./configure
AC_CHECK_PROG([COMPILER], [gcc], [gcc], , [$PATH], [/usr/bin/gcc])
checking for gcc...