raylib-sys 6.0.0

Raw FFI bindings for Raylib
Documentation
[package]
name = "raylib-sys"
version = "6.0.0"
authors = ["raylib-rs team <https://github.com/raylib-rs/raylib-rs>"]
license = "Zlib"
description = "Raw FFI bindings for Raylib"
documentation = "https://docs.rs/raylib-sys"
repository = "https://github.com/raylib-rs/raylib-rs"
keywords = ["bindings", "raylib", "gamedev", "ffi"]
categories = ["external-ffi-bindings"]
edition = "2024"
rust-version = "1.88"
exclude = ["raylib/examples/*", "raylib/projects/*", "raylib/templates/*"]
links = "raylib"

[dependencies]
serde = { version = "1.0", features = ["derive"], optional = true }
mint = { version = "0.5", optional = true }
glam = { version = "0.30", optional = true }

[dev-dependencies]
serde_json = "1.0"

[build-dependencies]
cmake = "0.1.51"
cc = { version = "1.0", features = ["parallel"] }
bindgen = "0.72.1"

[features]
# default features follow the cmake version: https://github.com/raysan5/raylib/wiki/CMake-Build-Options
# NOTE: flags are reconciled against raylib 6.0 config.h (see docs/superpowers/notes/ws1-config-reconcile.md)
default = [
  "GLFW_BUILD_X11",
  "USE_AUDIO",
  "SUPPORT_MODULE_RSHAPES",
  "SUPPORT_MODULE_RTEXTURES",
  "SUPPORT_MODULE_RTEXT",
  "SUPPORT_MODULE_RMODELS",
  "SUPPORT_MODULE_RAUDIO",
  "SUPPORT_CAMERA_SYSTEM",
  "SUPPORT_GESTURES_SYSTEM",
  "SUPPORT_RPRAND_GENERATOR",
  "SUPPORT_MOUSE_GESTURES",
  "SUPPORT_SSH_KEYBOARD_RPI",
  "SUPPORT_WINMM_HIGHRES_TIMER",
  "SUPPORT_SCREEN_CAPTURE",
  "SUPPORT_COMPRESSION_API",
  "SUPPORT_AUTOMATION_EVENTS",
  "SUPPORT_CLIPBOARD_IMAGE",
  "SUPPORT_QUADS_DRAW_MODE",
  "SUPPORT_FILEFORMAT_PNG",
  "SUPPORT_FILEFORMAT_GIF",
  "SUPPORT_FILEFORMAT_QOI",
  "SUPPORT_FILEFORMAT_DDS",
  "SUPPORT_IMAGE_EXPORT",
  "SUPPORT_IMAGE_GENERATION",
  "SUPPORT_FILEFORMAT_TTF",
  "SUPPORT_FILEFORMAT_FNT",
  "SUPPORT_FILEFORMAT_OBJ",
  "SUPPORT_FILEFORMAT_MTL",
  "SUPPORT_FILEFORMAT_IQM",
  "SUPPORT_FILEFORMAT_GLTF",
  "SUPPORT_FILEFORMAT_VOX",
  "SUPPORT_FILEFORMAT_M3D",
  "SUPPORT_MESH_GENERATION",
  "SUPPORT_FILEFORMAT_WAV",
  "SUPPORT_FILEFORMAT_OGG",
  "SUPPORT_FILEFORMAT_MP3",
  "SUPPORT_FILEFORMAT_QOA",
  "SUPPORT_FILEFORMAT_XM",
  "SUPPORT_FILEFORMAT_MOD",
  "SUPPORT_TRACELOG",
]
serde = ["dep:serde"]
mint = ["dep:mint"]
glam = ["dep:glam"]
raygui = []
# Do not autogenerate bindings, instead read an existing one specified by env RAYLIB_BINDGEN_LOCATION
# useful when bindgen doesn't generate correctly on esoteric platforms and need manual auidting
nobindgen = []


# ----- Copy and paste these from `raylib-sys` for easier maintance
# Build Raylib headless for docs/esoteric platforms. Up to you to link.
nobuild = []

# OpenGL stuff, intended for fixing #122
opengl_11 = []    # buggy? might not work with wayland
opengl_21 = []
opengl_33 = []
opengl_43 = []
opengl_es_20 = []
opengl_es_30 = []
sdl = []
wayland = []
legacy_rpi = []
drm = []
# CPU software renderer + windowless Memory platform (raylib 6.0 PLATFORM=Memory).
# Mutually exclusive with every opengl_* backend and with `drm` (enforced in build.rs).
software_renderer = []

# Curated "max capability" set for CI lint/test + users who want everything.
# default + ecosystem adapters + raygui + every capability flag, EXCLUDING the
# mutually-exclusive backend selectors (opengl_*/sdl/wayland/drm/legacy_rpi/
# software_renderer), the nobuild/nobindgen escape hatches, sanitizers, build
# profiles, and BUILD_SHARED_LIBS/USE_EXTERNAL_GLFW. `--all-features` is invalid
# for raylib-sys, so this alias is the canonical "everything" target.
full = [
    "default", "raygui", "glam", "mint", "serde",
    "USE_AUDIO",
    "SUPPORT_MODULE_RSHAPES", "SUPPORT_MODULE_RTEXTURES", "SUPPORT_MODULE_RTEXT",
    "SUPPORT_MODULE_RMODELS", "SUPPORT_MODULE_RAUDIO",
    "SUPPORT_CAMERA_SYSTEM", "SUPPORT_GESTURES_SYSTEM", "SUPPORT_RPRAND_GENERATOR",
    "SUPPORT_MOUSE_GESTURES", "SUPPORT_COMPRESSION_API", "SUPPORT_AUTOMATION_EVENTS",
    "SUPPORT_CUSTOM_FRAME_CONTROL", "SUPPORT_CLIPBOARD_IMAGE", "SUPPORT_QUADS_DRAW_MODE",
    "SUPPORT_FILEFORMAT_PNG", "SUPPORT_FILEFORMAT_BMP", "SUPPORT_FILEFORMAT_TGA",
    "SUPPORT_FILEFORMAT_JPG", "SUPPORT_FILEFORMAT_GIF", "SUPPORT_FILEFORMAT_QOI",
    "SUPPORT_FILEFORMAT_PSD", "SUPPORT_FILEFORMAT_DDS", "SUPPORT_FILEFORMAT_HDR",
    "SUPPORT_FILEFORMAT_PIC", "SUPPORT_FILEFORMAT_PNM", "SUPPORT_FILEFORMAT_KTX",
    "SUPPORT_FILEFORMAT_ASTC", "SUPPORT_FILEFORMAT_PKM", "SUPPORT_FILEFORMAT_PVR",
    "SUPPORT_IMAGE_EXPORT", "SUPPORT_IMAGE_GENERATION",
    "SUPPORT_FILEFORMAT_TTF", "SUPPORT_FILEFORMAT_FNT", "SUPPORT_FILEFORMAT_BDF",
    "SUPPORT_FILEFORMAT_OBJ", "SUPPORT_FILEFORMAT_MTL", "SUPPORT_FILEFORMAT_IQM",
    "SUPPORT_FILEFORMAT_GLTF", "SUPPORT_FILEFORMAT_VOX", "SUPPORT_FILEFORMAT_M3D",
    "SUPPORT_MESH_GENERATION", "SUPPORT_GPU_SKINNING",
    "SUPPORT_FILEFORMAT_WAV", "SUPPORT_FILEFORMAT_OGG", "SUPPORT_FILEFORMAT_MP3",
    "SUPPORT_FILEFORMAT_QOA", "SUPPORT_FILEFORMAT_FLAC", "SUPPORT_FILEFORMAT_XM",
    "SUPPORT_FILEFORMAT_MOD",
    "SUPPORT_TRACELOG", "SUPPORT_SCREEN_CAPTURE",
]

# extra build profiles:
release_with_debug_info = []
min_size_rel = []

ENABLE_ASAN = []
ENABLE_UBSAN = []
ENABLE_MSAN = []
WITH_PIC = []
BUILD_SHARED_LIBS = []
USE_EXTERNAL_GLFW = []
GLFW_BUILD_WAYLAND = []
GLFW_BUILD_X11 = []
INCLUDE_EVERYTHING = []

USE_AUDIO = []
SUPPORT_MODULE_RSHAPES = []
SUPPORT_MODULE_RTEXTURES = []
SUPPORT_MODULE_RTEXT = []
SUPPORT_MODULE_RMODELS = []
SUPPORT_MODULE_RAUDIO = []
SUPPORT_BUSY_WAIT_LOOP = []
SUPPORT_CAMERA_SYSTEM = []
SUPPORT_GESTURES_SYSTEM = []
SUPPORT_RPRAND_GENERATOR = []
SUPPORT_MOUSE_GESTURES = []
SUPPORT_SSH_KEYBOARD_RPI = []
SUPPORT_WINMM_HIGHRES_TIMER = []
SUPPORT_PARTIALBUSY_WAIT_LOOP = []
SUPPORT_COMPRESSION_API = []
SUPPORT_AUTOMATION_EVENTS = []
SUPPORT_CUSTOM_FRAME_CONTROL = []
SUPPORT_CLIPBOARD_IMAGE = []
SUPPORT_QUADS_DRAW_MODE = []
SUPPORT_FILEFORMAT_PNG = []
SUPPORT_FILEFORMAT_BMP = []
SUPPORT_FILEFORMAT_TGA = []
SUPPORT_FILEFORMAT_JPG = []
SUPPORT_FILEFORMAT_GIF = []
SUPPORT_FILEFORMAT_QOI = []
SUPPORT_FILEFORMAT_PSD = []
SUPPORT_FILEFORMAT_DDS = []
SUPPORT_FILEFORMAT_HDR = []
SUPPORT_FILEFORMAT_PIC = []
SUPPORT_FILEFORMAT_PNM = []
SUPPORT_FILEFORMAT_KTX = []
SUPPORT_FILEFORMAT_ASTC = []
SUPPORT_FILEFORMAT_PKM = []
SUPPORT_FILEFORMAT_PVR = []
SUPPORT_IMAGE_EXPORT = []
SUPPORT_IMAGE_GENERATION = []
SUPPORT_FILEFORMAT_TTF = []
SUPPORT_FILEFORMAT_FNT = []
SUPPORT_FILEFORMAT_BDF = []
SUPPORT_FILEFORMAT_OBJ = []
SUPPORT_FILEFORMAT_MTL = []
SUPPORT_FILEFORMAT_IQM = []
SUPPORT_FILEFORMAT_GLTF = []
SUPPORT_FILEFORMAT_VOX = []
SUPPORT_FILEFORMAT_M3D = []
SUPPORT_MESH_GENERATION = []
SUPPORT_GPU_SKINNING = []
SUPPORT_FILEFORMAT_WAV = []
SUPPORT_FILEFORMAT_OGG = []
SUPPORT_FILEFORMAT_MP3 = []
SUPPORT_FILEFORMAT_QOA = []
SUPPORT_FILEFORMAT_FLAC = []
SUPPORT_FILEFORMAT_XM = []
SUPPORT_FILEFORMAT_MOD = []
SUPPORT_TRACELOG = []
SUPPORT_SCREEN_CAPTURE = []