Radosław Piliszek
2018-Mar-02 08:26 UTC
[Rd] Makevars CXX_STD variable ignored when no *.cpp files in src/
Hello! I might have found a bug in the way that R handles Makevars file when building a package. Value of variable CXX_STD is ignored - i.e. R does not use the correct compiler/flags - if there are no *.cpp files directly in the src/ directory (e.g. all *.cpp are in subdirectories, and OBJECTS variable is set accordingly). Adding a bogus *.cpp file fixes this issue. However, this is not very obvious (I would dare saying it is not obvious at all) and I spent quite a time checking what went wrong after I organized my src files better. :-) Kind regards, Rados?aw Piliszek
Martyn Plummer
2018-Mar-02 09:42 UTC
[Rd] Makevars CXX_STD variable ignored when no *.cpp files in src/
You are not the first person to report this, but last time when I tried it myself I could not reproduce the bug. Let me try it again. Martyn On Fri, 2018-03-02 at 09:26 +0100, Rados?aw Piliszek wrote:> Hello! > > I might have found a bug in the way that R handles Makevars file when > building a package. > > Value of variable CXX_STD is ignored - i.e. R does not use the > correct > compiler/flags - if there are no *.cpp files directly in the src/ > directory (e.g. all *.cpp are in subdirectories, and OBJECTS variable > is set accordingly). Adding a bogus *.cpp file fixes this issue. > However, this is not very obvious (I would dare saying it is not > obvious at all) and I spent quite a time checking what went wrong > after I organized my src files better. :-) > > Kind regards, > Rados?aw Piliszek > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
Martyn Plummer
2018-Mar-02 17:02 UTC
[Rd] Makevars CXX_STD variable ignored when no *.cpp files in src/
Radoslaw sent me a reproducible example. I have been able to identify the problem and fix it. I have copied in Alexander Loboda who previously reported the same problem. Briefly, the tools package relied on the presence of files with extension .cpp or .cc in the src directory to determine whether the C++ compiler is required. In the absence of any such files, the code to set the C++ compiler flags correctly was never run. Martyn On Fri, 2018-03-02 at 09:42 +0000, Martyn Plummer wrote:> You are not the first person to report this, but last time when I tried > it myself I could not reproduce the bug. Let me try it again. > > Martyn > > On Fri, 2018-03-02 at 09:26 +0100, Rados?aw Piliszek wrote: > > Hello! > > > > I might have found a bug in the way that R handles Makevars file when > > building a package. > > > > Value of variable CXX_STD is ignored - i.e. R does not use the > > correct > > compiler/flags - if there are no *.cpp files directly in the src/ > > directory (e.g. all *.cpp are in subdirectories, and OBJECTS variable > > is set accordingly). Adding a bogus *.cpp file fixes this issue. > > However, this is not very obvious (I would dare saying it is not > > obvious at all) and I spent quite a time checking what went wrong > > after I organized my src files better. :-) > > > > Kind regards, > > Rados?aw Piliszek > > > > ______________________________________________ > > R-devel at r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel