djinni-generator
djinni-generator copied to clipboard
Command-line tool that generates gluecode from a djinni-IDL file
Djinni Generator
:arrow_right: Documentation: djinni.xlcpp.dev
Djinni is a tool for generating cross-language type declarations and interface bindings. It's designed to connect C++ with either Java or Objective-C.
Djinni generator parses an interface definition file and generates:
- C++ implementations of types (enums, records)
- Java implementations of types
- Objective-C implementations of types
- Python implementation of types
- C++/CLI implementation of types
- C++ code to convert between C++ and Java over JNI
- C++ code to serialize/deserialize types to/from JSON
- Objective-C++ code to convert between C++ and Objective-C
- Python and C code to convert between C++ and Python over CFFI
- C++/CLI code to convert between C++ and C#
Installation
Djinni requires Java to be able to execute!
Linux, macOS
Manually
Install with asdf
asdf plugin add djinni
asdf install djinni latest
MacOS homebrew
Add the tap:
brew tap cross-language-cpp/brew https://github.com/cross-language-cpp/brew.git
Install the djinni generator:
brew install djinni
Windows
Conan
The generator is available at conan-center for Windows, Linux & macOS.
Add the generator/version as a build requirement in conanfile.txt
:
[build_requires]
djinni-generator/1.x.x
Please adopt the version number as wanted, e.g. djinni-generator/1.3.2
Credits
Thanks goes to these contributors!
The code in this repository is in large portions copied from dropbox/djinni which was created by
- Kannan Goundan
- Tony Grue
- Derek He
- Steven Kabbes
- Jacob Potter
- Iulia Tamas
- Andrew Twyman