我有一些源代码包,其开发人员可以轻松地使用古老的GCC版本,在该版本中,编译需要在对象规格之前添加-lz标志。该软件包非常“分支”,而automake和autoconf非常“笨拙”,所以我有两个问题:

第一个问题是如何配置我的自动工具以在后面设置-lz标志?

其次,是否可以在不混淆makefile.ac和configure.ac文件的情况下强制在-lz标志的后面进行设置?由于这不是我的软件包,因此无论何时执行新构建,都始终无法编辑这些文件。

请注意,如果我复制引发错误的编译行,并且仅将-lz和-lxerces-c标志放在末尾,那么它将起作用。因此,我必须以某种方式在自动工具中对此进行更改。

更新:

好吧,我设法通过运行配置错误的行来解决该问题$ g++ line_contents -lz -lxerces-c(确保位于正确的目录中)
然后我才有了再次运行make的想法,看来automake认为这一步已经过去并且向前发展了。

尽管如此,还是很高兴找到有关如何使用自动工具更改订单的答案!

最佳答案

您可以为该任务编写自己的“gcc”。
检查其中一个参数是否为-lz的Python或bash脚本,
然后整理它们,然后调用真正的gcc
在那之后,只需运行CC=path/to/your/gcc ./configure,所有东西都应该工作。

09-07 05:19