71 lines
2.1 KiB
Markdown
71 lines
2.1 KiB
Markdown
<!-- file: docs/development/004-SDL3_DESKTOP_PREREQUISITES.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Prérequis SDL3 Desktop
|
|
|
|
## Portée
|
|
|
|
Cette politique concerne le développement et les runners Desktop natifs basés sur SDL3.
|
|
|
|
Elle ne définit pas le packaging Android ni Web :
|
|
|
|
- Android utilisera son intégration SDL3/NDK/AAR dédiée ;
|
|
- Web utilisera la cible Emscripten/WASM dédiée ;
|
|
- la présence de SDL3 système sur le poste Desktop n'implique aucune dépendance runtime identique sur Android ou Web.
|
|
|
|
## Stratégie Desktop Linux
|
|
|
|
Le workspace utilise la crate Rust `sdl3` avec la feature `use-pkg-config`.
|
|
|
|
Le build Desktop recherche donc une installation SDL3 système à travers `pkg-config`.
|
|
|
|
Cette stratégie est préférée au build vendored `build-from-source` pour la baseline actuelle, car la combinaison `sdl3 0.16.x` / `sdl3-sys 0.5.12` / `sdl3-src 3.4.16` peut échouer lorsque la source empaquetée active les tests CMake sans fournir le répertoire `test`.
|
|
|
|
## Debian 13 / Trixie
|
|
|
|
Installer les dépendances de développement :
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install pkg-config libsdl3-dev
|
|
```
|
|
|
|
Vérifier ensuite :
|
|
|
|
```bash
|
|
pkg-config --modversion sdl3
|
|
pkg-config --cflags --libs sdl3
|
|
```
|
|
|
|
Sur Debian 13/Trixie, `libsdl3-dev` fournit notamment :
|
|
|
|
```text
|
|
/usr/include/SDL3/
|
|
/usr/lib/<arch>/libSDL3.so
|
|
/usr/lib/<arch>/pkgconfig/sdl3.pc
|
|
```
|
|
|
|
## Règle de validation
|
|
|
|
Avant les premières gates Cargo SDL3 sur une nouvelle machine Desktop Linux, exécuter :
|
|
|
|
```bash
|
|
pkg-config --modversion sdl3
|
|
```
|
|
|
|
Si cette commande échoue, installer/configurer SDL3 avant de considérer un échec Cargo comme un défaut du code du projet.
|
|
|
|
## Portabilité future
|
|
|
|
La dépendance système Desktop est une décision de développement, pas une contrainte universelle de distribution.
|
|
|
|
Les options futures restent ouvertes :
|
|
|
|
- bundle de SDL3 avec un package Desktop ;
|
|
- AppImage/Flatpak ;
|
|
- package natif par distribution ;
|
|
- build statique si une justification apparaît ;
|
|
- distribution Tauri distincte si un shell Desktop riche est nécessaire.
|
|
|
|
Toute évolution de stratégie doit être documentée explicitement avant modification des manifests.
|