我正在使用一些源程序包,其开发人员正在使用古老的GCC版本,其中编译需要在对象规范之前使用-lz标志。这个套餐非常“非常好”。而且,automake和autoconf非常“闷热”。所以我有两个问题:
第一个问题是如何配置我的autotools以设置-lz标志?
第二,是否可以强制设置此-lz标志的后面而不会弄乱makefile.ac和configure.ac文件?由于这不是我的软件包总是在我做新的构建时编辑这些文件根本不是一个选项。
请注意,如果我复制抛出错误的编译行,只是将-lz和-lxerces-c标志放在最后,那么它就可以了。所以我必须以某种方式在autotools中改变它。
更新:
好吧,我设法以某种方式通过运行配置错误的行来修复它
$ g++ line_contents -lz -lxerces-c
(确保在正确的目录中)
然后我就有了再次运行make的想法,似乎automake认为这一步已经过去并且向前推进了。
但是,如果能够通过autotools找到更改订单的答案,那将会很高兴!
答案 0 :(得分:1)
您可以为该任务编写自己的“gcc”。
用于检查其中一个参数是-lz
的Python或bash脚本,
并重新加载它们,然后调用真实的gcc
。
之后只需运行CC=path/to/your/gcc ./configure
,所有内容都应该有用。