问题标签 [autotools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3375 浏览

autotools - Autoconf - config.h 去哪儿了?

我正在编写自己的单元测试库(使用 autoconf、automake 和 libtool)以更好地满足我的需求(我不需要超大量的功能,只需要一个测试运行程序和断言)。我已经到了它似乎可以使用的地步。

当然,它使用 config.h 来确定要包含的标头。问题是我不确定 config.h 应该去哪里,因为它很容易与其他项目的 config.h 发生冲突,而且它依赖于架构。

我的安装此标头的方法应该是什么?(所有其他标题都需要它)

0 投票
1 回答
322 浏览

linux - 包含linux内核配置的正确方法是什么?

我正在将部分是 linux 内核模块的软件的旧版本移植到 EL5,在做了相关的黑客攻击之后,用于编译东西的可怕的 GNU autotools 混乱(不,它不通过 kbuild 编译内核模块:( ) 我不断收到很多警告“不推荐使用包含 config.h” - 谷歌搜索结果告诉我应该改用 -I 标志,但似乎找不到什么标志以及我应该把它们放在哪里。

该软件是专有的,因此无法链接到它,因为它不是公开的。

我移植的版本支持最高(包括)2.6.16(我需要 2.6.18-164 el5)。内核空间代码在几十个文件中的 100k 行的范围内(并且编译跨越了几个 Makefile)

解决此问题的正确方法是什么?

0 投票
2 回答
2360 浏览

gnu - GNU Autotools:如何在根源目录上方的“make dist”压缩包中包含源文件?

我有一个 Subversion 项目,它使用 Gnu Autotools(即 automake、autoconf 和 libtool)来管理子文件夹(称为“子包”)中的源代码。子包引用子包根源目录之上的源文件,并且对其他子包是通用的。不幸的是,当运行 'make dist' 来创建发行版 tarball 时,公共源文件不会包含在发行版中。

有没有办法在分发源代码之前使用 autoconf/automake 将这些公共源文件移动到子包的子目录中,并让 makefile 自行调整以正确指向重新定位的源文件?显然,可以在编译之前让 makefile 移动这些源文件,但是对于在 Subversion 存储库中工作,这会导致问题,因为这些移动的文件是受修订控制的,并且很容易意外编辑移动的文件而不是原始文件.

0 投票
1 回答
286 浏览

autotools - config.h 应该公开吗?与 Python 冲突

我正在开发一个将 SWIG 绑定到 Python 的 C 库。在我的 autotools 配置中,我检查了 gettimeofday 函数。我发现我无法编译项目的 Python 部分,因为它与文件冲突,该文件pyconfig.h也定义了 HAVE_GETTIMEOFDAY。

这似乎是一个非常普遍的问题,我很惊讶地看到 Pythonconfig.h与我自己的冲突。在我的项目中,我保持config.h私密——即,未安装make install. 我的印象是,这是正确的。我发现至少一篇博客文章分享了这种观点。

Python与我的冲突是否是一个错误config.h

编辑:我通过添加解决了它

到我的configure.ac. 问题仍然存在,应该config.h在您的项目中公开,还是保持私有,仅在构建期间对实现文件可用?

0 投票
3 回答
510 浏览

gcc - 控制 GNU 自动工具输出

我正在使用 GNU autoconf/automake。有什么方法可以控制从 configure.ac 或 Makefile.am 打印到标准输出的内容吗?例如,禁止将 mv 和 cp 命令打印到屏幕上,仅打印 gcc 正在编译的文件的名称而不是整个命令行,以某种方式突出显示 gcc 警告。

0 投票
3 回答
38195 浏览

autotools - aclocal 的意义何在?

在使用自动工具配置源文件的上下文中,aclocal脚本aclocal.m4文件有什么意义?根据我的阅读,aclocal 会扫描宏文件以查找 automake 稍后使用的宏。我不深入了解这个过程,但似乎扫描功能可能刚刚嵌入到 automake 中。

0 投票
1 回答
12560 浏览

c++ - 如何安装和使用 libtool 共享库(.lo 文件)?

因此,在我运行 libtool 并从我的库源中取出一个libfoo.lo文件foo.o后,我如何将libfoo.lo文件转换为普通的 Linux 共享库,libfoo.so.1.0.0这样我就可以在我的目标系统上安装并链接到它?

0 投票
2 回答
552 浏览

c - 使用arch linux中的autotools在c中编译各种头文件

我想知道如何使用arch linux中的autotools通过一个命令编译多个头文件

0 投票
2 回答
24247 浏览

gcc - 如何在 autoconf 配置脚本/makefile 中添加指向库的链接

我是一个 autotools 新手,我很难弄清楚如何轻松地将特定库链接到配置的目标之一。

我有一个源代码包,我想以通常的方式构建:./configure && make && make install

不幸的是,其中一个 cpp 缺少对另一个库的引用。手动编译(调整命令行)是可行的。但我宁愿“修补”编译脚本。编辑链接引用的标准位置在哪里?

这是我的错误信息。

0 投票
3 回答
317 浏览

c - 用于 2 个程序的自动工具

我有一个程序 main.c,它在程序中的 header.h 的帮助下调用 header.c。我知道如何在 GCC 中编译它,但现在我想使用自动工具。我想知道 Makefile.am 应该写什么来编译 main.c?

例如,如果我有两个 c 文件 main.c 和 header.c,如下所示

main.c:-

我的 header.c 文件包含

所以我的 header.h 文件将包含

那么在这种情况下应该在 makefile.am 和 configure.ac 中写入什么