Rev 88850 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/utils/man/COMPILE.Rd% Part of the R package, https://www.R-project.org% Copyright 1995-2018 R Core Team% Distributed under GPL 2 or later\name{COMPILE}\alias{COMPILE}\title{Compile Files for Use with R on Unix-alikes}\description{Compile given source files so that they can subsequently be collectedinto a shared object using \command{R CMD SHLIB} or an executableprogram using \command{R CMD LINK}. Not available on Windows.}\usage{\special{R CMD COMPILE [options] srcfiles}}\arguments{\item{srcfiles}{A list of the names of source files to be compiled.Currently, C, C++, Objective C, Objective C++ and Fortran aresupported; the corresponding files should have the extensions\file{.c}, \file{.cc} (or \file{.cpp}), \file{.m},\file{.mm} (or \file{.M}), \file{.f} and \file{.f90} or \file{.f95},respectively.}\item{options}{A list of compile-relevant settings, or for obtaininginformation about usage and version of the utility.}}\details{\command{R CMD SHLIB} can both compile and link files into ashared object: since it knows what run-time libraries are neededwhen passed C++, Fortran and Objective C(++) sources, passing sourcefiles to \command{R CMD SHLIB} is more reliable.Objective C and Objective C++ support is optional and will work onlyif 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 themain code of an executable program.This is a \command{make}-based facility, so will not compile a source fileif a newer corresponding \file{.o} file is present.}\note{Some binary distributions of \R have \code{COMPILE} in a separatebundle, e.g.\sspace{}an \code{R-devel} RPM.This is not available on Windows.}\seealso{\code{\link{LINK}}, \code{\link{SHLIB}}, \code{\link{dyn.load}}\manual{R-admin}{Customizing package compilation}}\keyword{utilities}