1

在 configure.ac (AX_PYTHON_MODULE) 中使用 m4_ax_python_module.m4 宏时,可以在配置时知道是否安装了给定模块。它有两个参数,模块名称和第二个参数,如果不为空,将导致退出,当模块是必备时很有用。

在您不想要致命退出的情况下,如何在 configure.ac 中测试找到了哪些模块?运行配置时它们会输出“是”或“否”,但这就是我目前所发现的。基本上如果我在configure.ac中有这些行:

编辑:在模块名称周围添加方括号

AX_PYTHON_MODULE([json],[])
AX_PYTHON_MODULE([simplejson],[])

如何测试找到了两个模块中的哪一个?

有关此宏的文档,请参见http://www.gnu.org/software/autoconf-archive/ax_python_module.html#ax_python_module

4

1 回答 1

1

好的,到目前为止我发现的最好的解决方案是:

编辑:使用AS_IF而不是仅仅if test

AS_IF([test "x${HAVE_PYMOD_JSON}" = "xno"], 
    AS_IF([test "x${HAVE_PYMOD_SIMPLEJSON}" = "xno"],
        [AC_MSG_ERROR([Requires one of json or simplejson])]))

让我失望的是在宏中,AS_TR_CPP 将其参数转换为#define样式宏,即全部大写。

于 2010-03-15T17:06:14.357 回答