indoorvivants / sn-bindgen   0.1.2

Website GitHub

Scala 3 native binding generator + libclang facade

Scala versions: 3.x 2.13 2.12
Scala Native versions: 0.4
sbt plugins: 1.0

Bindings generator for Scala 3 Native

bindgen-interface Scala version support

Distributed as a SBT plugin and a CLI program, this project generates idiomatic Scala 3 Native bindings to C libraries using libclang.

Status (February 2024): project it actively maintained, and is used in several applications

  • Generates glue C code to work around Scala Native's missing interop features
  • Strongly typed (where possible) interfaces to structs, unions, and functions
  • Supports named enums
  • Collects unnamed enums into a single location
  • Extra flags to work around compiler deficiencies