Rパッケージをビルドしていて、ビルドプロセスの一部としてOSX用のjniライブラリ(と呼ばれるmyPackage.jnilib
)をビルドしてから、Rの自動インストールメカニズムでパッケージのlibsディレクトリ内に配置する必要があります。
問題は、Rのデフォルトは、と呼ばれるオブジェクトを作成しようとすることmyPackage.so
です。これをカスタマイズできるようにしたいのですが、方法がわかりません。
Makevars(ここで説明)の偽の「すべて」のターゲットを使用してRのメカニズムを破壊し、ファイルをinst
パッケージのディレクトリにコピーすることで、途中で取得できます。これは私自身のローカルでの使用には問題ありませんが、ユニバーサルバイナリを構築しようとすると頭痛の種になり、移植性があまり高くありません。現在、CRANのパッケージを準備しているため、この方法は機能しない可能性があります。
私は2つの潜在的な解決策を見ることができますが、どちらもまだ機能していません
インストール中に、ライブラリをパッケージのlibsディレクトリに手動でコピーします。このディレクトリはその場で作成されるので、Makevarsまたはconfigureスクリプト内からどのようにそれが何であるかを知ることができますか
最善の解決策:R CMD SHLIBに出力ファイルの名前を伝えて、Rの通常のパッケージメカニズムを使用し、ファイルを正しいディレクトリにコピーできるようにします。