Playdate Bindings Generator

Util to generate bindings to Playdate with additional code-gen features like in-code documentation directly by official c-reference.

Requirements

  1. Rust nightly toolchain
  2. Playdate SDK
  3. Follow the official documentation
  4. Requirements inherited by bindgen, follow official documentation.

Configuration

Inherited configuration by bindgen: follow bindgen official documentation.

Env var PLAYDATE_SDK_PATH as described in playdate official documentation.

Optional env var ARM_GCC_PATH to help to find arm-none-eabi-gcc (or gcc-arm-none-eabi) with entire toolchain. Useful only for troubleshooting.

Usage

Cargo.toml: toml [build-dependencies.bindgen] package = "playdate-bindgen" version = "*"

Add this to build-dependencies and add to your build-script something like this:

rust let cfg = bindgen::cfg::Config::default(); let generator = bindgen::Generator::new(cfg).expect("Couldn't create bindings generator."); let out_path = bindgen::env_var("OUT_DIR").map(PathBuf::from) .map(|p| p.join(&generator.filename.to_string())) .unwrap(); let bindings = generator.generate().expect("Couldn't generate bindings."); bindings.write_to_file(&out_path).expect("Couldn't write bindings.");

For complex examples see build-script in the playdate-sys crate.


This software is not sponsored or supported by Panic.