【问题标题】:configure.ac specify folder for all build filesconfigure.ac 为所有构建文件指定文件夹
【发布时间】:2016-07-23 22:27:57
【问题描述】:

我是 autotools 的新手,但我在 autotools 文档中找不到与我的问题相关的章节。

是否有我可以在 configure.ac 脚本中指定的命令,它将所有构建内容(配置文件、Makefile 等)存储在一个文件夹中(例如 ./build)?或者我应该如何设置自动工具以避免我的回购混乱? 我的步骤:

$autoreconf --install
$./configure
$make

任何教程或文章都会非常有用。

【问题讨论】:

    标签: gnu autotools automake


    【解决方案1】:

    你不需要在configure.ac 中做任何特别的事情来启用out-of-tree 构建。你只需要不做错任何事。正确的自动工具包将在树内或树外构建。

    假设您的自动工具包位于 ./foobar 并且您已经完成了自动工具 正确,以便:

    cd foobar
    ./configure
    make
    make distcheck
    

    一切顺利。然后同样:

    mkdir foobar_build
    cd foobar_build
    ../foobar/configure
    make
    make distcheck
    

    除了所有由 configure 脚本和 make 将位于 ./foobar_build 而不是 ./foobar

    您无法让autoreconf 生成 在树外创建的文件 (configure 脚本和朋友)因为这些要包含在 由make dist 生成的分发压缩包(例如foobar-1.0.tar.gz)。这 自动工具包的最终用户不需要拥有或了解自动工具: 他们应该能够:

    • 克隆,或下载并解压
    • 配置
    • 制作
    • 以 root 身份进行安装

    出于同样的原因,configure 脚本和朋友应该在 源代码控制存储库,至少在您的发布分支中 发布以进行克隆。

    【讨论】:

    • 非常感谢 Mike,这确实阐明了我的观点。
    猜你喜欢
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 2019-04-27
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 2021-08-24
    相关资源
    最近更新 更多