【问题标题】:Autoconf/Automake: How to avoid passing the "check" option to AC_CONFIG_SUBDIRSAutoconf/Automake:如何避免将“检查”选项传递给 AC_CONFIG_SUBDIRS
【发布时间】:2011-11-30 20:05:49
【问题描述】:

我正在使用 Autoconf 来构建我的 c++ 项目。它使用第三方代码,该代码也是在 Autoconf/Automake 的帮助下构建的。所以在我的configure.ac 我有以下行:

AC_CONFIG_SUBDIRS([subdirectoryname])

一切正常,但我也使用该功能让测试在 make check 被执行时自动进行 - 这也是由第三方代码完成的。因为这些测试需要一段时间,所以每次我想测试自己的代码时执行它们很烦人。那么有什么办法可以避免check选项被传递给子目录的Makefile呢?

更新: 覆盖 check-recursive 似乎不是一种选择,因为我的顶级 Makefile.am 看起来(或多或少)是这样的:

SUBDIRS=library src

因此禁用此级别的检查也会禁用我的src 文件夹中的检查。这不是我想要达到的。我只想禁用检查library 目录。

【问题讨论】:

    标签: c++ autoconf automake


    【解决方案1】:

    在您的Makefile.am 中覆盖check-recursive 应该可以工作:

    check-recursive:
         @true
    

    或者,如果您只想签入特定目录:

    check-recursive:
         $(MAKE) -C src check
    

    【讨论】:

    • 我认为这并不容易。我在上面添加了一些关于我的 Makefile.am 的信息。
    • 太棒了!您的第二个选项完成了这项工作。
    【解决方案2】:

    根据 autoconf 手册,如果找到,它将在子目录中执行 configure.gnu 脚本。从理论上讲,这可能是一个脚本,它在对 ./configure 的调用中添加了 --disable-tests 或类似选项

    也就是说,我还没有在我自己的项目中使用它。 :-/

    【讨论】:

    • 听起来很有趣。如果你有什么,请告诉我。
    • 如果您能够并且打算修改子目录,最好在库目录中放置一个GNUmakefile,在检查时不执行任何操作,并为其他所有内容调用 Makefile。
    • 我无法修改库目录的内容(通过 svn external 等导入...)。这就是全部线索:我想从上面配置它。更改库目录很容易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 2019-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多