【问题标题】:Check result of AX_PYTHON_MODULE in configure.ac在 configure.ac 中检查 AX_PYTHON_MODULE 的结果
【发布时间】:2010-03-15 16:33:48
【问题描述】:

在 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

【问题讨论】:

    标签: python autotools configure


    【解决方案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 样式的宏,即全部大写。

    【讨论】:

    • +1,但考虑使用 AS_IF 而不是原始的“if test”,并正确引用您的调用:AX_PYTHON_MODULE([json],[])。
    猜你喜欢
    • 2014-09-09
    • 2021-08-05
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 2013-07-13
    • 2011-07-27
    • 1970-01-01
    • 2021-11-17
    相关资源
    最近更新 更多