问题标签 [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.
autotools - Autoconf - config.h 去哪儿了?
我正在编写自己的单元测试库(使用 autoconf、automake 和 libtool)以更好地满足我的需求(我不需要超大量的功能,只需要一个测试运行程序和断言)。我已经到了它似乎可以使用的地步。
当然,它使用 config.h 来确定要包含的标头。问题是我不确定 config.h 应该去哪里,因为它很容易与其他项目的 config.h 发生冲突,而且它依赖于架构。
我的安装此标头的方法应该是什么?(所有其他标题都需要它)
linux - 包含linux内核配置的正确方法是什么?
我正在将部分是 linux 内核模块的软件的旧版本移植到 EL5,在做了相关的黑客攻击之后,用于编译东西的可怕的 GNU autotools 混乱(不,它不通过 kbuild 编译内核模块:( ) 我不断收到很多警告“不推荐使用包含 config.h” - 谷歌搜索结果告诉我应该改用 -I 标志,但似乎找不到什么标志以及我应该把它们放在哪里。
该软件是专有的,因此无法链接到它,因为它不是公开的。
我移植的版本支持最高(包括)2.6.16(我需要 2.6.18-164 el5)。内核空间代码在几十个文件中的 100k 行的范围内(并且编译跨越了几个 Makefile)
解决此问题的正确方法是什么?
gnu - GNU Autotools:如何在根源目录上方的“make dist”压缩包中包含源文件?
我有一个 Subversion 项目,它使用 Gnu Autotools(即 automake、autoconf 和 libtool)来管理子文件夹(称为“子包”)中的源代码。子包引用子包根源目录之上的源文件,并且对其他子包是通用的。不幸的是,当运行 'make dist' 来创建发行版 tarball 时,公共源文件不会包含在发行版中。
有没有办法在分发源代码之前使用 autoconf/automake 将这些公共源文件移动到子包的子目录中,并让 makefile 自行调整以正确指向重新定位的源文件?显然,可以在编译之前让 makefile 移动这些源文件,但是对于在 Subversion 存储库中工作,这会导致问题,因为这些移动的文件是受修订控制的,并且很容易意外编辑移动的文件而不是原始文件.
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
在您的项目中公开,还是保持私有,仅在构建期间对实现文件可用?
gcc - 控制 GNU 自动工具输出
我正在使用 GNU autoconf/automake。有什么方法可以控制从 configure.ac 或 Makefile.am 打印到标准输出的内容吗?例如,禁止将 mv 和 cp 命令打印到屏幕上,仅打印 gcc 正在编译的文件的名称而不是整个命令行,以某种方式突出显示 gcc 警告。
autotools - aclocal 的意义何在?
在使用自动工具配置源文件的上下文中,aclocal脚本和aclocal.m4文件有什么意义?根据我的阅读,aclocal 会扫描宏文件以查找 automake 稍后使用的宏。我不深入了解这个过程,但似乎扫描功能可能刚刚嵌入到 automake 中。
c++ - 如何安装和使用 libtool 共享库(.lo 文件)?
因此,在我运行 libtool 并从我的库源中取出一个libfoo.lo
文件foo.o
后,我如何将libfoo.lo
文件转换为普通的 Linux 共享库,libfoo.so.1.0.0
这样我就可以在我的目标系统上安装并链接到它?
c - 使用arch linux中的autotools在c中编译各种头文件
我想知道如何使用arch linux中的autotools通过一个命令编译多个头文件
gcc - 如何在 autoconf 配置脚本/makefile 中添加指向库的链接
我是一个 autotools 新手,我很难弄清楚如何轻松地将特定库链接到配置的目标之一。
我有一个源代码包,我想以通常的方式构建:./configure && make && make install
不幸的是,其中一个 cpp 缺少对另一个库的引用。手动编译(调整命令行)是可行的。但我宁愿“修补”编译脚本。编辑链接引用的标准位置在哪里?
这是我的错误信息。
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 中写入什么