rust_swig 0.1.0 is out.
rust_swig is a tool for connecting libraries written in Rust with other languages.
Currently supported languages are Java and C/C++.
The main idea is as following.
- You (with some help of macros) describe what part of functionality
you want to export to other languages, and what it will look like in other languages (this is all done in Rust); - rust_swig applies conversion rules (described in DSL (a subset of Rust)) to generate all the service code (converts input parameters, converts output and so on)
- As a result you can just create an object in another language and use it
likeFoo foo = new Foo(5); foo.f(1, 2);
Also if you are looking for an example how to integrate cargo
with cmake
or gradle
, this project will be useful for you.
Java part is mature enough, I use it for one server side project and android one.
C++ part has only basic support.
Any help is always welcome.