Skip to content

sdl: drop the transitional SDL2 build once libossia is on SDL3 #28

Description

@edumeneses

Tracking issue so the transitional SDL2 build doesn't become permanent.

#27 ships SDL3 3.4.14 into $INSTALL_PREFIX/SDL3 while keeping SDL2 2.32.10 in $INSTALL_PREFIX/SDL2, because libossia still speaks the SDL2 API and score's score_assert_feature(sdl) turns a missing ossia::sdl2 into a hard failure on deployment builds. Once libossia is ported, SDL2 has no consumer left and should come out.

Blocked on

The libossia port (part of #6): the joystick/game-controller protocols, the SDL audio engine, cmake/deps/sdl.cmake's find_package(SDL2)ossia::sdl2, and the $OSSIA_SDK/SDL2 prefix paths in OssiaOptions.cmake and score's CMakeLists.txt. There is also an open decision on the WASM leg — emscripten's sdl3 port exists at our EMSDK_VERSION pin but is marked experimental (details in #27 (comment)).

Then, in this repo

Mechanical once nothing links ossia::sdl2:

  • delete Linux/sdl.sh, macOS/sdl.sh, MSYS/sdl.sh, AArch64/sdl.sh
  • delete common/clone-sdl.sh
  • drop export SDL_VERSION=2.32.10 from common/versions.sh, along with the comment block above it explaining why SDL2 is still there
  • drop the ./sdl.sh lines from Linux/build-all.sh, macOS/all.sh, MSYS/all.sh, AArch64/build-all.sh
  • README.md: SDL2 and SDL3SDL3
  • consider renaming sdl3.shsdl.sh and SDL3_VERSIONSDL_VERSION at that point, so the scripts stop carrying a version number in their name

MSVC/sdl.ps1 is separately dead (pins Visual Studio 2017 and SDL 2.0.9, not wired into any workflow) — worth deleting whenever, independent of this.

Checks before merging the removal

  • no find_package(SDL2) / SDL2:: / ossia::sdl2 left in libossia, score, or avendish (avendish/cmake/avendish.ossia.cmake and avendish.standalone.cmake also reference SDL2)
  • score deployment build still passes score_assert_feature(sdl)
  • the WASM leg still builds, whichever way the emscripten port decision goes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions