Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full R API bindings #242

Open
wants to merge 50 commits into
base: master
Choose a base branch
from
Open

Full R API bindings #242

wants to merge 50 commits into from

Conversation

CGMossa
Copy link
Member

@CGMossa CGMossa commented Jun 9, 2024

WORK IN PROGRESS

  • use CI to generate all the bindings, for all the platforms and all the R versions
  • Add feature gate to every module, so they can be included selectively.

@CGMossa
Copy link
Member Author

CGMossa commented Jun 9, 2024

Currently, I'm unable to make the blocking of items work properly on Windows.
IT is a source of the LOC inflation seen in this PR, but it is a bit inevitable.

  64 src/bindings/bindings-Rdefines-linux-aarch64-R4.3.rs
  64 src/bindings/bindings-Rdefines-linux-aarch64-R4.4.rs
  64 src/bindings/bindings-Rdefines-linux-aarch64-R4.5-devel.rs
  73 src/bindings/bindings-Rdefines-linux-x86_64-R4.3.rs
  73 src/bindings/bindings-Rdefines-linux-x86_64-R4.4.rs
  73 src/bindings/bindings-Rdefines-linux-x86_64-R4.5-devel.rs
  73 src/bindings/bindings-Rdefines-macos-aarch64-R4.3.rs
  73 src/bindings/bindings-Rdefines-macos-aarch64-R4.4.rs
  73 src/bindings/bindings-Rdefines-macos-aarch64-R4.5-devel.rs
  81 src/bindings/bindings-Rdefines-macos-x86_64-R4.4.rs
1222 src/bindings/bindings-Rdefines-windows-x86_64-R4.3.rs
1224 src/bindings/bindings-Rdefines-windows-x86_64-R4.4.rs
1210 src/bindings/bindings-Rdefines-windows-x86_64-R4.5-devel.rs

I don't know what to do about it right now, but it is very much related to how Windows present paths.

@CGMossa
Copy link
Member Author

CGMossa commented Jun 10, 2024

Help wanted

Filtering of items works on all platforms, except on Windows. This is something to do with Windows
and paths. I can't figure out much more to do about this.
But it is on the way. There is something subtle that just needs adjusting and then it would work.

@CGMossa CGMossa marked this pull request as ready for review July 19, 2024 23:01
@CGMossa
Copy link
Member Author

CGMossa commented Jul 20, 2024

It looks like I figured out the logic that plays nicely with bindgen+clang+different os.

Details

name                                                    ,line_count
bindings\bindings-Altrep-linux-aarch64-R4.4.rs          ,       252
bindings\bindings-Altrep-linux-x86_64-R4.4.rs           ,       252
bindings\bindings-Altrep-macos-aarch64-R4.4.rs          ,       252
bindings\bindings-Altrep-macos-x86_64-R4.4.rs           ,       252
bindings\bindings-Altrep-windows-x86_64-R4.4.rs         ,       252
bindings\bindings-Applic-linux-aarch64-R4.4.rs          ,       272
bindings\bindings-Applic-linux-x86_64-R4.4.rs           ,       272
bindings\bindings-Applic-macos-aarch64-R4.4.rs          ,       274
bindings\bindings-Applic-macos-x86_64-R4.4.rs           ,       274
bindings\bindings-Applic-windows-x86_64-R4.4.rs         ,       274
bindings\bindings-Arith-linux-aarch64-R4.4.rs           ,        24
bindings\bindings-Arith-linux-x86_64-R4.4.rs            ,        24
bindings\bindings-Arith-macos-aarch64-R4.4.rs           ,        24
bindings\bindings-Arith-macos-x86_64-R4.4.rs            ,        24
bindings\bindings-Arith-windows-x86_64-R4.4.rs          ,        24
bindings\bindings-BLAS-linux-aarch64-R4.4.rs            ,       822
bindings\bindings-BLAS-linux-x86_64-R4.4.rs             ,       822
bindings\bindings-BLAS-macos-aarch64-R4.4.rs            ,       847
bindings\bindings-BLAS-macos-x86_64-R4.4.rs             ,       847
bindings\bindings-BLAS-windows-x86_64-R4.4.rs           ,       847
bindings\bindings-Boolean-linux-aarch64-R4.4.rs         ,        16
bindings\bindings-Boolean-linux-x86_64-R4.4.rs          ,        16
bindings\bindings-Boolean-macos-aarch64-R4.4.rs         ,        16
bindings\bindings-Boolean-macos-x86_64-R4.4.rs          ,        16
bindings\bindings-Boolean-windows-x86_64-R4.4.rs        ,        16
bindings\bindings-Callbacks-linux-aarch64-R4.4.rs       ,        87
bindings\bindings-Callbacks-linux-x86_64-R4.4.rs        ,        87
bindings\bindings-Callbacks-macos-aarch64-R4.4.rs       ,        87
bindings\bindings-Callbacks-macos-x86_64-R4.4.rs        ,        87
bindings\bindings-Callbacks-windows-x86_64-R4.4.rs      ,        88
bindings\bindings-Complex-linux-aarch64-R4.4.rs         ,        15
bindings\bindings-Complex-linux-x86_64-R4.4.rs          ,        15
bindings\bindings-Complex-macos-aarch64-R4.4.rs         ,        15
bindings\bindings-Complex-macos-x86_64-R4.4.rs          ,        15
bindings\bindings-Complex-windows-x86_64-R4.4.rs        ,        15
bindings\bindings-Connections-linux-aarch64-R4.4.rs     ,       103
bindings\bindings-Connections-linux-x86_64-R4.4.rs      ,       112
bindings\bindings-Connections-macos-aarch64-R4.4.rs     ,       105
bindings\bindings-Connections-macos-x86_64-R4.4.rs      ,       113
bindings\bindings-Connections-windows-x86_64-R4.4.rs    ,       105
bindings\bindings-Constants-linux-aarch64-R4.4.rs       ,         9
bindings\bindings-Constants-linux-x86_64-R4.4.rs        ,         9
bindings\bindings-Constants-macos-aarch64-R4.4.rs       ,         9
bindings\bindings-Constants-macos-x86_64-R4.4.rs        ,         9
bindings\bindings-Constants-windows-x86_64-R4.4.rs      ,         9
bindings\bindings-Error-linux-aarch64-R4.4.rs           ,        15
bindings\bindings-Error-linux-x86_64-R4.4.rs            ,        15
bindings\bindings-Error-macos-aarch64-R4.4.rs           ,        15
bindings\bindings-Error-macos-x86_64-R4.4.rs            ,        15
bindings\bindings-Error-windows-x86_64-R4.4.rs          ,        15
bindings\bindings-GetX11Image-linux-aarch64-R4.4.rs     ,        17
bindings\bindings-GetX11Image-linux-x86_64-R4.4.rs      ,        17
bindings\bindings-GetX11Image-macos-aarch64-R4.4.rs     ,        17
bindings\bindings-GetX11Image-macos-x86_64-R4.4.rs      ,        17
bindings\bindings-GraphicsDevice-linux-aarch64-R4.4.rs  ,       352
bindings\bindings-GraphicsDevice-linux-x86_64-R4.4.rs   ,       352
bindings\bindings-GraphicsDevice-macos-aarch64-R4.4.rs  ,       360
bindings\bindings-GraphicsDevice-macos-x86_64-R4.4.rs   ,       360
bindings\bindings-GraphicsDevice-windows-x86_64-R4.4.rs ,       360
bindings\bindings-GraphicsEngine-linux-aarch64-R4.4.rs  ,       530
bindings\bindings-GraphicsEngine-linux-x86_64-R4.4.rs   ,       530
bindings\bindings-GraphicsEngine-macos-aarch64-R4.4.rs  ,       533
bindings\bindings-GraphicsEngine-macos-x86_64-R4.4.rs   ,       533
bindings\bindings-GraphicsEngine-windows-x86_64-R4.4.rs ,       533
bindings\bindings-Itermacros-linux-aarch64-R4.4.rs      ,         9
bindings\bindings-Itermacros-linux-x86_64-R4.4.rs       ,         9
bindings\bindings-Itermacros-macos-aarch64-R4.4.rs      ,         9
bindings\bindings-Itermacros-macos-x86_64-R4.4.rs       ,         9
bindings\bindings-Itermacros-windows-x86_64-R4.4.rs     ,         9
bindings\bindings-Lapack-linux-aarch64-R4.4.rs          ,      6145
bindings\bindings-Lapack-linux-x86_64-R4.4.rs           ,      6145
bindings\bindings-Lapack-macos-aarch64-R4.4.rs          ,      6439
bindings\bindings-Lapack-macos-x86_64-R4.4.rs           ,      6439
bindings\bindings-Lapack-windows-x86_64-R4.4.rs         ,      6439
bindings\bindings-Linpack-linux-aarch64-R4.4.rs         ,       330
bindings\bindings-Linpack-linux-x86_64-R4.4.rs          ,       330
bindings\bindings-Linpack-macos-aarch64-R4.4.rs         ,       332
bindings\bindings-Linpack-macos-x86_64-R4.4.rs          ,       332
bindings\bindings-Linpack-windows-x86_64-R4.4.rs        ,       332
bindings\bindings-MathThreads-linux-aarch64-R4.4.rs     ,        12
bindings\bindings-MathThreads-linux-x86_64-R4.4.rs      ,        12
bindings\bindings-MathThreads-macos-aarch64-R4.4.rs     ,        12
bindings\bindings-MathThreads-macos-x86_64-R4.4.rs      ,        12
bindings\bindings-MathThreads-windows-x86_64-R4.4.rs    ,        12
bindings\bindings-Memory-linux-aarch64-R4.4.rs          ,        32
bindings\bindings-Memory-linux-x86_64-R4.4.rs           ,        32
bindings\bindings-Memory-macos-aarch64-R4.4.rs          ,        32
bindings\bindings-Memory-macos-x86_64-R4.4.rs           ,        32
bindings\bindings-Memory-windows-x86_64-R4.4.rs         ,        32
bindings\bindings-Parse-linux-aarch64-R4.4.rs           ,        26
bindings\bindings-Parse-linux-x86_64-R4.4.rs            ,        26
bindings\bindings-Parse-macos-aarch64-R4.4.rs           ,        26
bindings\bindings-Parse-macos-x86_64-R4.4.rs            ,        26
bindings\bindings-Parse-windows-x86_64-R4.4.rs          ,        26
bindings\bindings-Print-linux-aarch64-R4.4.rs           ,        15
bindings\bindings-Print-linux-x86_64-R4.4.rs            ,        24
bindings\bindings-Print-macos-aarch64-R4.4.rs           ,        16
bindings\bindings-Print-macos-x86_64-R4.4.rs            ,        24
bindings\bindings-Print-windows-x86_64-R4.4.rs          ,        17
bindings\bindings-PrtUtil-linux-aarch64-R4.4.rs         ,        53
bindings\bindings-PrtUtil-linux-x86_64-R4.4.rs          ,        53
bindings\bindings-PrtUtil-macos-aarch64-R4.4.rs         ,        55
bindings\bindings-PrtUtil-macos-x86_64-R4.4.rs          ,        55
bindings\bindings-PrtUtil-windows-x86_64-R4.4.rs        ,        56
bindings\bindings-QuartzDevice-linux-aarch64-R4.4.rs    ,       239
bindings\bindings-QuartzDevice-linux-x86_64-R4.4.rs     ,       239
bindings\bindings-QuartzDevice-macos-aarch64-R4.4.rs    ,       239
bindings\bindings-QuartzDevice-macos-x86_64-R4.4.rs     ,       239
bindings\bindings-R-linux-aarch64-R4.4.rs               ,        14
bindings\bindings-R-linux-x86_64-R4.4.rs                ,        14
bindings\bindings-R-macos-aarch64-R4.4.rs               ,        14
bindings\bindings-R-macos-x86_64-R4.4.rs                ,        14
bindings\bindings-R-windows-x86_64-R4.4.rs              ,        15
bindings\bindings-RS-linux-aarch64-R4.4.rs              ,        17
bindings\bindings-RS-linux-x86_64-R4.4.rs               ,        17
bindings\bindings-RS-macos-aarch64-R4.4.rs              ,        17
bindings\bindings-RS-macos-x86_64-R4.4.rs               ,        17
bindings\bindings-RS-windows-x86_64-R4.4.rs             ,        17
bindings\bindings-RStartup-linux-aarch64-R4.4.rs        ,       171
bindings\bindings-RStartup-linux-x86_64-R4.4.rs         ,       171
bindings\bindings-RStartup-macos-aarch64-R4.4.rs        ,       171
bindings\bindings-RStartup-macos-x86_64-R4.4.rs         ,       171
bindings\bindings-RStartup-windows-x86_64-R4.4.rs       ,       225
bindings\bindings-Rallocators-linux-aarch64-R4.4.rs     ,        27
bindings\bindings-Rallocators-linux-x86_64-R4.4.rs      ,        27
bindings\bindings-Rallocators-macos-aarch64-R4.4.rs     ,        27
bindings\bindings-Rallocators-macos-x86_64-R4.4.rs      ,        27
bindings\bindings-Rallocators-windows-x86_64-R4.4.rs    ,        27
bindings\bindings-Random-linux-aarch64-R4.4.rs          ,        54
bindings\bindings-Random-linux-x86_64-R4.4.rs           ,        54
bindings\bindings-Random-macos-aarch64-R4.4.rs          ,        54
bindings\bindings-Random-macos-x86_64-R4.4.rs           ,        54
bindings\bindings-Random-windows-x86_64-R4.4.rs         ,        54
bindings\bindings-Rconfig-linux-aarch64-R4.4.rs         ,        18
bindings\bindings-Rconfig-linux-x86_64-R4.4.rs          ,        18
bindings\bindings-Rconfig-macos-aarch64-R4.4.rs         ,        18
bindings\bindings-Rconfig-macos-x86_64-R4.4.rs          ,        18
bindings\bindings-Rconfig-windows-x86_64-R4.4.rs        ,        16
bindings\bindings-Rdefines-linux-aarch64-R4.4.rs        ,        11
bindings\bindings-Rdefines-linux-x86_64-R4.4.rs         ,        11
bindings\bindings-Rdefines-macos-aarch64-R4.4.rs        ,        11
bindings\bindings-Rdefines-macos-x86_64-R4.4.rs         ,        11
bindings\bindings-Rdefines-windows-x86_64-R4.4.rs       ,        11
bindings\bindings-Rdynload-linux-aarch64-R4.4.rs        ,        81
bindings\bindings-Rdynload-linux-x86_64-R4.4.rs         ,        81
bindings\bindings-Rdynload-macos-aarch64-R4.4.rs        ,        81
bindings\bindings-Rdynload-macos-x86_64-R4.4.rs         ,        81
bindings\bindings-Rdynload-windows-x86_64-R4.4.rs       ,        81
bindings\bindings-Rembedded-linux-aarch64-R4.4.rs       ,        11
bindings\bindings-Rembedded-linux-x86_64-R4.4.rs        ,        11
bindings\bindings-Rembedded-macos-aarch64-R4.4.rs       ,        11
bindings\bindings-Rembedded-macos-x86_64-R4.4.rs        ,        11
bindings\bindings-Rembedded-windows-x86_64-R4.4.rs      ,        18
bindings\bindings-Riconv-linux-aarch64-R4.4.rs          ,        22
bindings\bindings-Riconv-linux-x86_64-R4.4.rs           ,        22
bindings\bindings-Riconv-macos-aarch64-R4.4.rs          ,        22
bindings\bindings-Riconv-macos-x86_64-R4.4.rs           ,        22
bindings\bindings-Riconv-windows-x86_64-R4.4.rs         ,        22
bindings\bindings-Rinterface-linux-aarch64-R4.4.rs      ,        65
bindings\bindings-Rinterface-linux-x86_64-R4.4.rs       ,        65
bindings\bindings-Rinterface-macos-aarch64-R4.4.rs      ,        72
bindings\bindings-Rinterface-macos-x86_64-R4.4.rs       ,        72
bindings\bindings-Rinternals-linux-aarch64-R4.4.rs      ,       925
bindings\bindings-Rinternals-linux-x86_64-R4.4.rs       ,       925
bindings\bindings-Rinternals-macos-aarch64-R4.4.rs      ,       933
bindings\bindings-Rinternals-macos-x86_64-R4.4.rs       ,       933
bindings\bindings-Rinternals-windows-x86_64-R4.4.rs     ,       880
bindings\bindings-Rmath-linux-aarch64-R4.4.rs           ,       510
bindings\bindings-Rmath-linux-x86_64-R4.4.rs            ,       510
bindings\bindings-Rmath-macos-aarch64-R4.4.rs           ,       539
bindings\bindings-Rmath-macos-x86_64-R4.4.rs            ,       539
bindings\bindings-Rmath-windows-x86_64-R4.4.rs          ,       539
bindings\bindings-Rversion-linux-aarch64-R4.4.rs        ,        17
bindings\bindings-Rversion-linux-x86_64-R4.4.rs         ,        17
bindings\bindings-Rversion-macos-aarch64-R4.4.rs        ,        17
bindings\bindings-Rversion-macos-x86_64-R4.4.rs         ,        17
bindings\bindings-Rversion-windows-x86_64-R4.4.rs       ,        17
bindings\bindings-Utils-linux-aarch64-R4.4.rs           ,       112
bindings\bindings-Utils-linux-x86_64-R4.4.rs            ,       112
bindings\bindings-Utils-macos-aarch64-R4.4.rs           ,       114
bindings\bindings-Utils-macos-x86_64-R4.4.rs            ,       114
bindings\bindings-Utils-windows-x86_64-R4.4.rs          ,       118
bindings\bindings-Visibility-linux-aarch64-R4.4.rs      ,         8
bindings\bindings-Visibility-linux-x86_64-R4.4.rs       ,         8
bindings\bindings-Visibility-macos-aarch64-R4.4.rs      ,         8
bindings\bindings-Visibility-macos-x86_64-R4.4.rs       ,         8
bindings\bindings-Visibility-windows-x86_64-R4.4.rs     ,         8
bindings\bindings-eventloop-linux-aarch64-R4.4.rs       ,        56
bindings\bindings-eventloop-linux-x86_64-R4.4.rs        ,        56
bindings\bindings-eventloop-macos-aarch64-R4.4.rs       ,        48
bindings\bindings-eventloop-macos-x86_64-R4.4.rs        ,        48
bindings\bindings-ga-windows-x86_64-R4.4.rs             ,       388
bindings\bindings-graphapp-windows-x86_64-R4.4.rs       ,       634
bindings\bindings-iconv-windows-x86_64-R4.4.rs          ,        33
bindings\bindings-libextern-linux-aarch64-R4.4.rs       ,         8
bindings\bindings-libextern-linux-x86_64-R4.4.rs        ,         8
bindings\bindings-libextern-macos-aarch64-R4.4.rs       ,         8
bindings\bindings-libextern-macos-x86_64-R4.4.rs        ,         8
bindings\bindings-libextern-windows-x86_64-R4.4.rs      ,         8
bindings\bindings-libintl-macos-aarch64-R4.4.rs         ,        57
bindings\bindings-libintl-macos-x86_64-R4.4.rs          ,        57
bindings\bindings-libintl-windows-x86_64-R4.4.rs        ,        58
bindings\bindings-stats_package-linux-aarch64-R4.4.rs   ,        71
bindings\bindings-stats_package-linux-x86_64-R4.4.rs    ,        71
bindings\bindings-stats_package-macos-aarch64-R4.4.rs   ,       118
bindings\bindings-stats_package-macos-x86_64-R4.4.rs    ,       118
bindings\bindings-stats_package-windows-x86_64-R4.4.rs  ,       118
bindings\bindings-stats_stubs-linux-aarch64-R4.4.rs     ,         8
bindings\bindings-stats_stubs-linux-x86_64-R4.4.rs      ,         8
bindings\bindings-stats_stubs-macos-aarch64-R4.4.rs     ,        55
bindings\bindings-stats_stubs-macos-x86_64-R4.4.rs      ,        55
bindings\bindings-stats_stubs-windows-x86_64-R4.4.rs    ,        55

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant