Skip to content

a4z/djinni-generator

This branch is 1 commit ahead of, 1 commit behind cross-language-cpp/djinni-generator:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5c283b8 · Jan 11, 2025

History

84 Commits
Jan 11, 2025
Jan 1, 2024
Nov 18, 2023
Nov 18, 2023
Oct 17, 2020
Nov 18, 2023
Nov 18, 2023
Nov 18, 2023
Oct 18, 2020
Oct 13, 2020
Jul 12, 2022
Jan 1, 2024
May 2, 2021
May 2, 2021

Repository files navigation

Djinni Generator

CI GitHub release (latest by date) GitHub all releases

➡️ 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

GitHub release (latest by date)

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

GitHub release (latest by date)

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

About

CLI that generates gluecode from a djinni-idl file

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Scala 66.5%
  • C++ 19.2%
  • Python 5.3%
  • Objective-C++ 2.7%
  • Objective-C 2.6%
  • Java 2.3%
  • C 1.4%