#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 42. Multimedia Libraries and Drivers

- Prev

  SBC-1.5

- Next

  SDL2-2.0.20

- Up
- Home

# SDL-1.2.15

## Introduction to SDL

The Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multimedia software, such as games and emulators.

This package is known to build and work properly using an LFS-11.1 platform.

### Package Information

- Download (HTTP): https://www.libsdl.org/release/SDL-1.2.15.tar.gz

- Download MD5 sum: 9d96df8417572a2afb781a7c4c811a85

- Download size: 3.8 MB

- Estimated disk space required: 40 MB

- Estimated build time: 0.6 SBU

### SDL Dependencies

#### Recommended

Xorg Libraries (if they are not present, the corresponding modules are not built)

#### Optional

AAlib-1.4rc5, ALSA-1.2.6, GLU-9.0.2, NASM-2.15.05, PulseAudio-15.0, Pth-2.0.7, a graphical environment, DirectFB, GGI, libcaca, PicoGUI, and SVGAlib

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/sdl

## Installation of SDL

Install SDL by running the following commands:

    sed -e '/_XData32/s:register long:register _Xconst long:' \
        -i src/video/x11/SDL_x11sym.h &&

    ./configure --prefix=/usr --disable-static &&

    make

Now, as the `root` user:

    make install &&

    install -v -m755 -d /usr/share/doc/SDL-1.2.15/html &&
    install -v -m644    docs/html/*.html \
                        /usr/share/doc/SDL-1.2.15/html

## Testing SDL

If you wish to, test the installation of SDL using the included test programs. It is not required to install any of the resulting binaries to validate the installation. Issue the following commands to build the test programs:

    cd test &&
    ./configure &&
    make

You'll need to manually run all the test programs (they are listed in the `README` file in this directory). Many of them will need to be manually killed, and you'll need to turn your speakers on with the volume at a suitable level.

## Command Explanations

sed -e ...: This command fixes compilation with libX11-1.6.0 and later.

`--disable-static`: This switch prevents installation of static versions of the libraries.

`--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 SDL

###

#### 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: sdl-config
Installed Libraries: libSDL.so and libSDLmain.a
Installed Directories: /usr/include/SDL and /usr/share/doc/SDL-1.2.15

### Short Descriptions

sdl-config | determines the compile and linker flags that should be used to compile and link programs that use `libSDL`
`libSDL.so` | contains functions that provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D frame buffer across multiple platforms

Last updated on

- Prev

  SBC-1.5

- Next

  SDL2-2.0.20

- Up
- Home