libtoolでshared libraryを作る際の拡張子を指定する

Wiresharkのプラグイン等は,OSX環境等でも'.so'にしてくれないと読み込んでくれないので,どうすれば拡張子を指定できるのか調べた.

-shrext

libtoolには-shrextというオプションが用意されているのでこれを使う方法.Makefile.am等で,LDFLAGSに書けば良い.

hogehoge_la_LDFLAGS = -shrext '.so'

-module

libtoolには-moduleというオプションもある.これは,コンパイル時にリンクされるライブラリではなく,実行後にdlopen(3)でリンクされるプラグイン用等のshared libraryを作る際に指定するオプションである.これを指定すると,拡張子も'.so'にしてくれるので,今回のケースではこちらを使う.

hogehoge_la_LDFLAGS = -module