2016-08-29 8 views
0

コンパイルに-lzフラグが必要な古代GCCバージョンを快適に使用できるソースパッケージがありますオブジェクト仕様の前にパッケージは非常に "branchy"であり、automakeとautoconfは非常に "無駄"なので、私は2つの質問があります:automakeとautoconfがコンパイル行の後ろに-lzフラグを設定し、.acファイルを変更せずに実行するようにします。

最初の質問はどのように-lzフラグを設定するために私のautotoolsを設定するのですか?

第2に、この-lzフラグの後ろに、makefile.acファイルとconfigure.acファイルを混乱させることなく強制的に設定することはできますか?これは私のソフトウェアパッケージではないので、私が新しいビルドを行っているときはいつも、これらのファイルを編集することは単にオプションではありません。

エラーをスローするコンパイル行をコピーし、最後に-lzと-lxerces-cフラグを置くだけで動作することに注意してください。だから私は何とかautotoolsでこれを変更する必要があります。

UPDATE:

まあ、私は何とか
$ g++ line_contents -lz -lxerces-c (右ディレクトリにあると確認すること) とひどく構成されたラインを実行することによってそれを修正するために管理し、その後、私は実行しているのアイデアを再び作ってもらいました、automakeはステップが合格したと考え、ちょうど進んだと考えました。

まだ、オートツールを使用して注文を変更する方法についての回答を見つけるのは良いことです。

+0

設定時に 'LDFLAGS'環境変数を設定しますか? – arrowd

+0

確かに、./configure --helpは、デフォルトの設定を上書きする一連の環境変数を列挙していますが、LDFLAGSは-lz呼び出しの順序ではなくカスタムの位置のみを設定しているようです。したがって、私のlibzがデフォルトの場所にない場合にのみ役に立ちます。 – grokkaine

+0

なぜリンカーフラグの順序が重要ですか? – arrowd

答えて

1

あなた自身の "gcc"をそのタスクに書くことができます。 引数の1つが-lz, であるかどうかをチェックし、それらを再コーディングしてからgccを呼び出すPythonまたはbashスクリプト。 その後、CC=path/to/your/gcc ./configureを実行するとすべてのものが動作するはずです。

+0

ありがとう、それは非常にスマートですが、私は何とかautotoolsを使用する答えが必要なので、これを受け入れるように設定するつもりはありません。このプロジェクトのためだけに自分自身のgccスクリプトを設定することも面倒です。シンプルでスマートなアイデアとして、あなたは私の親指を持っていますが! – grokkaine

関連する問題