Simple Directmedia Layer
Go to file
Simon McVittie 2dc788cb9f build: Expand version info in SDL_REVISION and SDL_GetRevision()
Instead of using a URL and git sha1, this uses `git describe` to
describe the version relative to the nearest previous git tag, which
gives a better indication of whether this is a release, a prerelease,
a slightly patched prerelease, or a long way after the last release
during active development.

This serves two purposes: it makes those APIs more informative, and it
also puts this information into the binary in a form that is easy to
screen-scrape using strings(1). For instance, if the bundled version of
SDL in a game has this, we can see at a glance what version it is.

It's also shorter than using the web address of the origin git
repository and the full git commit sha1.

Also write the computed version into a file ./VERSION in `make dist`
tarballs, so that when we build from a tarball on a system that doesn't
have git available, we still get the version details.

For the Perforce code path in showrev.sh, output the version number
followed by the Perforce revision, in a format reminiscent of
`git describe` (with p instead of g to indicate Perforce).

For the code path with no VCS available at all, put a suffix on the
version number to indicate that this is just a guess (we can't know
whether this SDL version is actually a git snapshot or has been
patched locally or similar).

Resolves: https://github.com/libsdl-org/SDL/issues/6418
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-10-22 09:27:10 -07:00
.github CI: Update to actions/checkout@v3. 2022-10-12 16:31:02 -07:00
VisualC updated VS project file 2022-10-06 18:03:28 +03:00
VisualC-GDK move SDL_windowstaskdialog.h contents into SDL_windowsmessagebox.c 2022-09-16 20:03:50 +03:00
VisualC-WinRT add SDL_crc16.c to msvc and watcom builds 2022-08-11 20:11:32 +03:00
Xcode cmake+xcode: only create SDL2::SDL2main target when it does not exist again 2022-10-04 21:15:09 +02:00
Xcode-iOS/Demos Updated iOS demos Xcode project 2022-09-28 01:10:23 -07:00
acinclude autotools: revised and silenced esound detection a bit. 2022-09-24 20:01:04 +03:00
android-project Reverted game controller buttons from interacting with message box dialogs 2022-10-06 12:10:46 -07:00
android-project-ant Added the old ant Android build project structure 2017-10-28 12:11:25 -07:00
build-scripts build: Expand version info in SDL_REVISION and SDL_GetRevision() 2022-10-22 09:27:10 -07:00
cmake Use -lpthread on OpenBSD 2022-10-21 16:53:26 -07:00
docs N3DS: Update README. 2022-10-10 08:50:59 -07:00
include build: Expand version info in SDL_REVISION and SDL_GetRevision() 2022-10-22 09:27:10 -07:00
mingw/pkg-support/cmake cmake: else() does not need an argument 2022-10-20 13:29:35 +02:00
src Virtual joysticks don't need initial axis jitter protection 2022-10-22 09:25:09 -07:00
test build: Expand version info in SDL_REVISION and SDL_GetRevision() 2022-10-22 09:27:10 -07:00
visualtest remove all unnecessary stuff from visualtest configury. 2021-12-21 20:01:02 +03:00
wayland-protocols Add support for X11 primary selection (#6132) 2022-09-14 09:28:35 -07:00
.clang-format Disable formatting not supported by Visual Studio 2019 2022-05-27 15:29:21 -07:00
.editorconfig .editorconfig: Use correct path for wayland-protocols 2022-08-23 06:28:04 -07:00
.gitignore build: Expand version info in SDL_REVISION and SDL_GetRevision() 2022-10-22 09:27:10 -07:00
.wikiheaders-options wikiheaders.pl: changes to make this usable with external projects. 2022-06-15 23:26:24 -04:00
Android.mk fix permissions of Android.mk 2022-10-01 04:25:40 +03:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt build: Expand version info in SDL_REVISION and SDL_GetRevision() 2022-10-22 09:27:10 -07:00
CREDITS.txt Fixed crash if initialization of EGL failed but was tried again later. 2015-06-21 17:33:46 +02:00
INSTALL.txt INSTALL.txt: Say "macOS" instead of "Mac OS X" in modern times. 2022-03-15 13:07:55 -04:00
LICENSE.txt Updated copyright for 2022 2022-01-03 09:40:21 -08:00
Makefile.in build: Expand version info in SDL_REVISION and SDL_GetRevision() 2022-10-22 09:27:10 -07:00
Makefile.minimal build libSDL2_test too with Makefile.minimal 2021-11-14 01:10:32 +03:00
Makefile.os2 watcom: add ENABLE_WERROR option to makefiles 2022-10-08 23:41:07 +02:00
Makefile.pandora more fixes to standalone makefiles. 2021-11-13 21:56:20 +03:00
Makefile.w32 watcom: add ENABLE_WERROR option to makefiles 2022-10-08 23:41:07 +02:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md Update and rename README.txt to README.md 2021-03-20 18:46:37 -04:00
SDL2.spec.in license: Fixed references to COPYING.txt that are now LICENSE.txt. 2021-02-18 11:07:26 -05:00
SDL2Config.cmake.in ci: Test cmake build script on Android 2022-06-15 11:11:49 -07:00
TODO.txt Fixed up legacy MoinMoin URLs at wiki.libsdl.org 2021-04-01 12:20:33 -04:00
WhatsNew.txt Revert "Disable the RAWINPUT joystick driver by default" 2022-10-17 17:43:06 -07:00
autogen.sh Simplified autogen.sh, thanks to @smcv for the tip 2022-05-05 11:54:24 -07: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
configure build: Expand version info in SDL_REVISION and SDL_GetRevision() 2022-10-22 09:27:10 -07:00
configure.ac Use -lpthread on OpenBSD 2022-10-21 16:53:26 -07:00
sdl2-config-version.cmake.in Add documentation to autotoo'ls sdl2-config-version.cmake.in 2022-05-31 00:10:55 +02:00
sdl2-config.cmake.in cmake: only add -Wl,--undefined=WinMain when building an executable 2022-09-27 07:00:02 +03:00
sdl2-config.in cmake+ci: fix+test sdl2-config + sdl2.pc for all supported platforms 2022-06-23 14:17:38 +02:00
sdl2.m4 Fixed macOS framework detection in sdl2.m4 2022-08-26 09:12:56 -07:00
sdl2.pc.in Compatible with including as <SDL2/SDL.h> 2022-07-28 20:34:34 -07:00

README.md

Simple DirectMedia Layer (SDL) Version 2.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)