|
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.
|
|
bbb22a75
|
2017-11-05T01:17:24
|
|
Updated version to 2.0.8 since SDL_image depends on it
|
|
bcdf8b91
|
2017-11-04T17:35:03
|
|
Added SDL_fmod() and SDL_fmodf()
|
|
34502143
|
2017-11-04T15:34:14
|
|
Added float versions of SDL's math functions
|
|
9c580e14
|
2017-10-12T13:44:28
|
|
Added functions to query and set the SDL memory allocation functions:
SDL_GetMemoryFunctions()
SDL_SetMemoryFunctions()
SDL_GetNumAllocations()
|
|
0ce23a54
|
2017-10-12T08:08:04
|
|
Updated version to 2.0.7
|
|
e564da78
|
2017-09-29T10:15:44
|
|
revert files I didnt mean to commit!
|
|
e27f12e0
|
2017-09-29T10:07:37
|
|
wayland: Fix bug 3814 -Wmissing-field-initializers
|
|
260db92c
|
2017-09-22T16:33:34
|
|
Added stub Steam Controller sources to Android and iOS command line builds
|
|
2079ec99
|
2017-09-22T08:30:58
|
|
Removed non-existent files
|
|
d8286479
|
2017-09-22T08:30:52
|
|
Added stubs for simple Steam Controller support
|
|
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.
|
|
222d25ad
|
2017-09-08T22:21:01
|
|
Fixed bug 3805 - Why is there no --enable-video-rpi option in configure?
Andreas Falkenhahn
When compiling SDL for the Raspberry Pi, I have to use the --host parameter to enable compilation of the native Raspberry Pi video driver, like so:
--host=arm-raspberry-linux-gnueabihf
It took me a while to figure out that this was necessary in order to have the native Raspberry Pi video driver compiled in. I think it would be better if there was an option like --enable-video-rpi that could be passed to configure and that would also show up when saying configure --help. Currently, it?s rather difficult to figure out that you have to use the --host parameter with arm-raspberry-linux-gnueabihf in order to get Raspberry Pi video support. It?s also somewhat inconsistent because most other video drivers can in fact be enabled/disabled through specific configure parameters but there is no such parameter for the native Raspberry Pi video driver.
|
|
d51dc737
|
2017-09-06T01:14:23
|
|
Fixed bug 3797 - configure check for float.h
Ozkan Sezer
Cmake checks for float.h, but configure does not: the attached patch
adds float.h to checked headers in configury, and it adds the missing
HAVE_FLOAT_H macro to SDL_config.h.cmake and SDL_config.h.in.
In SDL_config_macosx.h and SDL_config_windows.h, defined HAVE_FLOAT_H
as 1, where I know that it's true.
|
|
e53c5c5c
|
2017-08-30T00:40:06
|
|
Fix QNX build - prioritize system EGL headers over the Khronos ones
|
|
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
|
|
c0530bcd
|
2017-08-28T22:42:41
|
|
We removed QuartzCore link dependency in commit 5be6badaf7e1
|
|
8ac85744
|
2017-08-28T22:36:45
|
|
Fixed Vulkan configure check for Android and added one for Mac OS X
|
|
dbb0a2aa
|
2017-08-28T14:34:15
|
|
Removed the need for libSDL2main.a on Android, and separated JNI initialization out for other integrations
|
|
ce2b1644
|
2017-08-28T00:11:38
|
|
Be clear that disabling Vulkan surface support disables the entire SDL Vulkan integration
|
|
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.
|
|
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.
|
|
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!
|
|
a78c20ae
|
2017-08-21T11:17:38
|
|
configury: check mmdeviceapi.h and audioclient.h before enabling wasapi.
|
|
2dc5d32f
|
2017-08-18T18:16:37
|
|
Updated version to 2.0.6
|
|
bcf0e071
|
2017-08-18T17:29:44
|
|
Added WASAPI audio target to autoconf build process
|
|
8816bb08
|
2017-08-18T19:53:40
|
|
configure: Apple platforms don't need to build with -fpascal-strings anymore.
|
|
677b2e57
|
2017-08-18T19:52:58
|
|
configure: mac and iOS should compile core/unix/*.c
macOS currently needs this if you build with X11 support. iOS doesn't
(currently), but it doesn't hurt to compile it in case we do something
Unixy on that platform later on.
|
|
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.
|
|
f8de064c
|
2017-08-13T22:26:44
|
|
Added wchar.h to fix build on some platforms with new wcs* functions
|
|
f1829d95
|
2017-08-13T20:37:49
|
|
Added SDL_wcscmp()
|
|
df2d2994
|
2017-08-13T18:12:06
|
|
Fixed bug 2812 - Make libSDL2main.a usable on Android via a dummy symbol
Jonas Kulla
This eliminates the need to manually compile in SDL_main_android.c.
Instead, add "-lSDL2main -Wl,-u,SDL_main_dummy" when linking.
I don't know how the nkd-build process works, but unless it was
for some reason linking libSDL2main.a it should be unaffected.
|
|
e4124ff5
|
2017-08-12T15:00:33
|
|
Fixed bug 3208 - Minor improvements to the configure script
Rafal Muzylo
"if we're already using libtool, why aren't we using it ?"; they've been inspired by the fact, that at that mark, neither libSDL2_test.a nor libSDL2main.a were being built correctly (not sure if it's fully broken or just because I've tested the out-of-tree build)
|
|
a48c9e6d
|
2017-08-11T21:16:33
|
|
Fixed bug 3292 - SDL_rwops and 64-bit file I/O
Juha Niemim?
On AmigaOS 4 platform with Newlib 'C' library, there is a problem with failing fseeko64. This seemed to be caused by using fopen instead of fopen64.
|
|
2d67381a
|
2017-08-09T18:41:59
|
|
haiku: non-x86 spins use a normal libstdc++ filename. Handle the differences.
Fixes Bugzilla #3730.
|
|
e9ae411a
|
2017-08-04T23:01:01
|
|
Updated generated configure script.
|
|
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.)
|
|
88100237
|
2017-07-09T23:00:43
|
|
Updated generated configure script.
|
|
121d7d25
|
2017-06-11T22:30:06
|
|
directfb: Fixed configure script not finding shared objects for dynamic loading.
|
|
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.)
|
|
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.
|
|
d00dfc43
|
2017-05-02T11:31:14
|
|
Fixed another AC_DEFINE.
|
|
3f7f65a3
|
2017-05-02T11:16:58
|
|
Fixed configure script.
The Haiku patch would define some HAVE_* things to /**/ instead of 1, breaking
the build for various things.
|
|
619ab7a2
|
2017-05-01T18:39:05
|
|
haiku: Various fixes from haikuports.
Based on patch here:
https://github.com/haikuports/haikuports/blob/master/media-libs/libsdl2/patches/libsdl2-2.0.5.patchset
|
|
06d6ada8
|
2017-04-02T21:33:02
|
|
Updated generated configure script.
|
|
94a69443
|
2017-03-01T15:05:54
|
|
mistake: Revert the files that I did not mean to commit
|
|
7bbb13ea
|
2017-03-01T14:50:59
|
|
* Some refactoring and bug fixes. Thanks Micha? Kuchta!
|
|
32ef85b5
|
2017-02-26T01:03:39
|
|
Updated generated configure script.
|
|
43dbbd63
|
2017-02-20T10:55:49
|
|
Updated iOS fat build
|
|
1b3327ed
|
2017-01-24T16:18:25
|
|
configure: report libsamplerate support status.
|
|
36cb05a8
|
2017-01-24T12:20:12
|
|
configure.in: Check for sse3 too when setting -mfpmath=387.
|
|
3594bf8e
|
2017-01-23T01:05:44
|
|
audio: Wired up new SSE code to build system.
|
|
e0a40fb6
|
2017-01-09T02:54:42
|
|
Implemented full evdev keyboard text support
This is based on the Linux kernel driver, and has fallback mapping tables in case we aren't connected to a virtual terminal.
|
|
25b47ea3
|
2017-01-08T10:52:02
|
|
Fixed attempting to dynamically load libsamplerate when shared object loading is disabled.
Thanks to Ozkan Sezer for pointing this out
|
|
df25258a
|
2017-01-06T20:43:53
|
|
Added configure and cmake support for libsamplerate
|
|
1e8f074c
|
2016-11-29T05:34:20
|
|
Avoid conflicts with multiple versions of udev by first trying the library that is linked with the executable, if any, and then picking the one that is in the build environment.
This fixes joystick detection for applications using the Steam Linux Runtime
|
|
2a5fab63
|
2016-11-19T23:27:51
|
|
Updated configure script.
|
|
ac74e16c
|
2016-11-10T17:19:34
|
|
Standardized the format of the SDL joystick GUID and added functions to retrieve the USB VID/PID from a joystick and game controller.
|
|
077d6e64
|
2016-11-01T10:42:35
|
|
Fixed bug with udev support reporting
Joshua Bodine
I'm going to reopen this because configure should still accurately report whether libudev will be used. Right now it just tests whether it's enabled as an argument, not whether configure was successful in finding it.
|
|
9a8642bd
|
2016-11-01T10:30:46
|
|
Fixed bug 3478 - Patch Haiku to use dlopen instead of load_add_on
Kai Sterker
SDL2 on Haiku so far uses Haiku-specific APIs for loading dynamic objects as add-ons, instead of using dlopen to load them as libraries. This, for example, leads to SDL_mixer not being able to load its audio backends, when compiled with standard settings.
As discussed at https://www.freelists.org/post/haikuports/SDL2-mixer-ogg-music-not-playing-and-other-stuff,2 , the best way to deal with this would be using dlopen instead of load_add_on. The following patch implements this change by dropping the Haiku-specific bits and using dlopen instead.
|
|
808c75d1
|
2016-10-07T18:57:40
|
|
Fixed bug 2824 - Add Fcitx Input Method Support
Weitian Leung
Just moved ibus direct call to SDL_IME_* related functions, and adds fcitx IME support (uses DBus, too),
enable with env: SDL_IM_MODULE=fcitx (ibus still the default one)
|
|
abefe785
|
2016-10-07T18:03:08
|
|
Fixed bug 3043 - fix alsa configury and cmake checks
Ozkan Sezer
SDL's alsa uses snd_pcm_recover() which has been available only since alsa-lib-1.0.11.
|
|
e45698d2
|
2016-09-28T22:24:01
|
|
Updated version to 2.0.5 in preparation for release
|
|
f89857f1
|
2016-09-26T23:09:34
|
|
Updated configure script.
|
|
e5070d20
|
2016-09-15T08:57:56
|
|
Fixed set of libraries needed to build on Mac OS X
|
|
93d42e2d
|
2016-09-15T08:46:14
|
|
Hopefully fixed the cmake build on Mac OS X
|
|
8c01d588
|
2016-09-15T08:29:20
|
|
Fixed building new coreaudio driver on Mac OS X
|
|
1428bab3
|
2016-09-01T16:01:54
|
|
Fixes building SDL on Ubuntu 16.04 with Mir headers installed
|
|
f11a4409
|
2016-09-01T01:26:56
|
|
wayland: Add support for relative mouse mode, by Jonas ?dahl <jadahl@gmail.com>
Generate the C protocol files from the protocol XML files installed by
wayland-protocols, and use them to implement support for relative pointer
motions and pointer locking.
Note that at the time, the protocol is unstable and may change in the future.
Any future breaking changes will, however, fail gracefully and result in no
regressions compared to before this patch.
|
|
19d3500a
|
2016-06-23T18:39:05
|
|
wayland: Build own version of core protocol
Since we are loading shared objects dynamically, build our own version of the
core protocol symbols, so that we in the future can include protocol
extensions.
|
|
697984df
|
2016-02-21T19:21:21
|
|
Regenerated configure script with Mir changes.
|
|
dc5f05bb
|
2016-01-07T16:42:30
|
|
Use --enable-new-dtags to set RUNPATH rather than RPATH so that LD_LIBRARY_PATH is not overridden by the application.
|
|
1373e890
|
2016-01-04T22:58:38
|
|
Try to build with GCC's -Wdeclaration-after-statement.
This will help catch things that'll cause issues on C89 compilers before we
send them on to fail on Buildbot.
|
|
9d789ebe
|
2015-12-29T19:14:19
|
|
Updated configure script.
|
|
2bf6f1bc
|
2015-09-20T23:08:36
|
|
Added initial support for MFi game controllers on iOS.
|
|
bf9bd59c
|
2015-06-29T22:24:00
|
|
Fixed bug 2464 - Configure a sdl2-config.cmake.in together with sdl2.pc.in
Leonardo
Despite having a CMakeLists.txt file, SDL2 seems to be mainly built using the autotools system by package-managers. It is nice to have it but it is only useful if you are building SDL2 by yourself.
People that want to use CMake to find their already-installed SDL2 are using a FindSDL2.cmake module based on the old FindSDL.cmake. This is not deprecated but it is discouraged by the CMake devs (see http://www.cmake.org/Bug/view.php?id=14826), as these modules needs maintainers to be included in the official CMake installation.
To fix that, SDL and its accompanying libraries could configure a simple sdl2-config.cmake file, much like it does with sdl2.pc.in. We don't need to configure a full sdl2-config.cmake as in this post, http://forums.libsdl.org/viewtopic.php?t=10068&sid=ccf8abbf0d73fb03ae9cded991e60959 (because it depends on it being built with CMake). Using something as simple as http://www.cmake.org/Wiki/CMake/Tutorials/Packaging#Package_Configuration_Files is deemed enough. Here is another: http://quickgit.kde.org/?p=prison.git&a=blob&f=lib%2Fprison%2FPrisonConfig.cmake.in
|
|
0e45984f
|
2015-06-21T17:33:46
|
|
Fixed crash if initialization of EGL failed but was tried again later.
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly
uninitialized data structure if loading the library first failed. A later try to
use EGL then skipped initialization and assumed it was previously successful
because the data structure now already existed. This led to at least one crash
in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was
dereferenced to make a call to eglBindAPI().
|
|
fb5732dc
|
2015-06-19T23:53:33
|
|
GCC is warning about global functions with the same name as variables in the code, when using -Wshadow.
This is a little ridiculous because we have no idea what functions a given platform will provide, so we'll disable -Wshadow for now.
|
|
8283abdb
|
2015-06-08T01:17:58
|
|
Updated configure script.
|
|
2a757825
|
2015-05-28T00:30:21
|
|
X11: Add Xdbe support to message boxes (thanks, Melker!).
Without this, message boxes with a lot of text will noticibly flicker as
you mouse over buttons.
Fixes Bugzilla #2343.
|
|
46f758ae
|
2015-05-26T19:54:06
|
|
Fix a libtool issue with some mingw-w64 cross compilers (thanks, Ozkan!).
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15321
http://git.savannah.gnu.org/gitweb/?p=libtool.git;a=commit;h=0ebb734910bf56186dd0c0e84b1c8be507bad336
Fixes Bugzilla #2722.
|
|
a2c28ec1
|
2015-05-26T11:13:51
|
|
Updated configure script.
|
|
13487426
|
2015-05-26T06:32:19
|
|
Fixed bug 1392 - Debian patch: do not propagate -lpthread
|
|
5c09bf73
|
2015-04-25T20:49:26
|
|
Only check for Linux-specific input APIs on Linux targets (thanks, Marcus!).
This is only for the configure script. The CMake project files already make
this Linux-exclusive.
Fixes Bugzilla #2659.
|
|
b72938c8
|
2015-04-20T12:22:44
|
|
Windows: Always set the system timer resolution to 1ms by default.
An existing hint lets apps that don't need the timer resolution changed avoid
this, to save battery, etc, but this fixes several problems in timing, audio
callbacks not firing fast enough, etc.
Fixes Bugzilla #2944.
|
|
1a73b4eb
|
2015-04-11T05:58:37
|
|
Some Raspberry Pi build fixes (including Raspberry Pi 2 support).
Fixes Bugzilla #2879.
|
|
fe6c797c
|
2015-04-10T23:30:31
|
|
Fixed an iOS view orientation issue when SDL_GL_CreateContext or SDL_CreateRenderer is called.
|
|
ac2bb3f2
|
2015-03-23T20:07:24
|
|
configure script: fix recursive mutex test on Linux systems (thanks, Ozkan!).
|
|
b88ca1b4
|
2015-02-10T16:28:56
|
|
the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here.
Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here. Not 5 or 10 depending on the architecture.
More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
|
|
34a5c70c
|
2015-01-26T22:27:27
|
|
Fixed recently broken configure script for FreeBSD.
Found by buildbot.
|
|
b48e54aa
|
2015-01-26T22:00:29
|
|
Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation
Jonas Kulla
The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c.
I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
|
|
fe40a172
|
2014-12-18T00:19:52
|
|
Initial merge of Emscripten port!
With this commit, you can compile SDL2 with Emscripten
( http://emscripten.org/ ), and make your SDL-based C/C++ program
into a web app.
This port was due to the efforts of several people, including: Charlie Birks,
Sathyanarayanan Gunasekaran, Jukka Jyl?nki, Alon Zakai, Edward Rudd,
Bruce Mitchener, and Martin Gerhardy. (Thanks, everyone!)
|
|
70438be2
|
2014-12-03T10:55:23
|
|
WinRT: fixed bug whereby SDL would override an app's default orientation
WinRT apps can set a default, preferred orientation via a .appxmanifest file.
SDL was overriding this on app startup, and making the app use all possible
orientations (landscape and portrait).
Thanks to Eric Wing for the heads up on this!
|
|
f86af130
|
2014-11-29T14:41:18
|
|
Fixed bug 2795 - SDL library detection selects the wrong lib
Chris Beck
When creating a homebrew recipe for wesnoth, I discovered that the SDL image configuration routine does not detect libpng properly -- if you have multiple instances of libpng on your system, and you use environment variables to select an instance which is not in your system directory, the build can be broken, because it will run configuration tests against the system installed version, but deduce that it should use the filename of the system-installed version. In a vanilla build of wesnoth using homebrew, this results in segfaults at runtime, because you end up linking against two different versions of libpng, which is also needed independently of SDL.
The problem is essentially in the "find_lib" routine in the configure file:
find_lib()
{
gcc_bin_path=[`$CC -print-search-dirs 2>/dev/null | fgrep programs: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
gcc_lib_path=[`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
env_lib_path=[`echo $LIBS $LDFLAGS | sed 's/-L[ ]*//g'`]
for path in $gcc_bin_path $gcc_lib_path $env_lib_path /usr/lib /usr/local/lib; do
lib=[`ls -- $path/$1 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
if test x$lib != x; then
echo $lib
return
fi
done
}
Because the for loop goes over the system directories before the environment directories, any system-installed lib will shadow the lib selected via environment variables. This is contrary to the behavior of the configuration tests earlier in the script, which prefers the environment variable libs over the system-installed libs. The 'for' loop should instead be:
for path in $env_lib_path $gcc_bin_path $gcc_lib_path /usr/lib /usr/local/lib; do
You can see the full discussion on the Homebrew / linuxbrew issue tracker here: https://github.com/Homebrew/linuxbrew/issues/172
I have checked that this bug also affects SDL 1.2.15, SDL_mixer and SDL_ttf 1.2, which all use this same "find_lib" routine. I have not determined if the bug affects SDL 2.0, which seems not to use this exact routine.
|
|
9c398852
|
2014-11-22T22:20:40
|
|
Corrected header file documentation comment.
|
|
839be304
|
2014-10-15T16:26:51
|
|
Updated configure based on recent configure.in changes
|
|
24c86b55
|
2014-09-11T19:24:42
|
|
[X11] Reconcile logical keyboard state with physical state on FocusIn
since the window system doesn't do it for us like other platforms.
This prevents sticky keys and missed keys when going in and out
of focus, for example Alt would appear to stick if switching away
from an SDL app with Alt-Tab and had to be pressed again.
CR: Sam
|
|
50cc4efe
|
2014-09-10T08:54:01
|
|
Freescale i.MX6 video driver
---
CMakeLists.txt | 2 +
cmake/sdlchecks.cmake | 20 +++
configure | 51 +++++++
configure.in | 28 ++++
include/SDL_config.h.cmake | 1 +
include/SDL_config.h.in | 1 +
src/video/SDL_sysvideo.h | 3 +
src/video/SDL_video.c | 3 +
src/video/mx6/SDL_mx6events.c | 45 ++++++
src/video/mx6/SDL_mx6events_c.h | 31 +++++
src/video/mx6/SDL_mx6opengles.c | 211 ++++++++++++++++++++++++++++
src/video/mx6/SDL_mx6opengles.h | 68 +++++++++
src/video/mx6/SDL_mx6video.c | 301 ++++++++++++++++++++++++++++++++++++++++
src/video/mx6/SDL_mx6video.h | 78 +++++++++++
14 files changed, 843 insertions(+)
create mode 100644 src/video/mx6/SDL_mx6events.c
create mode 100644 src/video/mx6/SDL_mx6events_c.h
create mode 100644 src/video/mx6/SDL_mx6opengles.c
create mode 100644 src/video/mx6/SDL_mx6opengles.h
create mode 100644 src/video/mx6/SDL_mx6video.c
create mode 100644 src/video/mx6/SDL_mx6video.h
|
|
7242e814
|
2014-09-02T06:55:47
|
|
Updated version to 2.0.4
|
|
059579e4
|
2014-08-23T10:47:50
|
|
Fixed bug 2696 - Mac: fix display mode refresh rate calculation
Alex Szpakowski
SDL's Cocoa backend uses the CGDisplayMode API to get refresh rate information about a display mode, but CGDisplayModeGetRefreshRate will return 0 on most non-CRT monitors.
The only way I know of to get correct refresh rate information in OS X is via the CoreVideo DisplayLink API.
I have attached a patch which tries to use the CVDisplayLinkGetNominalOutputVideoRefreshPeriod function if CGDisplayModeGetRefreshRate fails, which fixes display mode refresh rate information on the monitors I tested.
The CVDisplayLink API requires linking with the CoreVideo framework, and the patch updates the various build files to do so.
|