我创建了一个R包,我想提交给CRAN。它包含需要用纯C语言编译的代码,并且此代码取决于libxml2
库。
[我当前的解决方案是让Linux和Mac用户安装libxml2-dev
软件包,这使他们可以编译和安装R源软件包。
对于Windows,我创建了一个特殊的二进制R-package,其中包含所需的二进制依赖性。阅读CRAN指南时,我看到只能上传源软件包,而且它们可能不包含任何二进制文件。
遵循这些准则,我的问题是:
如上所述,您可以复制xml2软件包的内容:
要使事情在Linux / MacOS上正常工作,请复制文件configure
和/src/Makevars.in
。请注意,macOS默认情况下包括libxml2的副本,因此您可以像在Linux上一样安全地链接到-lxml2
。
对于Windows,需要从xml2复制文件src/Makevars.win
和tools/winlibs.R
。这是一个简单的脚本,在Windows上构建R软件包时,会自动下载并静态链接libxml2 from rwinlib。
这些构建脚本经过测试,可以在(几乎)任何平台上工作。