72 lines
2.2 KiB
Markdown
72 lines
2.2 KiB
Markdown
<!-- file: docs/development/004-SDL3_DESKTOP_PREREQUISITES.md -->
|
|
<!-- version: 2 -->
|
|
|
|
# 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.
|
|
|
|
## Version Rust SDL3
|
|
|
|
La version canonique est déclarée au workspace sans feature globale :
|
|
|
|
```toml
|
|
[workspace.dependencies]
|
|
sdl3 = "^0.20"
|
|
```
|
|
|
|
La crate d'adaptation SDL3 Desktop active elle-même la méthode de liaison dont elle a besoin :
|
|
|
|
```toml
|
|
sdl3 = { workspace = true, features = ["use-pkg-config"] }
|
|
```
|
|
|
|
Cette séparation suit la règle générale du workspace : version commune à la racine, features au niveau de la crate consommatrice.
|
|
|
|
## Stratégie Desktop Linux
|
|
|
|
Le build Desktop recherche une installation SDL3 système avec `pkg-config`.
|
|
|
|
Cette stratégie évite le défaut rencontré avec le build vendored de la série `sdl3 0.16.x` / `sdl3-sys 0.5.12`, où CMake tentait d'ajouter un répertoire `test` absent du package source utilisé.
|
|
|
|
## Debian 13 / Trixie
|
|
|
|
Installer au besoin :
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install pkg-config libsdl3-dev
|
|
```
|
|
|
|
Préflight :
|
|
|
|
```bash
|
|
pkg-config --modversion sdl3
|
|
pkg-config --cflags --libs sdl3
|
|
```
|
|
|
|
La machine de validation a fourni SDL `3.2.10`.
|
|
|
|
`sdl3-sys 0.7.x` annonce la compatibilité avec SDL `3.1.3` et versions ultérieures ; certaines API particulières peuvent toutefois nécessiter une version SDL plus récente. Les API minimales actuellement employées par le POC doivent donc rester vérifiées par compilation et smoke runtime.
|
|
|
|
## Portabilité future
|
|
|
|
Cette décision concerne le développement Desktop Linux et ne préjuge pas du packaging final.
|
|
|
|
Les options futures restent ouvertes :
|
|
|
|
- bundle SDL3 dans un package Desktop ;
|
|
- AppImage ou Flatpak ;
|
|
- package natif par distribution ;
|
|
- liaison statique si elle devient justifiée ;
|
|
- distribution Tauri distincte lorsqu'un shell Desktop riche est requis.
|
|
|
|
Toute évolution de cette stratégie doit être documentée avant modification des manifests.
|