>>>>> Paul Roebuck writes: > On Wed, 9 Feb 2005, Kurt Hornik wrote: >> >>>>> Paul Roebuck writes: >> >> > On Tue, 8 Feb 2005, Kurt Hornik wrote: >> >> This concerns the packages... >> >> for which current versions of r-devel now report problems with >> >> non-portable compilation flags in Makevars[.in] files: >> >> >> >> Problems in package 'rwt': >> >> Non-portable flags in variable 'PKG_CFLAGS': >> >> -Wall -ansi -pedantic >> >> >> >> These flags are mostly GCC specific and not portable. >> >> (Do not assume that any -Ox will work.) >> >> >> >> Can you please fix these problems, and provide an update of your >> >> package? >> >> > It has been on my todo list since Ripley brought it up >> > several weeks ago in r-devel but hadn't exactly figured >> > out how to package it as such. Someone have an example >> > of how to add compiler flags for GCC when it is being >> > used and otherwise not? I'm assuming Makevars isn't being >> > passed through cpp and I can't just use #ifdef. In this case, >> > I could just leave them out but I hate to lose the warnings >> > for development. Using 'configure' is probably the only >> > option but really didn't want to use it for just stricter >> > error checking during compilation. >> >> I think the simplest way to achieve this is to configure R >> locally (for yourself) with CFLAGS="-O2 -Wall -pedantic" but >> leave the corresponding PKG_CFLAGS etc variables in package >> src/Makevars alone.
> I can do that for workstations which I have admin priviledges > and have a private version of R; how about the ones I don't? It depends: R-exts says Flags which are set in file `etc/Makeconf' can be overridden by the environment variable `MAKEFLAGS' (at least for systems using GNU `make'), as in (Bourne shell syntax) MAKEFLAGS="CFLAGS=-O3" R CMD SHLIB *.c or by using a `Makefile'. so if you have GNU Make, you can actually set MAKEFLAGS accordingly in your R_ENVIRON file. What you can also try is to have a make (Sys.getenv("MAKE")) script in your PATH which does something like /path/to/real/make $* CFLAGS=-O3 (but I am never sure whether command line vars override the ones in files?) >> R 2.1.0 will provide a portable way of overriding the configured >> "site" compilation flags via user-level ~/.R/Makevars files. > Will this also cover how to merge or augment compilation > flags with the site-specified ones? And how will it handle > the situation where one's home directory is NFS mounted > across several architectures? There will be a variable to > override the default location, right?. No but there is ~/.R/Makeconf-$platform where $platform is the same as in R_PLATFORM, which is looked for ahead of ~/.R/Makeconf. (That should be better than having an R_MAKECONF env var.) Btw, I assume that if all Makes are GNU Make you might actually be able to conditionalize inside. Best -k ______________________________________________ R-devel@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-devel