Using RcppEnsmallen in Your Own R Package
James Joseph Balamuta
Source:vignettes/package-usage.Rmd
package-usage.Rmd
Abstract
This vignette describes the best practices for using RcppEnsmallen in your own R package.
Overview
RcppEnsmallen is best used within an R package. The setup
for RcppEnsmallen
’s use mirrors that of other
Rcpp
-based projects. In particular, the
DESCRIPTION
file requires the LinkingTo
field
and two files inside the src/
to establish the necessary
compilation options. In the next two sections, we show the
modifications.
DESCRIPTION file
Open your R package’s DESCRIPTION
file. Ensure that the
LinkingTo
directive is present and contains:
LinkingTo: Rcpp, RcppArmadillo (>= 0.9.800.0.0), RcppEnsmallen (>= 0.2.20.0.1)
Makevars inside the src/ Directory
Next, the src/
directory must contain both a
Makevars
and Makevars.win
file. Each file must
have the same contents of:
PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS)
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
The Makevars.win
file provides the appropriate
configuration for Windows while Makevars
acts on Unix-alike
systems like macOS, Linux, and Solaris.