On Jun 12, 2012, at 6:39 PM, Matthew Dowle wrote: > Matthew Dowle wrote : >> Hi, >> >> I've added R_init_data_table to the "data.table" package (which has a dot >> in its name). This works well in R 2.15.0, because of this from the >> Writing R Extensions manual : >> >> " Note that there are some implicit restrictions on this mechanism as the >> basename of the DLL needs to be both a valid file name and valid as part >> of a C entry point (e.g. it cannot contain ‘.’): for portable code it is >> best to confine DLL names to be ASCII alphanumeric plus underscore. As >> from R 2.15.0, if entry point R_init_lib is not found it is also looked >> for with ‘.’ replaced by ‘_’. " >> >> But how do I confine the DLL name, is it an option in Makevars? >> >> The name of the shared object is currently "data.table.so" (data.table.dll >> on Windows). Is it possible to change the file name to "datatable.so" >> (and datatable.dll) in a portable way so that R_init_datatable works >> (without a dot), and, without Depend-ing on R>=2.15.0 and without changing >> the name of the package? > > Just to clarify, I'm aware R CMD SHLIB has the -o argument which can be > used create datatable.so instead of data.table.so. It's R CMD INSTALL > that's the problem as that seems to pass -o <pkg_name> to R CMD SHLIB. I > found install.libs.R (added to R in 2.13.1), could that be used to create > datatable.so instead of data.table.so? Or a line I could add to > pkg/src/Makevars? >
Something like all: $(SHLIB) mv $(SHLIB) datatable$(SHLIB_EXT) should do the trick (resist the temptation to create a datatable$(SHLIB_EXT) target - it doesn't work due to the makefile loading sequence, unfortunately). AFAIR you don't need to mess with install.libs because the default is to install all shlibs in the directory. Cheers, Simon > Thanks! > Matthew > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel