CMakeLists.txt


Log

Author Commit Date CI Message
Brandon Schaefer 68985371 2019-09-24T16:36:48 offscreen: Add new video driver backend Offscreen The Offscreen video driver is intended to be used for headless rendering as well as allows for multiple GPUs to be used for headless rendering Currently only supports EGL (OpenGL / ES) or Framebuffers Adds a hint to specifiy which EGL device to use: SDL_HINT_EGL_DEVICE Adds testoffscreen.c which can be used to test the backend out Disabled by default for now
David Ludwig 6398abe5 2019-09-23T18:24:03 CMake: bug-fix for tvOS support tvOS Device support wasn't working, at least not with the current-latest tvOS release (13.0), with CMake failing during its configuration stage.
Sam Lantinga 3fe2d836 2019-09-22T10:37:16 Updated SDL development builds to version 2.0.11
David Ludwig ec65a34b 2019-08-27T12:30:20 CMake: tvOS support/fixes To use, set the following CMake variables when running CMake's configuration stage: - CMAKE_SYSTEM_NAME=tvOS - CMAKE_OSX_SYSROOT=<SDK> (examples: appletvos, appletvsimulator, appletvos12.4, /full/path/to/AppleTVOS.sdk, etc.) - CMAKE_OSX_ARCHITECTURES=<semicolon-separated list of CPU architectures> (example: "arm64;x86_64")
David Ludwig b13c951c 2019-08-27T11:07:43 CMake: iOS support added When using a recent version of CMake (3.14+), this should make it possible to: - build SDL for iOS, both static and dynamic - build SDL test apps (as iOS .app bundles) - generate a working SDL_config.h for iOS (using SDL_config.h.cmake as a basis) To use, set the following CMake variables when running CMake's configuration stage: - CMAKE_SYSTEM_NAME=iOS - CMAKE_OSX_SYSROOT=<SDK> (examples: iphoneos, iphonesimulator, iphoneos12.4, /full/path/to/iPhoneOS.sdk, etc.) - CMAKE_OSX_ARCHITECTURES=<semicolon-separated list of CPU architectures> (example: "arm64;armv7s") Examples: - for Simulator, using the latest, installed SDK: cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64 - for Device, using the latest, installed SDK, 64-bit only cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES=arm64 - for Device, using the latest, installed SDK, mixed 32/64 bit cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_ARCHITECTURES="arm64;armv7s" - for Device, using a specific SDK revision (iOS 12.4, in this example): cmake path/to/SDL -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos12.4 -DCMAKE_OSX_ARCHITECTURES=arm64 - for Simulator, using the latest, installed SDK, and building SDL test apps (as .app bundles): cmake path/to/SDL -DSDL_TEST=1 -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_ARCHITECTURES=x86_64
Sylvain Becker 0a9c74aa 2019-08-27T11:38:43 Fixed bug 3918 - HIDAPI, CMake support for android project
Sylvain Becker 155087d1 2019-08-11T15:23:37 Fixed bug 3918 - CMake support for android project
Sam Lantinga e9ec7d41 2019-08-05T23:46:09 Fixed bug 4354 - CMake builds do not correctly enable IME on Linux Callum McGing While the CMake build checks for ibus and does enable the ibus backend with set(HAVE_IBUS_IBUS_H TRUE), this does not define SDL_USE_IME, thus CMake built SDL2 (as in Arch Linux) cannot use IME at all. The attached patch fixes this behaviour when building against ibus. IME support will still fail when only fcitx is available on the build system.
Alex Szpakowski aebaa316 2019-08-05T12:35:32 Add public APIs for creating a Metal view attached to an SDL window. Add SDL_metal.h.
Andrew Eikum e149f4c4 2019-07-31T11:34:00 cmake: Fix locating libusb header at configure-time Removing the CheckUSBHID call is necessary to avoid caching the failed header check result before we find libusb via pkg-config.
Ethan Lee f7d82e56 2019-07-31T12:20:55 hidapi: Add SDL_hidapi.c, allows support for multiple hidapi backends. This is currently supported on Linux and macOS. iOS and Android are not supported at all, Windows support could be added with some changes to the libusb backend. The Visual Studio and Xcode projects do not use this feature. Based on Valve Software's hid.cpp, written in collaboration with Andrew Eikum.
Ryan C. Gordon 70f0b093 2019-07-12T13:40:58 cmake: Add setupapi library to Windows build dependencies (hidapi needs it). Fixes Bugzilla #4719.
Ryan C. Gordon 66d4d8e2 2019-07-08T16:46:52 cmake: Added HIDAPI support.
Sam Lantinga 7f78d0f0 2019-06-21T22:01:27 Fixed bug 4684 - GLES1 variables missing under Android with CMake Braden Obrzut https://hg.libsdl.org/SDL/file/7dc39b047055/CMakeLists.txt#l911 I believe the following should also be specified there: set(SDL_VIDEO_OPENGL_ES 1) set(SDL_VIDEO_RENDER_OGL_ES 1) As it is now GLES1 support is missing when building for Android despite it linking to the library.
Sam Lantinga 67c67f3a 2019-06-17T10:13:28 Updated version to 2.0.10
Sam Lantinga 1b73d578 2019-06-08T18:32:29 Temporary fix for bug 4254 - a _lot_ of strict aliasing warnings Ozkan Sezer A horde of strict aliasing violation warnings are emitted from joystick layer, and also from a few other places. This happens with gcc-4.4.7 on Linux CentOS 6.10. Some other sysjoystick would possibly have the same warnings. Attached my full log here. Example entry: src/joystick/SDL_joystick.c: In function 'SDL_GetJoystickGUIDInfo': src/joystick/SDL_joystick.c:1094: warning: dereferencing pointer '({anonymous})' does break strict-aliasing rules
Sam Lantinga 59483c64 2019-06-08T14:36:03 Fixed bug 4593 - Respect CMake's BUILD_SHARED_LIBS default behavior tschwinger Respect the BUILD_SHARED_LIBS variable when defined, and build either shared or static libs, which is CMake's default behavior (See https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html). If the variable is not defined, the current behavior remains unchanged and both variants are built where the platform supports it. This way, it remains possible to build both in one shot, which seems convenient for distro builds and useful to promote some consistency between them.
Sam Lantinga 68bb8d6c 2019-06-08T14:34:38 Fixed bug 4594 - Fix install location of CMake targets on Apple platforms tschwinger Followup to #3651 As already noted by Ryan, no framework is being built, so we better install to lib/cmake. That code was originally part of a patch submitted by David Demelier, whose credit BTW got lost (I combined his patch for #3572 with fixes for #2576 and #3613 resulting in #3651 because things started to depend on another). I tested that the configuration files are found correctly in the new location on MacOS X based on a hint to the root (see https://cmake.org/cmake/help/latest/command/find_package.html#search-procedure).
Sam Lantinga 50aab198 2019-05-21T17:33:31 Fixed bug 4639 - CMake build does not generate libhidapi.so for Android Manuel Sabogal I noticed that the current Android.mk builds a libhidapi.so library for Android but the CMake build hasn't been updated to do so. I'll attach a patch that fixes this issue.
Sam Lantinga f79190f4 2019-04-23T07:59:31 Use _Exit() when available
Hugh McMaster af4bbb30 2019-03-25T23:01:32 configure.in: Rename to configure.ac to fix an 'aclocal' warning Also rename references in related files.
Ryan C. Gordon 8a5a05c1 2019-03-15T15:51:05 events: Let arbitrary signals to simulate iOS/Android backgrounding events. This lets you build a custom embedded device that roughly offers the "this process is going to the background NOW" semantics of SDL on a mobile device.
Serhii Charykov 510b01f5 2018-12-03T20:14:35 Fix WORKING_DIR parameter
Ryan C. Gordon d4a21f54 2018-12-02T02:43:32 cmake: Comment out some debug logging that can upset build environments. Something about the dashes, colons, numbers makes some builders believe this is an error message.
Ryan C. Gordon bc57ac27 2018-11-02T21:34:17 mir: Removed mir client support. Fixes Bugzilla #4288.
Ozkan Sezer 04761d7d 2018-10-25T11:11:02 CMakeLists.txt: set dylib version numbers properly. (bug #2915.)
Sam Lantinga c17d6299 2018-09-28T21:19:27 Mark a subsystem as dummy, not disabled, if it was intended to be compiled in. From Tom Black: I'm having problems initializing the sensor module. I'm compiling with a standard ./configure && make && sudo make install, and the module says it's enabled, but SDL_Init(SDL_INIT_EVERYTHING) is failing with SDL_GetError() returning "SDL not built with sensor support".
Sam Lantinga 14d2ec80 2018-09-28T21:03:39 commit 8f4dedc039190f5e734c47dcc4fc021b5793b659 Author: Micha? Janiszewski <janisozaur+signed@gmail.com> Date: Fri Sep 28 20:38:04 2018 +0200 CMake: fix building tests on Linux In case where libunwind.h has been found, it will be used by compiler, but linker wasn't updated to reflect use of this new library.
Ozkan Sezer b11c75e9 2018-09-28T13:41:04 configury, cmake: add check for endpointvolume.h : add HAVE_ENDPOINTVOLUME_H, HAVE_MMDEVICEAPI_H and HAVE_AUDIOCLIENT_H in SDL_config.h.in, SDL_config.h.cmake, SDL_config_windows.h, and in SDL_config_winrt.h.
Ozkan Sezer cf7460e4 2018-09-28T11:30:50 configury, cmake: make wasapi option independent of directx.
Sam Lantinga bc6c1997 2018-09-26T10:08:14 Updated version to 2.0.9
Sam Lantinga 8aaef4b9 2018-09-24T08:41:59 Fixed bug 3166 - It would be nice, if SDL would support including SDL project as a subdirectory into another CMake project Wayde Reitsma After attempting to use SDL2 in the way described in this bug, I found the main issue was the includes not being added to the compiler command. I found the issue was that the target_include_directories commands for the SDL2, SDL2-static and SDL2main targets only sets the public includes for installations using the INSTALL_INTERFACE generator expression. I have written a patch to CMakeLists.txt that fixes this issue by adding another item to the target_include_directories commands, utilizing the BUILD_INTERFACE generator expression to correctly add the include directory during builds.
Ryan C. Gordon c19516b5 2018-09-18T11:49:42 cmake: correctly report Vulkan support at configure time (thanks, Tiago!). Fixes Bugzilla #4262.
Ozkan Sezer 9753b9cc 2018-09-02T23:57:06 CMakeLists.txt: fix typo SDL_SENSORS_DISABLED -> SDL_SENSOR_DISABLED
Ryan C. Gordon df5d565f 2018-08-23T14:32:30 cmake: add sensor subsystem to the build.
Sam Lantinga 7c3040e0 2018-08-21T12:11:34 First pass on the new SDL sensor API
Drew Pirrone-Brusse 58021b38 2018-08-18T17:23:40 Correct the name of the SDL shared library in CMake for Mac OS
Ethan Lee b4fe7412 2018-08-04T11:52:46 SDL_exp
Ryan C. Gordon 4d4bb2b0 2018-08-02T16:21:43 cmake: use WINDOWS instead of WIN32.
Ozkan Sezer 88577916 2018-07-01T17:01:04 make WASAPI configurable in autofoo and cmake (default is on.) closes bug #3798.
Vitaly Novichkov 3a11bba2 2018-06-29T18:29:17 Remove "lib" prefix from DLL file on MinGW builds closes bug #4209.
Sam Lantinga 5e8c8167 2018-04-15T09:37:51 Fixed bug 4135 - Broken symlink libSDL2.so since rev11940 Tiago O. Symlink points to the wrong folder, and target will always have debug postfix, so it'll be broken for other build types.
Bastien Bouclet 9856d967 2018-04-11T06:16:23 Fix the include path in the installed CMake target import file Previously the include path was {INSTALL_PREFIX}/include, it is now {INSTALL_PREFIX}/include/SDL2 to be consistent with the other build and package configuration systems. Fixes #4128.
Saad Khattak 6b5ed0fd 2018-04-10T08:03:54 Added debug postfix to install command and fixed library path
Micha? Janiszewski 0a5c1065 2018-03-10T21:16:14 Fix ARM builds with MSVC
Olli Kallioinen 5cbb90da 2018-02-25T19:22:47 cmake: Set debug library name suffix per target instead of setting it globally. Don't add a suffix on android
Sam Lantinga 6cf4d0e4 2018-02-24T08:59:58 Fixed bug 4092 - CMake support for building everything in the "test" directory Eric Wasylishen Patch to support building the tests with cmake. Disabled by default, use: "cmake .. -DSDL_TEST=YES" to enable the tests. Tested on macOS 10.13 with the ninja, makefile, and Xcode generators, and Windows 10 with the Visual Studio 2017 generator.
Sam Lantinga c329381f 2018-02-07T14:03:24 Description: fix installation of shared library for Android Author: Boris Pek <tehnick-8@yandex.ru> Last-Update: 2018-01-10
Ethan Lee 11c348b4 2018-01-17T11:53:09 SDL_log10
Sam Lantinga f1ec8a5f 2017-12-11T12:00:12 Check for immintrin.h before using it in SDL_cpuinfo.h
Ryan C. Gordon 351d6d47 2017-12-06T12:24:32 audio: Port WASAPI to WinRT, remove XAudio2 backend. XAudio2 doesn't have capture support, so WASAPI was to replace it; the holdout was WinRT, which still needed it as its primary audio target until the WASAPI code code be made to work. The support matrix now looks like: WinXP: directsound by default, winmm as a fallback for buggy drivers. Vista+: WASAPI (directsound and winmm as fallbacks for debugging). WinRT: WASAPI
Sam Lantinga 57ebc727 2017-12-04T20:35:01 Fixed bug 3975 - Add GLES2 support for macOS via ANGLE library Andrey Seems latest google angle library successfully built & tested under macOS'es. https://github.com/google/angle We need to use GLES2 to implement true cross-platform code.
Sam Lantinga a4b33d74 2017-11-20T00:03:23 Fixed bug 3959 - cmake build broken by commit 11702 (7fdbffd47c0e) due to typo Mate Nagy There is a typo in CMakeLists.txt that makes CMake exit with failure. Change that causes the problem: (Notice the double ending brackets) ${SDL2_SOURCE_DIR}/src/video/*.c) + ${SDL2_SOURCE_DIR}/src/video/yuv2rgb/*.c) Fix: Just remove the first ending bracket resulting in: ${SDL2_SOURCE_DIR}/src/video/*.c ${SDL2_SOURCE_DIR}/src/video/yuv2rgb/*.c)
Sam Lantinga a6a4e27a 2017-11-12T22:51:12 Updated SDL's YUV support, many thanks to Adrien Descamps New functions get and set the YUV colorspace conversion mode: SDL_SetYUVConversionMode() SDL_GetYUVConversionMode() SDL_GetYUVConversionModeForResolution() SDL_ConvertPixels() converts between all supported RGB and YUV formats, with SSE acceleration for converting from planar YUV formats (YV12, NV12, etc) to common RGB/RGBA formats. Added a new test program, testyuv, to verify correctness and speed of YUV conversion functionality.
Sam Lantinga 2c5724ef 2017-11-04T21:58:48 Updated version to 2.0.8 since SDL_image depends on it
Sam Lantinga bcdf8b91 2017-11-04T17:35:03 Added SDL_fmod() and SDL_fmodf()
Sam Lantinga 34502143 2017-11-04T15:34:14 Added float versions of SDL's math functions
Sam Lantinga f658a737 2017-10-15T21:07:01 Fixed bug 3882 - cmake fix for osx Ozkan Sezer In my cross-build environment with cmake-2.8.12.1, cmake does not add SDL_coreaudio.m to its makefiles and the result is a failure. The fix is simple: set the language to C for it as it is done at other places in CMakeLists.txt.
Sam Lantinga 9c580e14 2017-10-12T13:44:28 Added functions to query and set the SDL memory allocation functions: SDL_GetMemoryFunctions() SDL_SetMemoryFunctions() SDL_GetNumAllocations()
Sam Lantinga f4cd68a5 2017-10-12T08:47:02 Fixed bug 3866 - CMake error when trying to make the 'uninstall' target when it already exists Steve Robinson In my project, the 'uninstall' target is already created by the glew library. I get this error when SDL2 tries to create it: CMake Error at _build/3rdparty/SDL2/SDL2-2.0.6/CMakeLists.txt:1816 (add_custom_target): add_custom_target cannot create target "uninstall" because another target with the same name already exists. The existing target is a custom target created in source directory "D:/Code/sdl2-tutorial/_build/3rdparty/glew/glew-2.1.0/build/cmake". See documentation for policy CMP0002 for more details. To fix it, go to the bottom of the SDL2 CMakeLists.txt file. Add an if statement to check for the existence of the target before creating it. The end result looks like this: if(NOT TARGET uninstall) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) endif() This is how the glew library deals with this possibility in their CMakeLists.txt file.
Sam Lantinga 0ce23a54 2017-10-12T08:08:04 Updated version to 2.0.7
Sam Lantinga 827e9850 2017-10-06T16:42:43 Fixed bug 3862 - Install is broken when adding SDL2 to an existing CMake project Steve Robinson In my existing CMake project, I use add_subdirectory to add the source for SDL2. This worked fine in 2.0.5, but now in 2.0.6 when I build the INSTALL CMake target, I get this error: file INSTALL cannot find "D:/path/to/SDL2Config.cmake". Call Stack (most recent call first): 3rdparty/SDL2/cmake_install.cmake:32 (include) 3rdparty/cmake_install.cmake:36 (include) cmake_install.cmake:32 (include) To fix this, I changed line 1770 from this: ${CMAKE_SOURCE_DIR}/SDL2Config.cmake To this: ${CMAKE_CURRENT_SOURCE_DIR}/SDL2Config.cmake
Sam Lantinga 260db92c 2017-09-22T16:33:34 Added stub Steam Controller sources to Android and iOS command line builds
Sam Lantinga 2cdb9674 2017-09-10T10:25:36 Fixed the include path for khronos with Visual Studio
Sam Lantinga f465f24d 2017-09-09T08:36:37 Fixed bug 3760 - RWops doesn't check for integer overflow when stdio_fseek only supports 32 bits Simon Hug When RWops seeks with fseek or fseeko it uses the types long or off_t which can be 32 bits on some platforms. stdio_seek does not check if the 64-bit integer for the offset fits into a 32-bit integer. Offsets equal or larger than 2 GiB will have implementation-defined behavior and failure states would be very confusing to debug. The attached patch adds range checking by using the macros from limits.h for long type and some bit shifting for off_t because POSIX couldn't be bothered to specify min and max macros. It also defines HAVE_FSEEKI64 in SDL_config_windows.h so that the Windows function gets picked up automatically with the default config. And there's an additional error message for when ftell fails.
Sam Lantinga 347fe704 2017-08-30T14:25:01 Fixed bug 3789 - Android : small clean up Sylvain Since https://hg.libsdl.org/SDL/rev/6546daa45a02 SDL_android_main.c is empty and then produce a warning nativeInit does not exist and dont need to be mark undefined
Sam Lantinga e53c5c5c 2017-08-30T00:40:06 Fix QNX build - prioritize system EGL headers over the Khronos ones
Sam Lantinga 92bf6085 2017-08-29T22:04:43 Fixed bug 3616 - SDL_GL_CreateContext fails with SDL_GL_CONTEXT_DEBUG_FLAG and ANGLE/GLES 2.0 Colin Barrett Using the pre-built x86 devel libs from here: https://www.libsdl.org/release/SDL2-devel-2.0.5-VC.zip If I have: SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG); and I'm using ANGLE/(a GL driver that doesn't provide an ES2 context) such that SDL_EGL_CreateContext is called by SDL_GL_CreateContext, I get the error "Could not create EGL context (context attributes are not supported)" and no context is created. Looking at the code in SDL_EGL_CreateContext - if gl_config.flags is non-zero, it looks like the code in the section guarded with "#ifdef EGL_KHR_create_context" should be executed - but it apparently isn't. Is it possible this section hasn't been compiled into the pre-built libraries? If I build SDL2.dll myself using the Visual C++ solution (VS2015 Community Update 3) then the call succeeds as I expect
Sam Lantinga c0530bcd 2017-08-28T22:42:41 We removed QuartzCore link dependency in commit 5be6badaf7e1
Sam Lantinga ce2b1644 2017-08-28T00:11:38 Be clear that disabling Vulkan surface support disables the entire SDL Vulkan integration
Sam Lantinga ea91908e 2017-08-27T23:39:38 Fixed Android ABI check to match vulkan/vk_platform.h
Ryan C. Gordon c722e58d 2017-08-27T23:25:12 vulkan: Include a copy of vulkan.h and vk_platform.h. Now we can provide Vulkan support in the build even if the build box doesn't have a Vulkan SDK, since we dynamically link to the library anyhow.
Ryan C. Gordon 25e3a1ec 2017-08-27T22:15:57 vulkan: Initial Vulkan support! This work was done by Jacob Lifshay and Mark Callow; I'm just merging it into revision control.
Sam Lantinga 5ca01522 2017-08-26T21:17:12 Fixed bug 3774 - Cmake build fails for Android sfalexrog Android haptic code was not added to CMakeLists.txt, leading to build failures when targeting Android platform. Attached patch adds Android haptic driver to source sets and adds configuration parameter to SDL_config.h.cmake.
Sam Lantinga f807655b 2017-08-21T11:25:04 Fixed bug 3761 - Windows non-MinGW cmake build defines HAVE_WCSLCPY and HAVE_WCSLCAT Tom Seddon https://github.com/SDL-mirror/SDL/commit/0f0ad62237fabb58d5811fe6fa59e5e5aa0e2fb5 (git head at the time of writing); Visual Studio 2015, toolset v140, Platform 10.0.14393.0, building for x64 Windows non-MinGW cmake build sets defines implying wcslcpy and wcslcat are available, but Windows doesn't have these functions. Ryan C. Gordon That's weird, these are the exact two functions that Emscripten incorrectly believed it had until we upgraded the buildbot's emsdk install. Not sure what's up with this, but it's possibly not a MingW-specific thing!
Sam Lantinga a78c20ae 2017-08-21T11:17:38 configury: check mmdeviceapi.h and audioclient.h before enabling wasapi.
Sam Lantinga 2dc5d32f 2017-08-18T18:16:37 Updated version to 2.0.6
Ryan C. Gordon 5c4a45f1 2017-08-18T20:25:14 cmake: some iOS fixes (don't link to Cocoa or Carbon frameworks). Fixes Bugzilla #3625.
Ryan C. Gordon f4011bf0 2017-08-18T20:00:29 cmake: added a FIXME for later. Have to figure out what cmake version fixed this and bump the minimum to that.
Ryan C. Gordon f75caa2f 2017-08-18T18:52:25 cmake: Fix building for macOS with Xcode generator (thanks, dungaipara!). Fixes Bugzilla #3625.
Ryan C. Gordon 47beda97 2017-08-17T15:44:47 cmake: add core/unix sources to the build. Fixes Bugzilla #3757.
Sam Lantinga fb835f9e 2017-08-14T20:22:19 Fixed bug 2330 - Debian bug report: SDL2 X11 driver buffer overflow with large X11 file descriptor manuel.montezelo Original bug report (note that it was against 2.0.0, it might have been fixed in between): http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733015 -------------------------------------------------------- Package: libsdl2-2.0-0 Version: 2.0.0+dfsg1-3 Severity: normal Tags: patch I have occasional crashes here caused by the X11 backend of SDL2. It seems to be caused by the X11_Pending function trying to add a high number (> 1024) file descriptor to a fd_set before doing a select on it to avoid busy waiting on X11 events. This causes a buffer overflow because the file descriptor is larger (or equal) than the limit FD_SETSIZE. Attached is a possible workaround patch. Please also keep in mind that fd_set are also used in following files which may have similar problems. src/audio/bsd/SDL_bsdaudio.c src/audio/paudio/SDL_paudio.c src/audio/qsa/SDL_qsa_audio.c src/audio/sun/SDL_sunaudio.c src/joystick/linux/SDL_sysjoystick.c -------------------------------------------------------- On Tuesday 24 December 2013 00:43:13 Sven Eckelmann wrote: > I have occasional crashes here caused by the X11 backend of SDL2. It seems > to be caused by the X11_Pending function trying to add a high number (> > 1024) file descriptor to a fd_set before doing a select on it to avoid busy > waiting on X11 events. This causes a buffer overflow because the file > descriptor is larger (or equal) than the limit FD_SETSIZE. I personally experienced this problem while hacking on the python bindings package for SDL2 [1] (while doing make runtest). But it easier to reproduce in a smaller, synthetic testcase.
Sam Lantinga f8de064c 2017-08-13T22:26:44 Added wchar.h to fix build on some platforms with new wcs* functions
Sam Lantinga f1829d95 2017-08-13T20:37:49 Added SDL_wcscmp()
Sam Lantinga 75d5f343 2017-08-11T21:17:10 Forgot to add function check for fopen64 to CMake build
Ryan C. Gordon 73c6cebb 2017-08-09T22:43:16 cmake: Pacify warning about Policy CMP0042 not being set.
Sam Lantinga 496337b3 2017-08-09T19:03:10 Fixed bug 3651 - CMake build does not install CMake package configuration tschwinger@elitemail.org Most ironically, although autoconf/automake-based builds install (pretty half-assed) CMake package configuration files, they're missing in installations resulting from CMake-based builds entirely. A proper configuration file typically also loads target exports (implemented in patch 3572, also fixing this issue - see my comment on that issue for details). I believe it would be best to let the dinosaurs go extinct and redirect all build efforts to the CMake end for two reasons: 1. It potentially provides the best user experience, but you'd have to give it some love and ship with less quirky buildfiles. 2. It would force distros to build SDL via CMake and thus would ensure target exports are actually available everywhere. Various CMake patches I submitted today in summary (directly converted from the HG commits and `am`d onto a fork of a git mirror that happened to be on `tip`). https://github.com/tschw/SDL/commits/patched Fixing #2576 #3572, #3613, and this fresh ticket, which is almost entirely advertisement ;). These already do to make SDL much less of a quirky fella to have in your dependency tree...
Sam Lantinga 56363ebf 2017-08-02T10:22:48 Fixed bug 3690 - SDL2 KMS/DRM render context support Manuel The attached patch adds support for KMS/DRM context graphics. It builds with no problem on X86_64 GNU/Linux systems, provided the needed libraries are present, and on ARM GNU/Linux systems that have KMS/DRM support and a GLES2 implementation. Tested on Raspberry Pi: KMS/DRM is what the Raspberry Pi will use as default in the near future, once the propietary DispmanX API by Broadcom is overtaken by open graphics stack, it's possible to boot current Raspbian system in KMS mode by adding "dtoverlay=vc4-kms-v3d" to config.txt on Raspbian's boot partition. X86 systems use KMS right away in every current GNU/Linux system. Simple build instructions: $./autogen.sh $./configure --enable-video-kmsdrm $make
Sam Lantinga 3c09265d 2017-07-10T18:31:28 Fixed bug 3609 - Windows build fails due to conflicting types for 'XINPUT_GAMEPAD_EX' Ozkan Sezer (In reply to Ryan C. Gordon from comment #9) > I've put this patch in as https://hg.libsdl.org/SDL/rev/7213ae46e870 ...can > you verify this works on the latest MinGW? > > Thanks, > --ryan. This patch is wrong: the structure in question has nothing to do with any gcc version in use. I suggest reverting this adding a conigury check for it, instead. Something like the following should do it: (configure needs regenerating.)
Sam Lantinga c1cd93e5 2017-06-12T16:35:34 Fixed bug 3670 - CMake IOS haptic error
Ryan C. Gordon e5f4a71f 2017-06-11T16:00:45 cmake: iOS haptic section was referencing power source code (thanks, Martin!). Fixes Bugzilla #3670.
Olli Kallioinen 2b5a5c51 2017-06-08T22:07:55 Android build fixes -Enabling checking for GCC_ATOMICS also on clang by default. This way all Android ABIs build successfully -Android cmake: Threading was not enabled correctly -Android cmake: Timers and dynamic lib loading were not included in the sources
Ryan C. Gordon d9039f23 2017-06-08T13:27:58 jack: Initial shot at a JACK audio target. http://jackaudio.org/ Fixes Bugzilla #2163. (with several more commits following to improve this code.)
Ryan C. Gordon dc8a22cd 2017-06-06T13:39:29 cmake: don't use /NODEFAULTLIB if we are using the C runtime (thanks, Rob!). Fixes Bugzilla #3640.
Olli Kallioinen 11289b76 2017-06-04T21:25:57 Android cmake build fixed to work with the official android gradle plugin
Ryan C. Gordon a7fc2822 2017-05-24T19:56:59 audio: rename bsd target to netbsd. Apparently this is no longer a generic BSD audio target, and hasn't been for years, so rename it for NetBSD.
Ryan C. Gordon 0e7530b0 2017-02-23T22:38:04 cmake: add WASAPI audio target to the build (thanks, Martin!). Fixes Bugzilla #3588.
Ryan C. Gordon 5ea0c893 2017-01-24T12:20:41 CMake: fixed logic error in setting -mfpmath=387. Fixes Bugzilla #3565.
Ryan C. Gordon 3594bf8e 2017-01-23T01:05:44 audio: Wired up new SSE code to build system.
Sam Lantinga df25258a 2017-01-06T20:43:53 Added configure and cmake support for libsamplerate