如果我没有安装pkg-config,那么在运行./configure
时我的配置中断会出现语法错误。有没有办法打破AC_MSG_ERROR
?
./configure: line 4001: syntax error near unexpected token `GLIB2,'
./configure: line 4001: ` PKG_CHECK_MODULES(GLIB2, glib-2.0, , as_fn_error $? "glib needed" "$LINENO" 5)'
-
AC_ARG_ENABLE(GTK, [], [gtk="$enabled"], gtk=no)
if test "$gtk" = "yes"; then
AC_CHECK_LIB([gtk-x11-2.0], [gtk_init], [], [AC_MSG_ERROR([gtk needed])])
else
AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes)
if test x"$HAVE_PKG_CONFIG" != x"yes" ; then
AC_MSG_ERROR([pkg-config])
fi
PKG_CHECK_MODULES(GLIB2, glib-2.0, [], AC_MSG_ERROR([glib needed]))
AC_SUBST(GLIB2_CFLAGS)
AC_SUBST(GLIB2_LIBS)
AC_CHECK_LIB([glib-2.0], [g_list_append], [], [AC_MSG_ERROR([glib needed])])
fi
AM_CONDITIONAL([GTK], [test "x$gtk" = "xyes"])
答案 0 :(得分:4)
在没有pkg.m4的情况下,configure
脚本生成错误。对于所有不以AC_*
开头的非基本宏,出于这个原因,最好使用源代码分发它们,这样您至少可以获得正确的configure
脚本。
也就是说,现在pkg-config非常普遍,你为什么要从没有它的系统生成configure
脚本?您可以从“更好”的系统中简单地make dist
,并从输出tarball(包含有效的configure
脚本)构建。
答案 1 :(得分:0)
添加对pkg-config的检查应该可以解决问题:
# require pkg-config
AC_PATH_PROG([PKG_CONFIG], [pkg-config], [no])
AS_IF([test "x$PKG_CONFIG" = "xno"],[
AC_MSG_ERROR([
*** The pkg-config script could not be found. Make sure it is
*** in your path, or set the PKG_CONFIG environment variable
*** to the full path to pkg-config.])
])