COMPILE
Compile Files for Use with R on Unix-alikes
Compile given source files so that they can subsequently be collected
into a shared object using R CMD SHLIB
or an executable
program using R CMD LINK
. Not available on Windows.
- Keywords
- utilities
Usage
R CMD COMPILE [options] srcfiles
Arguments
- srcfiles
A list of the names of source files to be compiled. Currently, C, C++, Objective C, Objective C++ and Fortran are supported; the corresponding files should have the extensions
.c
,.cc
(or.cpp
),.m
,.mm
(or.M
),.f
and.f90
or.f95
, respectively.- options
A list of compile-relevant settings, or for obtaining information about usage and version of the utility.
Details
R CMD SHLIB
can both compile and link files into a
shared object: since it knows what run-time libraries are needed
when passed C++, Fortran and Objective C(++) sources, passing source
files to R CMD SHLIB
is more reliable.
Objective C and Objective C++ support is optional and will work only if the corresponding compilers were available at R configure time: their main usage is on macOS.
Compilation arranges to include the paths to the R public C/C++ headers.
As this compiles code suitable for incorporation into a shared object, it generates PIC code: that might occasionally be undesirable for the main code of an executable program.
This is a make
-based facility, so will not compile a source file
if a newer corresponding .o
file is present.
Note
Some binary distributions of R have COMPILE
in a separate
bundle, e.g.an R-devel
RPM.
This is not available on Windows.
See Also
LINK
, SHLIB
, dyn.load
;
the section on “Customizing compilation under Unix” in
“R Administration and Installation”
(see the doc/manual
subdirectory of the R source tree).