MacOS Xにおける共有ライブラリの作り方

● バンドル

・dylibよりサイズが少し小さい。何らかの情報が削られているのだろう。
・dylibとして参照しようとするとリンカがエラーを出す。
・拡張子.bundleのファイルは実際にはディレクトリだが、
 *.bundle/Contents/MacOS/*はdylibでなくbundle形式。
・fileコマンドはMach-O bundle ppcと表示する。
・MacOS XにおけるJNIのライブラリはこの形式。おそらくdylibでも問題無いとは思うが...

cc -o libahya.jnilib -bundle ahya.o

● 共有ライブラリ

・linuxにおける.soと同じ。拡張子は.dylib。
・fileコマンドはMach-O dynamically linked shared library ppcと表示する。
・frameworkの中身もこの形式。

cc -o libahya.dylib -dynamiclib -compatibility_version 1 -current_version 1 ahya.o