pkg-configとlibtoolは悪である
udrepper: The Evils of pkgconfig and libtoolによると、これらのツールを使って作られた共有ライブラリには使われない共有ライブラリへのdependencyが無駄に含まれている。この問題はリンク時に-Wl,--as-neededとオプションをつけることで、一つの例外的な状態を除いては解決することができる。
その例外的な状態とは-lpthreadの代わりに-pthreadを使った場合で、これとlibtool(原文ではthe insanity called libtoolとまで書いてある)が組合わさると、スレッドライブラリには-Wl,--as-neededが適用されなくなってしまう。
結論としては
- pkg-configとlibtoolは使うな
- 使うならせめて-Wl,--as-neededをつけなさい
という事らしい。--ad-neededに関する説明としては、ちょっと検索してみた感じではGentooの--as-needed introduction and fixing guideが充実しているように見える(けどまだ読んでない)。