问题标签 [autoconf]
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 - 使用 Autotools 预编译的头文件
是否可以在使用 automake / libtool 的项目中使用 gcc 预编译头文件?
添加新的 make 规则来构建预编译的头文件并不困难。问题是您还必须添加 libtool 和 AFAIK 引入的编译标志,它无法处理头输入文件。
你怎么能那样做?
autoconf - 如何将 autoconf/automake 指向非标准包
我正在尝试在 RedHat Linux 机器上构建 ZooKeeper。(ZooKeeper 到底是什么可能并不重要 :-)
当我按照包装说明进行操作时,我得到:
我无法在标准位置安装 CPPPUNIT。(没有root权限,系统团队有“不偏离标准配置”的政策。)
我已经通过在我的 configure.ac 文件中注释掉对
AM_PATH_CPPUNI
T 的引用来解决这个问题,但我真正想做的是在我的个人目录中安装 CPPPUNIT 并指向它,但我没有赚太多在弄清楚如何告诉 autoconf/auotmake 系统在非标准位置查找它方面取得了进展。有人对如何做到这一点有任何提示吗?
autotools - libtool 被“make distclean”删除
我已将 libtool 复制到我的程序的源代码树中,以便与程序一起分发它。但是当我运行“make distclean”时,libtool 会与其余生成的文件一起被删除。我该如何阻止这种情况发生?
我尝试放入EXTRA_DIST = libtool
Makefile.am 但这不起作用。
这基本上是我的 configure.ac 的样子。
variables - 如何从配置中获得完全扩展的变量?
我创建了一个这样的 configure.ac 文件:
这样做的目的是打印配置脚本使用创建的每个可用环境变量set
,所以我这样做:
打印一堆变量,例如
到目前为止,一切都很好。问题是:
- 我想扩展变量
${prefix}/share
,但将所有内容传递到文件example.sh
并使用 bash 执行它不起作用,因为 bash 抱怨修改只读变量,UID
并且扩展本身似乎也不起作用。 - 我尝试
makefile
在扩展工作的地方使用 a for this ,但它抱怨字符串中的换行符,就像上面的输出中的行IFS=' causes an error message Makefile:24: *** missing separator. Stop.
有谁知道如何获得配置输出的完全扩展版本?
c - Autoconf 问题:“错误:C 编译器无法创建可执行文件”
我正在尝试使用 GNU autotools 构建我用 C 语言编写的程序,但我显然设置错误,因为configure
运行时,它会吐出:
如果我查看config.log
,我会看到:
出于某种原因,autoconf 正在生成一个无效的测试文件:该行上应该是什么,只是一个分号?在 Ubuntu 9.04 和 Mac OS X 10.6 上构建失败的方式相同,所以这绝对是我的错,而不是环境的错。
c - Tint2 Compilation
I'm on a network where I don't have root access, so everything I install is under a prefix ~/bin (actually referenced by its full path).
So I have openbox working fine, which is what I'm using to send this from. Imlib2 I do ./configure --prefix=~/bin; make; make install
.
Then I run from the tint2 source directory
which leaves me with this charming message
Edit:
So Imlib2 is now compiled --with-x and installed to the location I'm referencing. I am still receiving an identical error message.
autoconf - 如何获取配置脚本来查找库
我正在尝试编写一个 configure.ac 文件,以便生成的配置脚本搜索包含给定静态库的库目录,例如 libsomething.a。我怎样才能做到这一点?目前我只检查一个位置:
但我希望它尝试自动找到它。如果该库不在默认位置之一,我想配置说未找到该库,并且可以像通常那样使用 --use-something=path 指定自定义位置。所以我还需要检查是否提供了 --use-something=path 。我在创建配置文件方面很新,而且 M4 文档不是很容易理解,所以希望能提供任何帮助。
谢谢!
autotools - 我应该如何从 Makefile.am 运行预构建的 Makefile?
我应该如何从 Makefile.am 运行预构建的 Makefile?
我是 automake/autoconf 构建系统的新手。我正在为其实现 autotools 的包有几个库和每个库的测试可执行文件。一些库是自动生成的 ASN1C 代码,带有预构建的 makefile。我不确定在 Makefile.am 内部说“使用预构建的 makefile 构建 ASN1C 库”的最佳方式。
由于大量的 makefile 文档,尝试用这样的东西搜索 google 有点困难。
谢谢,陈兹
autotools - 在 C/C++ 项目中自动检测库依赖关系的最佳方法是什么?
在 C/C++ 项目中自动检测库依赖关系的最佳方法是什么?
我有一个项目,我拥有机器上的所有依赖项。它构建并运行。现在我想组合一个自动工具构建系统。我正在寻找一种自动检测所需的所有依赖项的好方法,例如使用的头文件和链接所需的库。
图书馆位似乎是我最难弄清楚的。我想说,为列表或其他东西中的每个函数生成 AC_CHECK_LIB 命令。我可能可以在 Perl 中做到这一点,但我必须想象它已经存在于其他地方。
我所知道的是我可以使用 objdump 和 nm 查看符号,我可以使用这些实用程序找到函数所属的库,然后我可以在 configure.ac 中手动输入 AC_CHECK_LIB 命令来检查它。在这一点上,自动化会很棒。
谢谢,陈兹
solaris - 在 Solaris 网络库中创建 autoconf 链接的规范方法是什么?
在 Solaris 上,当您编译使用套接字的程序时,您需要将它与-lnsl -lsocket
. 许多此类程序最初是为 Linux 编写的(不需要额外的库),因此不会在其配置脚本中检查这些库,即使这是一个相当简单的添加。像这样的东西(未经测试):
有没有一种规范的方法来做这个检查?甚至可能包含在 autoconf 发行版中?你会想象有一个相当广泛的需求,但谷歌不会告诉我。