From simonyansenzhao at gmail.com  Mon Oct 17 04:14:44 2016
From: simonyansenzhao at gmail.com (Simon)
Date: Mon, 17 Oct 2016 10:14:44 +0800
Subject: [Rd] compile c++ code in an R package without -g
In-Reply-To: <CAFLer81sYXPQ8rkKj3+uXd8gXTfGHkmBUqP=3feCGE2rzvFXcQ@mail.gmail.com>
References: <CAFLer81sYXPQ8rkKj3+uXd8gXTfGHkmBUqP=3feCGE2rzvFXcQ@mail.gmail.com>
Message-ID: <8298ab1f-eff9-fcdb-b868-5d5263060b8f@gmail.com>

Hi,

As I know, a solution is customizing Makefile target by yourself in 
src/Makevars of your package, and removing the -g option.

As an example, you can see 
https://github.com/SimonYansenZhao/wsrf/blob/09b197ed79b1c55a95d52b14aa5db3437f75f930/src/Makevars

I paste that here.  See "$(CXX1XFLAGS:-g=)" below.


     CXX_STD = "CXX11"
     PKG_LIBS = `"$(R_HOME)/bin/Rscript" -e "Rcpp:::LdFlags()"` -pthread
     wsrf_FLAGS = $(R_XTRA_CPPFLAGS) $(PKG_CPPFLAGS) $(CPPFLAGS) 
$(CLINK_CPPFLAGS) $(R_XTRA_CXXFLAGS) $(PKG_CXXFLAGS) $(CXX1XPICFLAGS) 
$(SHLIB_CXXFLAGS) $(CXX1XFLAGS:-g=) $(CXX1XSTD)

     all: $(SHLIB)

     %.o: %.cpp
         $(SHLIB_CXX1XLD) $(wsrf_FLAGS) -c $< -o $@

However, I am not sure if it is allowed on CRAN, and I think it must 
have a reason for that, though I don't know.

So I didn't do that in my package.


Best regards,
Simon(??)

On 2016?10?16? 21:46, Da Zheng wrote:
> Hello,
>
> I'm writing an R package that is mainly written in C++. By default, R
> CMD INSTALL creates C/C++ flags as follows:
> -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
> -Werror=format-security -D_FORTIFY_SOURCE=2 -g
>
> However, my package is fairly large. With debug info compiled into the
> library, the generated .so file is over 200MB. Without debug info,
> it's about 30MB. I hope by default debug info is disabled. However, I
> don't see any option in R CMD INSTALL that can disable "-g". Could
> anyone tell me how to disable it?
>
> Many thanks,
> Da
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] compile c++ code in an R package without -g
Simon