AC_HAVE_FUNCS(syslog) case "$DEFS" in *-DHAVE_SYSLOG*) ; *) # syslog is not in the default libraries. See if it's in some other. saved_LIBS="$LIBS" for lib in bsd socket inet; do AC_CHECKING(for syslog in -l$lib) LIBS="$saved_LIBS -l$lib" AC_HAVE_FUNCS(syslog) case "$DEFS" in *-DHAVE_SYSLOG*) break ; *) ; esac LIBS="$saved_LIBS" done ; esac
这里是为版本2编写的方式:
AC_CHECK_FUNCS(syslog) if test $ac_cv_func_syslog = no; then # syslog is not in the default libraries. See if it's in some other. for lib in bsd socket inet; do AC_CHECK_LIB($lib, syslog, [AC_DEFINE(HAVE_SYSLOG) LIBS="$LIBS $lib"; break]) done fi
作为对其他人的要求的回应,我添加了更多的特征。许多人要求configure脚本能够在不同的运行中共享检查的结果,这是因为它们实在太慢了(尤其是像Cygnus那样在配置一个大的源代码树的时候)。 Mike Haertel建议增加与位置有关的初始化脚本。发布必须在MS-DOS中解包(unpack)的软件的人们要求提供一种覆盖那些诸如`config.h.in'那样的、含有两个点的文件名中的`.in'扩展名的方法。 Jim Avera通过AC_DEFINE和AC_SUBST中的引用扩展了对程序的检测;他的洞察力带来了重要的改进。Richard Stallman要求把编译器的输出送到`config.log'中,而不是送到`/dev/null'中,以帮助人们调试Emacs configure脚本。