[R] passing arguments to R CMD SHLIB

Prof Brian D Ripley ripley at stats.ox.ac.uk
Tue Mar 13 22:41:12 CET 2001


On Tue, 13 Mar 2001, Faheem Mitha wrote:

> Dear People,
>
> I want to run gcc with optimisation turned on (-O2), and with -Wall (all
> warnings) enabled, when using R CMD SHLIB. When I do make, which is
>
> R CMD SHLIB -Wall -O2 cftp.c mcmc.c latticefn.c -lm
>
> in this case, I get
>
> faheem ~/research/cftp>make
> R CMD SHLIB -Wall -O2 cftp.c mcmc.c latticefn.c -lm
> make[1]: Entering directory `/home/faheem/research/cftp'
> gcc -I/usr/lib/R/include  -I/usr/local/include -mieee-fp
> -D__NO_MATH_INLINES  -fPIC  -g -c cftp.c -o cftp.o
> gcc -shared  -o cftp.so cftp.o mcmc.o latticefn.o -L/usr/local/lib
> make[1]: Leaving directory `/home/faheem/research/cftp'
> faheem ~/research/cftp>
>
> it doesn't look like the arguments -O2 and -Wall get passed down. Is there
> some reason for this? I certainly would like error checking to be turned
> on as much as possible.

Well, no one said they would be!  If you want to alter flags, they are
set as CFLAGS R_HOME/etc/Makeconf or Makevars. I have -O2 -Wall -pedantic.
I don't think you need -lm as R is linked against that.

> While we are on the topic, it looked like make is involved in invoking a
> command like R CMD SHLIB -Wall -O2 cftp.c mcmc.c latticefn.c -lm. This is
> presumably done using clever pattern rules and/or substitutions. I am
> curious about how this is done. Can someone point to me to the appropriate
> portion of the source code?

SHLIB contains a call to

make -f Makevars -f ${R_HOME}/etc/Makeconf

so you could also set CFLAGS in Makevars. Nothing very clever....

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list