背景
Python、Julia、Rustなどでは、共有ライブラリは使えるが、
.aなアーカイブ形式のライブラリだとそのままでは利用できない。
アーカイブ形式なライブラリを共有ライブラリに変換できれば、これらの
言語から利用可能となる。
.dylib化する
/usr/bin/libtoolコマンド、GNUのじゃない、純正のコマンドでの
やり方は以下
libtool -dynamic -multiply_defined suppress -o libmruby.dylib mruby/build/host/lib/libmruby.a -undefined dynamic_lookup -macosx_version_min 10.11
この例ではmrubyをアーカイブ形式(.a)から共有ライブラリ(.dylib)にした。
rpathがついてるライブラリをリンクしてる場合
他の依存ライブラリをリンクに加えることも可能。しかし、加えてライブラリが
rpath指定を含んでいる場合、どうするのが一番いいのか不明だったが、install_name_toolでrpathを上書きして、絶対パスでの指定にできた。
注意
あんまり、バイナリアンじゃないので、この辺り明るくないので、
たまたま、動いたるだけかも。