R CMD SHLIB
or an executable
program using R CMD LINK
.R CMD COMPILE [options] srcfiles
.c
, .cc
(or .cpp
), .m
,
.mm
(or .M
), .f
and .f90
or .f95
,
respectively.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. Ratfor is not supported. If you have Ratfor source code, you need to
convert it to FORTRAN. (On some Solaris systems mixing Ratfor and
FORTRAN code will work.) 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.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).