[Rcpp-devel] GNU extension in makefile

Murray Efford murray.efford at gmail.com
Sat Jun 23 17:59:08 CEST 2018


Thanks for the advice. It seems that R CMD check (locally and on
winbuilder) throws the warning despite having SystemRequirements: GNU make.
May not be a problem on CRAN itself.

I assumed that for CRAN one needed both Makevars and Makevars.win, so have
always included both in submissions to CRAN.

I suspect Jeff's suggestion, to omit, does not apply to RcppParallel.

On Sun, Jun 24, 2018 at 3:31 AM, Dirk Eddelbuettel <edd at debian.org> wrote:

>
> On 24 June 2018 at 03:22, Murray Efford wrote:
> | The RcppParallel introduction at https://rcppcore.github.io/
> RcppParallel/
> | instructs package writers to include a Makevars file with
> |
> | PKG_LIBS += $(shell ${R_HOME}/bin/Rscript -e "RcppParallel::
> RcppParallelLibs()")
> |
> | However, R CMD check in R 3.5.0 generates a warning apparently because +=
> | and $(shell are non-portable GNU extensions. As a Windows user I'm not
> | familiar with makefiles and am not confident to work around this. Am I
> | missing something, or is there a simple solution? An update to the
> | introduction would be welcome.
>
> Two things:
>
> i)  _Every_ R package which needs a Makevars _on Windows_ uses
>     src/Makevars.win -- see "Writing R Extensions"
>
> ii) If one needs GNU make, one can declare the dependency in DESCRIPTION
> via
>     SystemRequirements: -- again, see "Writing R Extensions"
>
> And we have just that:
>
>     SystemRequirements: GNU make, Windows: cmd.exe and cscript.exe,
> Solaris: g++ is required
>
> Does that answer your question?  If not, did you look at user
> reverse-depends
> of RcppParallel and examine what they do?  One can often copy working
> solution s from other packages...
>
> Dirk
>
> --
> http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20180624/13f5085e/attachment.html>


More information about the Rcpp-devel mailing list