tree: da1decf9ee973296cc2b6bc8da51034617d27b8a
  1. 2.32.0.bcr.beta.1/
  2. 2.32.0.bcr.beta.2/
  3. metadata.json
  4. README.md
modules/sdl2/README.md

sdl2

BCR packaging summary for SDL2.

Public targets:

  • @sdl2
  • @sdl2//:sdl2_headers

Packaging notes:

  • @sdl2//:sdl2_headers exports the public SDL headers plus the Bazel-generated SDL_config.h.
  • Internal src/**/*.h headers are kept private to the @sdl2 implementation.
  • The Bazel-managed SDL config header is generated from the upstream template with rules_cc_autoconf.

Enabled backends:

  • Linux: ALSA audio, X11 video, Linux joystick/haptics, pthread timer/loadso/filesystem/power.
  • macOS: Cocoa video, CoreAudio audio, Metal/OpenGL rendering, IOKit joystick/haptics, pthread timer/loadso/filesystem/power.
  • Windows: WinMM audio, Windows video, Windows joystick/sensor, Windows timer/loadso/filesystem/power.

Limitations:

  • Linux build is X11-oriented and does not enable Wayland, PulseAudio, or PipeWire.
  • macOS currently disables HIDAPI in-package.
  • Windows HIDAPI is wired through Bazel textual_hdrs because SDL textually includes src/hidapi/windows/hid.c.

Presubmit:

  • Builds and tests @sdl2//:sdl2_headers_consumer_compile_test and @sdl2//:sdl2_consumer_link_test.
  • Uses the standard module presubmit path for Linux, Windows, and Bazel 8+/9+/rolling on macOS.
  • Uses a Bazel 7 macOS-only bcr_test_module to provide explicit Apple CC toolchain setup for objc_library.