From deddc5a32eddc9445e54c8b64bb1226e71282ae2 Mon Sep 17 00:00:00 2001 From: Mick Jordan <mick.jordan@oracle.com> Date: Tue, 17 Nov 2015 13:00:14 -0800 Subject: [PATCH] add omitted native fficall README --- com.oracle.truffle.r.native/fficall/README | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 com.oracle.truffle.r.native/fficall/README diff --git a/com.oracle.truffle.r.native/fficall/README b/com.oracle.truffle.r.native/fficall/README new file mode 100644 index 0000000000..beac20fa51 --- /dev/null +++ b/com.oracle.truffle.r.native/fficall/README @@ -0,0 +1,19 @@ +fficall contains the implementation of the R FFI, as described in https://cran.r-project.org/doc/manuals/r-release/R-exts.html. + + There are two sub-directories: + common + jni + + 'jni' contains the implementation that is based on Java JNI. 'common' contains code that has no JNI dependencies and has been extracted for + reuse in other implementations. Note however, that common cannot be compiled in isolation, as it depends on the implementation via rffiutils.h. + During the build symbolic lionk are made to the files in command and they are compiled with the other 'jni' files. + + The R FFI is rather baroque and defined in large set of header files in the sibling 'include' directory. In GnuR, the implementation + of the functions is spread over the GnuR C files in 'src/main'. To ease navigation of the FastR implementation, in general, the implementation + of the functions in a header file 'Rxxx.h' is stored in the file 'Rxxx.c'. + +The points of entry from Java are defined in the file rfficall.c. Various utility functions are defined if rffiutils.{h,c}. + +TODO + +Refactor the files that are copied from GnuR and not strictly part of the FFI but support the native graphics package. -- GitLab