Je construis un paquet R et j'ai besoin de construire une bibliothèque jni pour OSX (appelée myPackage.jnilib
) dans le cadre de mon processus de construction, puis les mécanismes d'installation automatique de R l'intègrent le répertoire libs de mon paquet.Construction et installation d'une bibliothèque de packages R avec une extension jnilib
Le problème est que R par défaut est d'essayer de construire un objet appelé myPackage.so
. J'aimerais pouvoir personnaliser cela mais je ne vois pas comment.
Je peux obtenir une partie du chemin en subvertissant les mécanismes de R en utilisant une cible "all" bidon dans Makevars (décrit here), puis en copiant le fichier dans le répertoire inst
de mon paquet. C'est OK pour mes propres utilisations locales, mais génère des maux de tête en essayant de construire des binaires universels et n'est pas très portable. Je suis en train de préparer le paquet pour CRAN donc cette méthode ne marchera probablement pas.
Je vois deux solutions possibles mais n'ai pas non plus travailler encore
Copiez ma bibliothèque manuellement dans le répertoire libs de mon package lors de l'installation. Puisque ce répertoire est créé à la volée, comment pourrais-je savoir de quoi il s'agit dans Makevars ou un script configure?
La meilleure solution: Dites à R CMD SHLIB le nom de mon fichier de sortie pour pouvoir utiliser le paquet normal de R mécanismes et laissez-le copier le fichier dans le bon répertoire.
Je ne sais absolument rien à ce problème. Mais peut-être que ce blog pourrait aider? http://bit.ly/ODVaL –
Merci. Ce blog et le paquet helloWorldJava est vraiment utile. –