[Rd] How to customize the list of exported functions in a shared library (update)
Prof Brian Ripley
ripley at stats.ox.ac.uk
Mon Feb 5 16:28:35 CET 2007
On Mon, 5 Feb 2007, Vladimir Eremeev wrote:
> Vladimir Eremeev wrote:
Something important is missing here!
>> It calls gcc:
>> gcc "-I../sources" "-I." -IC:/PROGRA~1/R/include -gdwarf-2 -Wall -O2
>> -std=gnu99 -c rsnns.c -o rsnns.o
>> gcc -shared -o Rsnns.dll Rsnns.def [ lots of *.o ] -LC:/PROGRA~1/R/bin
>> "-Lc:/mingw/lib" -lfl -liberty -lR
>>
>> The file Rsnns.def is generated automatically and is deleted on success.
>> On error, it remains, and contains export of all symbols.
>> Probably GCC generates it, I haven't tracked its generation in the R's
>> scripts.
Actually, you *still* haven't tracked its generation in the R's scripts.
> This file is generated in R scripts.
> MkRules contains
>
> %.dll:
> @$(ECHO) EXPORTS > $*.def
> @$(NM) $^ | $(SED) -n 's/^........ [BCDRT] _/ /p' >> $*.def
> $(DLL) -shared $(DLLFLAGS) $($*-DLLFLAGS) -o $@ $*.def $^ $($*-DLLLIBS)
> $(DLLLIBS)
> @$(RM) $*.def
Yes, but that is not necessarily the rule used. See MakeDll which
contains the rules for generating DLLs to be linked into R, and CHANGES
for the documentation.
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list