libR-sys
libR-sys copied to clipboard
Low level R bindgen interface
On macOS, one can use the linker flags `-undefined dynamic_lookup` to basically tell macOS that the application will provide the required symbols at runtime, rather than via explicitly linking with...
See https://github.com/extendr/libR-sys/issues/95#issuecomment-1037084923 Currently, libR-sys exports all symbols wildly, including those from the C standard library. I think we should keep the exports minimal to avoid confusion. This pull request tries...
As we found on #95, half of the functions that libR-sys exports are NOT from R (e.g., `lgamma` is from ``). I'm saying "half" because the diff on #96 would...
Currently libR-sys requires users to install standalone MSYS2 for libclang, but as https://github.com/extendr/extendr/issues/13 suggests, it might be good to use Rtools' MSYS2 for simplicity. Rtools' MSYS uses a dedicated repository,...
This is not an implementation of #204. Currently, PRs that change `libR-sys` cannot pass CI checks. CI workflow right now: Runs checks + layout-tests. Uploads generated bindings (to other workflows)....
Replacement for #205, with a pattern from Rust for Rustacean book, see https://rust-for-rustaceans.com/#errata This is a far more complete approach * No longer deriving `Copy` or `Clone` for something we...
There are several "inferred" enums in the R-API. This setting ensures that they become idiomatic Rust enums. There are still missing ones, namely the macro-defined-enums, but maybe I'll add those...
R-API provides an enum definition of `SEXPTYPE`. In fact, it works fine on our end, because it simply changes how `SEXPTYPE` is defined. So I think we should use it....
I've been on a journey to remove `libgcc_eh` and `libgcc_s.a`, and this is what I found out. ```shell C:\Users\tpb398\Documents\GitHub\libR-sys>rustc +nightly -Z unstable-options --target=x86_64-pc-windows-gnu --print target-spec-json > x86_64-pc-windows-gnu_target_file.json ``` Resulting in:...