Hi all, I'm developing a package that needs to be compiled on installation but am unsure how to ensure that the proper C++ compiler is invoked when installing this package from source. Is there anyway to, at build time, auto-detect and set the available compiler using configure / Makevars?
More specifically, I'm using the CRAN-provided binary of R 3.02 running on Mac OS 10.8.5 with XCode 5 installed. By default, the Makeconf included with the R installation ($RHOME/Resources/Makeconf) has CXX set as: CXX = llvm-g++-4.2 -arch x86_64 However, as llvm-g++-4.2 is no longer distributed with XCode5, package installation fails when I attempt to install from source with an expected "llvm-g++-4.2: command not found" message. I see that one solution is to manually set CXX in the ~/.R/Makevars file. However, I'm wondering if it's possible to have the combination of a configure script / Makevars.in automatically detect and set the CXX variable upon installation. As I have it specified currently, my configure.ac script use the AC_PROG_CXX macro to detect and set CXX. https://github.com/nolanlab/Rclusterpp/blob/dev/configure.ac Then, in my Makevars.in, I attempt to specify the value of CXX detected by the configure script https://github.com/nolanlab/Rclusterpp/blob/dev/src/Makevars.in I can then run the configure script manually and, in the produced Makevars file, it appears to detect and set CXX to the proper complier, i.e.: CXX=g++ -arch x86_64 However, when I then try and install the package, it seems to default back to the using llvm-g++-4.2 as the compiler and thus, installation fails. I of course could be approaching this in completely the wrong way. Any suggestions on how I might be able to auto-detect and set the appropriate compiler at build time? -Rob _______________________________________________ R-SIG-Mac mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-sig-mac
