Skip to content

indoorvivants/sn-bindgen

Repository files navigation

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