Go to file
Anonymous Maarten c3be4bc18d cmake: Compile with 64-bit time stamps where possible
On platforms where time_t is a signed 32-bit integer, most notably i386 Linux,
various functions stop working when dealing with a timestamp
beyond January 2038.

glibc has an opt-in mechanism that redefines time_t to be 64-bit,
and correspondingly increases the size of all system data
structures that contain a time_t, such as struct timeval and struct stat.
This is necessary to allow timestamps beyond January 2038 to be represented;
as well as things that obviously deal with timestamps, this affects functions
like stat(), which will fail with EOVERFLOW if asked to inspect a file whose
correct timestamp does not fit in time_t. This in turn can cause unexpected
problems for "filesystem APIs" of the form "if /run/foo exists, then ..."
when accessed by 32-bit code, if the check for existence is done with stat()
rather than access().

Using 64-bit timestamps in glibc is an opt-in and not the default, because
if done carelessly it can change libraries' ABIs. However, SDL mostly doesn't
use system headers or types in its own headers. I

Co-authored-by: Simon McVittie <smcv@collabora.com>
2023-06-28 19:47:52 -07:00
.github ci: reduce amount of files to copy back from freebsd vm 2023-06-27 13:59:15 +02:00
VisualC Revert "Added SDL_nextafter() and SDL_nextafterf()" 2023-06-14 11:05:10 -07:00
VisualC-GDK Revert "Added SDL_nextafter() and SDL_nextafterf()" 2023-06-14 11:05:10 -07:00
VisualC-WinRT rwlock: Added SDL_rwlock API for shared locks. 2023-04-27 21:54:02 -04:00
Xcode rwlock: Added SDL_rwlock API for shared locks. 2023-04-27 21:54:02 -04:00
android-project Build on Android targeting the arm64-v8a architecture by default 2023-06-20 09:18:19 -07:00
build-scripts Fix some issues caught by check_stdlib_usage.py 2023-06-27 06:19:06 -07:00
cmake cmake: create wiki dir before running wikiheaders.pl --copy-to-wiki 2023-06-28 14:41:31 +02:00
docs Set the hint value before calling hint callbacks 2023-06-28 08:53:48 -07:00
include Remove hints that weren't used anymore ! 2023-06-28 06:22:20 -07: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 Added support for the Nintendo Online Famicom controllers 2023-06-28 19:15:43 -07:00
test Remove some use of C runtime functions in testevdev 2023-06-23 11:08:08 +02:00
wayland-protocols wayland: Support axis relative direction 2023-04-05 08:58:12 -04:00
.clang-format Commented out syntax that causes Visual Studio 2019 to complain on every edit 2022-12-02 00:43:01 -08:00
.clang-tidy Add clang-tidy config and CMake/CI support. 2023-02-06 21:02:25 -08:00
.editorconfig Fixed formatting for Haiku cc files 2023-01-25 03:03:41 -08:00
.gitignore Don't ignore "build-scripts" 2023-05-30 19:56:17 -07:00
.wikiheaders-options sdlwiki: SDL3 advises users to include through 'SDL3/SDL.h' 2023-03-21 02:19:19 +01:00
Android.mk Fixed building with the 16.1.4479499 Android toolchain 2023-06-13 07:50:00 -07:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt cmake: Compile with 64-bit time stamps where possible 2023-06-28 19:47:52 -07: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 2023 2023-01-09 09:41:41 -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
TODO.txt Fixed up legacy MoinMoin URLs at wiki.libsdl.org 2021-04-01 12:20:33 -04:00
WhatsNew.txt Android: control activity re-creation 2023-05-12 07:48:33 -07:00

README.md

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)