【问题标题】:Autoconf subdirectories with subpackages depending on each other?Autoconf 子目录与子包相互依赖?
【发布时间】:2011-09-26 09:02:49
【问题描述】:

我手头有一个大型项目(master),它分为几个组件(liba、b、c、d)以简化构建和维护。在构建整个包时,所有的子组件必须按顺序构建,其中一些包相互依赖。

更明确地说,liba 是 b、c 和 d 的先决条件,并且 liba 的存在由配置脚本检查。在单独构建 b 发行版时,此检查对于提供用户友好的错误消息绝对是必要的。但是,在构建主包及其所有子包时,liba 被构建为子目标。因此,在 master 套件上运行 configure 时,liba 尚未安装,并且 b 中的 liba 检查失败。

我可以通过将 --with-liba=internal 或类似标志传递给 b 的配置脚本来纠正此问题;但是,我还没有找到任何关于这种自动配置标志传递的文档。目前,我在 master 中有一个很长很长的自定义 Makefile,它与子目录的 autoconf/automake 一样,但重新排序依赖关系,而不是 (configure liba) => (configure b) => (build liba) => (build b),顺序是 (configure liba) => (build liba) => (install liba) => (configure b) => (build b)。

知道如何使用标准的 autoconf/automake 子目录来重构它吗?

【问题讨论】:

  • 自动工具不是打包工具。尝试这样使用它们充其量是痛苦的。构建单独的包。让 apt/yum/pkg/etc 处理依赖关系。

标签: packaging autotools autoconf automake software-packaging


【解决方案1】:

This mail 可能会有所帮助。

【讨论】:

    猜你喜欢
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 2014-03-08
    • 2014-08-20
    • 1970-01-01
    • 2011-10-18
    相关资源
    最近更新 更多