私たちのビルド システムはソフトウェアのビルドに pkg-config を使用しますが、リンクには非常に長い時間がかかります (最大 20 分かかることもあります)。私たちは pkg-config が原因のツールであると特定しました。
では、pkg-config よりも高速な代替手段はあるのでしょうか? または、リンクを高速化するために使用できる設定はあるのでしょうか?
追伸:よく分かりませんがこの質問この質問に関連しています。
答え1
同じオプションで複数回呼び出されていますかpkg-config
? これは、呼び出しが Makefile のLDFLAGS
変数などに埋め込まれている場合に発生する可能性があります。
少なくとも GNU Make では、バッククォートを介して外部プログラムを呼び出すと、参照されるたびに呼び出されます。たとえば、この例では、2 つの異なる出力が得られます。
foo = `date`
asdfsdf:
echo $(foo)
sleep 4
echo $(foo)
ただし、シェル関数の結果は一度だけ評価されます。
foo = $(shell date)
asdfsdf:
echo $(foo)
sleep 4
echo $(foo)
答え2
答え3
同僚が見つけたpykg-config、これは pkg-config よりもはるかに高速であることが証明されました。