首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用自动工具构建系统完整地包含另一个项目?

如何使用自动工具构建系统完整地包含另一个项目?
EN

Stack Overflow用户
提问于 2019-11-20 12:24:14
回答 1查看 267关注 0票数 3

我的项目依赖于C中的第三方库(-ies),它本身就有一个工作的、独立的基于自动工具的构建系统。

我希望在源代码树中有一个第三方库的副本,并为我的项目构建一个通用的基于自动工具的构建系统,这样我就可以有一个配置和所有常用的自动工具打包来完成一个完整的一次性构建。

这个系统将以某种方式首先构建第三方库(使用第三方的configure.ac等,就好像它是孤立构建的),然后编译并将我的所有源代码与第三方库连接起来(我愿意静态地将我的程序链接到第三方库,而不是在系统的任何位置(如/usr/local等)安装第三方库)。

因此,我假设项目的目录结构如下:

代码语言:javascript
复制
project/
    src/
        folder_with_my_source_code/
        third-party/
            third-party-lib-1/
                src/
                Makefile.am  // native lib-1 files, prefer to keep unmodified
                configure.ac // native lib-1 files, prefer to keep unmodified
            third-party-lib-2/
                src/
                Makefile.am  // native lib-2 files, prefer to keep unmodified
                configure.ac // native lib-2 files, prefer to keep unmodified
            Makefile.am   // do I need this at all ?

        Makefile.am //this should describe how to build my files
    Makefile.am  // project's root makefile
    configure.ac // this, probably, should somehow include instructions on how to build lib-1 and lib-2 with their supplied configure.ac's ?

我如何才能创建这样的链式依赖的构建?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-20 12:50:24

您可以使用AC_CONFIG_SUBDIRS

在大多数情况下,调用AC_OUTPUT就足以在子目录中生成makefile。但是,控制多个独立包的configure脚本可以使用AC_CONFIG_SUBDIRS为子目录中的其他包运行configure脚本。

-宏:AC_CONFIG_SUBDIRS (dir .)

使AC_OUTPUT在给定的空白或换行符列表中的每个子目录dir中运行configure .。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58954311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档