-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Language support expansion
Language Specific Documentation
Python: https://docs.python.org/3/extending/building.html
Rust
https://www.reddit.com/r/rust/comments/abefuy/how_to_create_a_dynamic_rust_library_and_link_to/
PHP - Load only?
https://www.php.net/manual/en/class.ffi.php
Nodejs - Load only?
https://github.com/node-ffi/node-ffi
Crystal - possibly primitive support
crystal-lang/crystal#921
Steps
Start by moving all "golang specific" build steps to either a "builder" class or to a config file that can be loaded into a generic builder class.
Then, investigate cross compilation support for all above candidate languages (except maybe php and node. I suspect they are "load" only for our purposes, though I could be wrong) Cross-compilation is mportant in the near-term so that it is as seamless as possible between build languages.
Build a loader for python and refer back to golden's ruby in the package's readme. Python also makes a good candidate for the next language to be supported in the builder.