Skip to content
Snippets Groups Projects
  • Simon McVittie's avatar
    0f1133b3
    pv-adverb: Set SDL_DYNAMIC_API to a suitable value on request · 0f1133b3
    Simon McVittie authored
    
    It's difficult for users of non-Debian-derived distros to select the
    runtime's SDL, especially if they don't know whether the game is 32- or
    64-bit, because the expansion of `$LIB` and `$PLATFORM` varies between
    distro glibc builds.
    
    However, we can normally predict `$LIB` and `$PLATFORM` well enough to
    do the right thing programmatically. For example, if `$PLATFORM` expands
    to `i686` in 32-bit processes and `xeon-phi` in 64-bit, then we can
    create symlinks at `/tmp/XX/i686/libSDL2-2.0.so.0` and
    `/tmp/XX/xeon-phi/libSDL2-2.0.so.0`, and then set
    `SDL_DYNAMIC_API='/tmp/XX/${PLATFORM}/libSDL2-2.0.so.0'` to have the
    runtime linker dynamically select the correct word size.
    
    While I'm here, we might as well provide the same setup for SDL3.
    
    steamrt/tasks#578
    
    Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
    0f1133b3
    History
    pv-adverb: Set SDL_DYNAMIC_API to a suitable value on request
    Simon McVittie authored
    
    It's difficult for users of non-Debian-derived distros to select the
    runtime's SDL, especially if they don't know whether the game is 32- or
    64-bit, because the expansion of `$LIB` and `$PLATFORM` varies between
    distro glibc builds.
    
    However, we can normally predict `$LIB` and `$PLATFORM` well enough to
    do the right thing programmatically. For example, if `$PLATFORM` expands
    to `i686` in 32-bit processes and `xeon-phi` in 64-bit, then we can
    create symlinks at `/tmp/XX/i686/libSDL2-2.0.so.0` and
    `/tmp/XX/xeon-phi/libSDL2-2.0.so.0`, and then set
    `SDL_DYNAMIC_API='/tmp/XX/${PLATFORM}/libSDL2-2.0.so.0'` to have the
    runtime linker dynamically select the correct word size.
    
    While I'm here, we might as well provide the same setup for SDL3.
    
    steamrt/tasks#578
    
    Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>