在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。
答案 0 :(得分: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
样式宏,即全部大写。