Pkg-config
pkg-configは、環境変数PKG_CONFIG_PATHのパスに存在する *.pc ファイルに記録された情報を元に、ビルドの際に必要な文字列を返す。
例えば、libaaa.soを /usr/local/lib/aaa/ 以下に保存し、ヘッダファイルを /usr/local/include/aaa/ 以下にインストールした場合。 libaaa.so を利用したソースをコンパイルする際に、コンパイラへlibとincludeのパス等を指定する必要があるが、そのパスが環境ごとに異なる場合を考えると必ずしも gcc -I/usr/local/lib/include -o a.c -L/usr/local/lib/aaa -laaa が成立するとは限らない。
もしもlibaaa が aaa.pc を提供していれば、
で文字列 -I /usr/local/lib/aaa を得られ、
で文字列 -L /usr/local/lib/aaa -laaa を得られるかもしれない。
もしもlibaaaがpkg-configに対応していれば(インストール時に適切な aaa.pc が作成されるライブラリーであれば)、そのlibaaa利用の際には pkg-config を用いることができるので、記述に統一性を持たせられる。