SDL2-2.28.5
Introduction to SDL2
The Simple DirectMedia Layer Version 2 (SDL2
for short) is a cross-platform library designed to make it easy to write
multimedia software, such as games and emulators.
Note
Development versions of BLFS may not build or run
some packages properly if LFS or dependencies have been updated
since the most recent stable versions of the books.
Package Information
Download (HTTP): https://www.libsdl.org/release/SDL2-2.28.5.tar.gz
Download MD5 sum: a344eb827a03045c9b399e99af4af13d
Download size: 7.1 MB
Estimated disk space required: 173 MB (with docs)
Estimated build time: 0.5 SBU (using parallelism=4; with docs)
SDL2 Dependencies
Recommended
libxkbcommon-1.6.0,
wayland-protocols-1.32, and
Xorg Libraries (if those are not present, the corresponding modules are not built)
Optional
ALSA-1.2.7,
Doxygen-1.9.8 (to create documentation),
ibus-1.5.29,
libsamplerate-0.2.2,
NASM-2.16.01,
pipewire-1.0.0,
PulseAudio-16.1,
a graphical environment,
DirectFB,
fcitx,
jack, and
sndio
Installation of SDL2
Install SDL2 by running the
following commands:
./configure --prefix=/usr &&
make
If you have Doxygen-1.9.8 installed and want to build the
html documentation, run the following commands:
pushd docs &&
doxygen &&
popd
Note
If you wish to build and run the package regression
tests, do not delete the static libraries below until after
the tests are built.
Now, as the root
user:
make install &&
rm -v /usr/lib/libSDL2*.a
If you built the documentation, install it as the root
user:
install -v -m755 -d /usr/share/doc/SDL2-2.28.5/html &&
cp -Rv docs/output/html/* /usr/share/doc/SDL2-2.28.5/html
Testing SDL2
If you wish to, test the installation of SDL2
using the included test programs. None of the resulting binaries need
to be installed. Issue the following commands to build the test
programs:
cd test &&
./configure &&
make
Each of the test programs (they are listed in the
README
file in this directory) will need to be run
individually. Many of them will need to be manually killed. Additionally,
speakers need to be on with the volume at a suitable level.
Command Explanations
rm -v /usr/lib/libSDL2*.a: Normally
static libraries can be disabled with a --disable-static
option to configure, but that breaks the build in this package.
--disable-alsa-shared
: This switch disables
dynamically loading ALSA shared libraries.
--disable-sdl-dlopen
: This switch disables using
dlopen for shared object loading. Loading image backend libraries like
libpng dynamically on the fly does not work.
--disable-x11-shared
: This switch disables
dynamically loading X11 shared libraries.
Configuring SDL2
Configuration Information
As with most libraries, there is no configuration to do, save that the
library directory, i.e., /opt/lib
or
/usr/local/lib
should appear in
/etc/ld.so.conf
so that ldd can find
the shared libraries. After checking that this is the case,
/sbin/ldconfig should be run while logged in as
root
.
Contents
Installed Program: sdl2-config
Installed Libraries: libSDL2.so
Installed Directories: /usr/include/SDL2,
/usr/lib/cmake/SDL2, and
/usr/share/doc/SDL-2.28.5
Short Descriptions
sdl2-config |
determines the compile and linker flags that should be used to
compile and link programs that use
libSDL2
|
libSDL2.so
|
contains functions that provide low level access to audio,
keyboard, mouse, joystick, 3D hardware via OpenGL, and
2D frame buffer across multiple platforms
|