Simple DirectMedia Layer https://libsdl.org
Find a file
Jan Engelhardt 1878674477 build: add symbol versioning for SDL
If a program built against one version of SDL is run in an
environment where there is an earlier version of the SDL .so library
installed, the result varies depending on platform configuration; in
the best case, it won't start at all, at worst it aborts in the
middle of the user doing "something important" (systems implementing
lazy symbol resolution). verdefs on the other hand are always checked
on startup.

The dependency information present in programs and shared libraries
is not only of value to the dynamic linker, but also to a
distribution's package management. If the dynamic linker is able to
tell that a program is not runnable per the above, a package manager
is able to come to the same conclusion — and block the installation
of a nonfunctional program+library ensemble.

Because there are a lot more symbols than there are libraries (I am
going to throw in "10^4 to 1 or worse"), package managers generally
do not evaluate symbols, but only e.g. the SONAME, NEEDED and VERNEED
fields/blocks. Because the SONAME is the same between two SDL
versions like 2.0.24, and 2.0.26, everything rests on having verdefs.

This patch proposes the addition of verdefs.
2022-12-02 13:05:37 -08:00
.github ci: RISCOS is a bool 2022-12-01 20:32:47 +01:00
android-project Add 8BitDo to the list of Xbox 360 third party vendors 2022-11-28 14:54:36 -08:00
build-scripts Update for SDL3 coding style (#6717) 2022-11-30 12:51:59 -08:00
cmake build: add symbol versioning for SDL 2022-12-02 13:05:37 -08:00
docs Pass the OS event timestamp for keyboard, mouse, and touch events where possible 2022-12-02 12:37:41 -08:00
include Removed the nanosecond versions of event and thread primitive waits from the public API 2022-12-02 12:37:41 -08:00
mingw/pkg-support/cmake build: don't add SDL3 subfolder to include path for external projects 2022-11-27 14:33:13 -08:00
src build: add symbol versioning for SDL 2022-12-02 13:05:37 -08:00
test Enable creation of yuv SDL_Surfaces (#6735) 2022-12-02 12:53:48 -08:00
VisualC Enable creation of yuv SDL_Surfaces (#6735) 2022-12-02 12:53:48 -08:00
VisualC-GDK Added precompiled header support for Visual Studio and Xcode (#6710) 2022-11-29 18:34:15 -08:00
VisualC-WinRT Added precompiled header support for Visual Studio and Xcode (#6710) 2022-11-29 18:34:15 -08:00
wayland-protocols Support wayland fractional scale protocol 2022-11-29 16:35:12 -05:00
Xcode Fix xcode project after opengles renderer removal 2022-11-30 17:25:43 -08:00
Xcode-iOS/Demos Remove mask versions of SDL_CreateRGBSurface* #6701 (#6711) 2022-12-01 08:04:02 -08:00
.clang-format Commented out syntax that causes Visual Studio 2019 to complain on every edit 2022-12-02 00:43:01 -08:00
.editorconfig Remove sdl3.m4 and sdl3-config, and document pkg-config as the recommended replacement 2022-11-27 14:11:06 -08:00
.gitignore reverted opengles removal. 2022-11-23 18:50:02 +03:00
.wikiheaders-options .wikiheaders-options: Add a warning that SDL3 is WIP. 2022-11-22 13:49:03 -05:00
Android.mk build: add symbol versioning for SDL 2022-12-02 13:05:37 -08:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
cmake_uninstall.cmake.in Fixed bug 3867 - Can't find install_manifest.txt when running 'uninstall' target 2017-10-12 08:44:45 -07:00
CMakeLists.txt build: add symbol versioning for SDL 2022-12-02 13:05:37 -08:00
CREDITS.txt Use Apple's nomenclature for macOS and iOS 2022-11-25 16:00:06 -08:00
INSTALL.txt Use Apple's nomenclature for macOS and iOS 2022-11-25 16:00:06 -08:00
LICENSE.txt Updated copyright for 2022 2022-01-03 09:40:21 -08:00
Makefile.minimal First pass at changing SDL 2.0 to SDL 3.0 2022-11-21 20:28:58 -08:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md First pass at changing SDL 2.0 to SDL 3.0 2022-11-21 20:28:58 -08:00
sdl3.pc.in build: don't add SDL3 subfolder to include path for external projects 2022-11-27 14:33:13 -08:00
SDL3Config.cmake.in Rename SDLmain to SDL_main and SDLtest to SDL_test for consistency with other SDL libraries 2022-11-28 10:57:59 -08:00
TODO.txt Fixed up legacy MoinMoin URLs at wiki.libsdl.org 2021-04-01 12:20:33 -04:00
WhatsNew.txt Enable creation of yuv SDL_Surfaces (#6735) 2022-12-02 12:53:48 -08:00

Simple DirectMedia Layer (SDL) Version 3.0

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md

Enjoy!

Sam Lantinga (slouken@libsdl.org)