On 19 January 2011 at 08:43, Douglas Bates wrote: | > | 2) Is there a simple way to include debugging symbols/keep values from | > | getting optimized out when building with Rcpp? | > | > You could always include -g and then strip what you don't need -- which is | > what Debian and Ubuntu do to give you the *-dbg packages. | > | > R sits on top of Makefile logic, and make is pretty powerful language. You | > can (literally) do just about anything.... Setting CFGLAGS / CXXFLAGS or | > their PKG_* variants is probably easiest. | | Or create a file $HOME/.R/Makevars and define CXXFLAGS and CFLAGS in | there. I have the following contents | | CFLAGS= -g -pipe -std=gnu99 -Wall -pedantic | CFLAGS= -g -O3 -pipe -std=gnu99 -Wall -pedantic | CXXFLAGS= -g -pipe -Wall -pedantic | CXXFLAGS= -g -pipe -std=c++0x -Wall -pedantic | CXXFLAGS= -g -O3 -pipe -Wall -pedantic | CXXFLAGS= -g -O3 -pipe -std=c++0x -Wall -pedantic | | and comment out the trailing lines if I want to suppress the c++0x | standard or the optimization when using the debugger.
Seconded. That is actually what I do, including the better-than-awesome ccache: edd@max:~$ cat .R/Makevars # edd 03 Mar 2009 ## for C code CFLAGS=-g -O3 -Wall -pipe -pedantic -std=gnu99 #CFLAGS=-O3 -g0 -Wall -pipe -std=gnu99 ## for C++ code CXXFLAGS= -g -O3 -Wall -pipe -pedantic -Wno-variadic-macros #CXXFLAGS= -g0 -O3 -Wall -pipe -Wno-variadic-macros #CXXFLAGS= -O3 -g0 -Wall -pipe ## for Fortran code #FFLAGS=-g -O3 -Wall -pipe FFLAGS=-O3 -g0 -Wall -pipe ## for Fortran 95 code #FCFLAGS=-g -O3 -Wall -pipe FCFLAGS=-O3 -g0 -Wall -pipe CC=ccache gcc CXX=ccache g++ FC=ccache gfortran F77=ccache gfortran MAKE=make -j4 edd@max:~$ The -Wno-variadic-macros was once needed when Romain was a tad more aggressive in trying new C++0x features. The 'make -j4' also takes care of parallel builds. Dirk -- Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel