Commit graph

61 commits

Author SHA1 Message Date
Ryan C. Gordon
c2c793b74c CMake: Minor cleanup up on the new SDL_*_ENABLED_BY_DEFAULT vars.
--HG--
extra : rebase_source : af065b92bfba14673c2c76606339fe6a1e449e86
2014-12-13 02:40:52 -05:00
Ryan C. Gordon
de88474dda 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!)

--HG--
extra : rebase_source : 97af74c8a5121e926ebe89f123536b5dd6681695
2014-12-18 00:19:52 -05:00
Ryan C. Gordon
c2ebb6b09f CMake: Replace "else(condition)" with "else()", etc.
Bumped required CMake version to 2.8.

Thanks to the SDL/Emscripten porting team for this cleanup.

--HG--
extra : rebase_source : 2b9bf6b045956f4607d2911265a136359a3fbdcb
2014-12-13 02:33:52 -05:00
Sam Lantinga
ab1bbeb596 Expanded the iMX6 video driver into a general Vivante video driver that works across multiple SoCs 2014-10-15 09:18:17 -07:00
mastermind
97fde15915 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
2014-09-10 08:54:01 -07:00
Sam Lantinga
98e9c13a13 Updated version to 2.0.4 2014-09-02 06:55:47 -07:00
Sam Lantinga
46e3d957ab 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.
2014-08-23 10:47:50 -07:00
Sam Lantinga
755f4ad22e Fixed bug 2691 - Disabling shared library prevent cmake configuration
hotgloupi

Configuring using "cmake -DSDL_STATIC=1 -DSDL_SHARED=0" generate and error in CMakeLists.txt at line 1334:

CMake Error at CMakeLists.txt:1334 (install):
  install TARGETS given target "SDL2" which does not exist in this directory.

This install rule shouldn't be present when the DLL has been disabled
2014-08-19 21:13:07 -07:00
Sam Lantinga
e49acc1f5b Reset CMAKE_REQUIRED_FLAGS after test 2014-08-17 13:49:53 -07:00
Sam Lantinga
a8d9c26db2 cmake: add -Wl,--no-undefined to GCC linker flags
This way unresolved symbols will be detected when linking the shared
library version.
2014-08-17 13:15:45 -07:00
Sam Lantinga
3c747234b3 cmake: add -Wall/-Wshadow to GCC compilation flags 2014-08-17 13:15:09 -07:00
Sam Lantinga
b3e4782510 Removed SDL_round() because the license wasn't compatible with zlib 2014-08-17 13:11:55 -07:00
Sam Lantinga
67228e5e8c Fixed bug 2683 - Raspberry PI support using CMake
Tobias Himmer

this patch adds a check to the CMake build script to detect whether the VideoCore API is available.
If it is found, it enables SDL_VIDEO_DRIVER_RPI and will also add the needed include/library directory flags to CMAKE_C_FLAGS so the subsequent check for GLES succeeds in picking up the headers.

Seems to work fine on Raspbian.
2014-08-16 23:28:40 -07:00
Sam Lantinga
5acb7c63d1 Added SDL_round(), contributed by Benoit Pierre - thanks! 2014-08-16 23:23:15 -07:00
Sam Lantinga
2afb7573b6 Fixed building on Windows with CMake 2014-08-16 15:18:21 -07:00
Sam Lantinga
313e3b80f2 Partial fix for bug 2556 - add compilation flag -Wshadow
I added -Wshadow and then turned it off again because of massive variable shadowing in the blit macros.

Feel free to go through that code and fix these if you want. Just uncomment CheckWarnShadow in configure.in if you want to try this.
2014-06-22 11:02:56 -07:00
Wander Lairson Costa
c38d784fc2 Add suport for "make uninstall" to cmake.
--HG--
extra : rebase_source : 2769e11d0295638a1c4aea6118b984ece01ed4ba
2014-06-16 10:58:09 -03:00
Sam Lantinga
7ffc6a3040 Fixed building on command line Mac OS X 2014-06-07 20:43:12 -07:00
Ryan C. Gordon
a8ab12a0d6 Fix build on Windows targets without dxgi.h, like MingW32. 2014-05-06 00:13:07 -04:00
Brandon Schaefer
fdf9b30018 Re-enable Mir/Wayland support now that 2.0.3 has been released. 2014-03-25 14:33:34 -07:00
Ryan C. Gordon
2067e0d28a Disable Wayland/Mir again for 2.0.3; it's a quick, brown-paper-bag release.
We'll enable it by default for 2.0.4. Hopefully.   :)

    ( http://www.catb.org/jargon/html/B/brown-paper-bag-bug.html )

--HG--
extra : rebase_source : 30eae3abc592f26538584fefcaf2dd49be3cfa89
2014-03-11 10:33:51 -04:00
Sam Lantinga
1348631206 Converted David Ludwig's D3D11 renderer to C and optimized it.
The D3D11 renderer is now slightly faster than D3D9 on my Windows 8 machine (testsprite2 runs at 3400 FPS vs 3100 FPS)
This will need tweaking to fix the Windows RT build.

--HG--
rename : src/render/direct3d11/SDL_render_d3d11.cpp => src/render/direct3d11/SDL_render_d3d11.c
2014-03-10 01:51:03 -07:00
Sam Lantinga
b821f84418 Updated SDL to version 2.0.3 2014-03-09 10:38:30 -07:00
Ryan C. Gordon
9dbbedbea0 Enable Wayland and Mir in configure/cmake scripts, now that 2.0.2 has shipped. 2014-03-08 15:32:12 -05:00
Ryan C. Gordon
057c292553 CMake: Don't use /NODEFAULTLIB on Windows unless we're Visual Studio. 2014-03-07 00:18:37 -05:00
Ryan C. Gordon
d210539a55 CMake: Fixed build on Mac OS X.
--HG--
extra : rebase_source : f4cf7d23db97cdaf223be63fa93c4fa713c68276
2014-02-24 11:24:48 -05:00
Edward Rudd
20f44801d9 Fix Cmake so generated SOname matches autoconf's #.
--HG--
extra : rebase_source : 8aed06833632e488a600940bb54b212e69e5f1ec
extra : amend_source : e7f4179f3048af5092933c7bc2bbe77b7304daa0
2014-02-10 10:53:02 -05:00
Sam Lantinga
e49f7fcdf8 Updated SDL to version 2.0.2 2014-02-09 03:09:56 -08:00
Sam Lantinga
245621ceb0 Possibly fixed bug 2250 - Cmake: SDL2 Doesn't install DLLs on Windows
ernest.lee

[Exec] CMake Error at cmake_install.cmake:151 (FILE):
[13:37:43][Exec]   file INSTALL cannot find
[13:37:43][Exec]   "C:/TeamCity/buildAgent/work/2e3d17a492e75daf/Build/libSDL2.so".

The cmake INSTALL project doesn't work because it uses Linux so shared library paths. Windows uses dlls and I think cygwin also uses dlls. I've included this patch. Can you check if it works?
2014-02-09 02:04:40 -08:00
Ryan C. Gordon
2b76b6f34d Temporarily default Wayland and Mir to disabled, for 2.0.2 release.
We'll flip the default back to enabled right after 2.0.2 is finalized, and
try to declare them stable and ready by 2.0.3.

Those that have an interest in supporting them in 2.0.2 can manually enable
 them in the configure script with --enable-video-wayland and/or
 --enable-video-mir.
2014-02-03 11:59:17 -05:00
Ryan C. Gordon
adb4d0965e Added Mir video target (thanks, Brandon!).
--HG--
extra : rebase_source : 9564f37024fe0ffe8139803eeb198c9a1fd142d9
extra : histedit_source : 872a8f12b9891854366f6932c7240fca7c2fad9a%2Ca3feb8654d46fbe0caeea33ccbc90e4b457dbc11
2014-02-02 23:41:46 -05:00
Ryan C. Gordon
3d3ea1fac8 Move to no-argument version of "endif()" in CMakeLists.txt.
--HG--
extra : rebase_source : 92449842241a87a56281cbffbbdece5a882ed11d
2014-01-28 12:42:01 -05:00
Ryan C. Gordon
e5d21117a7 Some CMake fixes for static linking on Windows from the OpenFL project.
--HG--
extra : rebase_source : d913d06e39a873fa6da7814786f1acf49e541c7f
2014-01-28 12:37:04 -05:00
Ryan C. Gordon
8c8c5cd844 CMake: Enable missing timer subsystem on Mac OS X and Haiku. 2014-01-28 00:05:23 -05:00
Edward Rudd
90f139dcb9 quick fix for CMAKE SOVERSION number so it matches what is output by the configure script 2014-01-25 16:08:39 -05:00
Edward Rudd
c71a62043d correct grammar on UNIX missing dependency status notice.
--HG--
extra : amend_source : 5deffcdb01ff5358a9b62d6d2f473012c66544ff
2014-01-25 15:13:16 -05:00
Ryan C. Gordon
723a653107 Fixed dynamic loading of NAS in CMake project. 2014-01-21 13:58:15 -05:00
Ryan C. Gordon
63256a2384 Implemented the Dynamic API magic.
--HG--
extra : rebase_source : 38f639089d3d142895d5cf106919a0bfbb65c5ed
2013-12-09 16:03:18 -05:00
Ryan C. Gordon
de59025dac We don't need to check for snprintf() anymore, we don't use it.
SDL_snprintf() is built on vsnprintf() where available.

--HG--
extra : rebase_source : fef7988e29ab9293c7ae9ba3cff3f86c7e59e345
2013-11-24 23:36:15 -05:00
Ryan C. Gordon
3003efb88d Added SDL_vsscanf().
--HG--
extra : rebase_source : 088d093790a7ed95d73c307523587e95c8356f4b
2013-11-24 23:35:38 -05:00
Gabriel Jacobo
3308d271b5 Wayland support
Based on the original port to Wayland by: Joel Teichroeb, Benjamin Franzke, Scott Moreau, et al.

Additional changes in this commit, done by me:

* Wayland uses the common EGL framework
* EGL can now create a desktop OpenGL context
* testgl2 loads GL functions dynamically, no need to link to libGL anymore
* Assorted fixes to the Wayland backend

Tested on the Weston Compositor (v1.0.5) that ships with Ubuntu 13.10,
running Weston under X. Tests ran: testrendercopyex (all backends), testgl2, testgles2,testintersections
2013-12-14 20:18:43 -03:00
Ryan C. Gordon
924207a299 Hook up SDL_acos and SDL_asin properly. 2013-12-09 15:17:20 -05:00
Gabriel Jacobo
7e840cc03e Fixes #2271, Add KD detection under CMake by Scott Percival 2013-11-26 11:50:54 -03:00
Gabriel Jacobo
b3874f57ce Fixes #2272, typo in CMakeLists.txt (thanks Boris Bendovsky!) 2013-11-26 11:47:52 -03:00
Sam Lantinga
a890cb0b45 Fixed bug 2238 - Enable GCC atomics for clang
Marcus von Appen

clang provides support for optimized atomics.
The attached patch enables the cmake build system to take clang into account on checking for atomics.
2013-11-16 11:58:21 -08:00
Ryan C. Gordon
30c46bacc8 Renamed things named after BeOS to be named after Haiku instead.
--HG--
rename : src/audio/baudio/SDL_beaudio.cc => src/audio/haiku/SDL_haikuaudio.cc
rename : src/audio/baudio/SDL_beaudio.h => src/audio/haiku/SDL_haikuaudio.h
rename : src/filesystem/beos/SDL_sysfilesystem.cc => src/filesystem/haiku/SDL_sysfilesystem.cc
rename : src/joystick/beos/SDL_bejoystick.cc => src/joystick/haiku/SDL_haikujoystick.cc
rename : src/loadso/beos/SDL_sysloadso.c => src/loadso/haiku/SDL_sysloadso.c
rename : src/main/beos/SDL_BApp.h => src/main/haiku/SDL_BApp.h
rename : src/main/beos/SDL_BeApp.cc => src/main/haiku/SDL_BeApp.cc
rename : src/main/beos/SDL_BeApp.h => src/main/haiku/SDL_BeApp.h
rename : src/power/beos/SDL_syspower.c => src/power/haiku/SDL_syspower.c
rename : src/timer/beos/SDL_systimer.c => src/timer/haiku/SDL_systimer.c
rename : src/video/bwindow/SDL_BWin.h => src/video/haiku/SDL_BWin.h
rename : src/video/bwindow/SDL_bclipboard.cc => src/video/haiku/SDL_bclipboard.cc
rename : src/video/bwindow/SDL_bclipboard.h => src/video/haiku/SDL_bclipboard.h
rename : src/video/bwindow/SDL_bevents.cc => src/video/haiku/SDL_bevents.cc
rename : src/video/bwindow/SDL_bevents.h => src/video/haiku/SDL_bevents.h
rename : src/video/bwindow/SDL_bframebuffer.cc => src/video/haiku/SDL_bframebuffer.cc
rename : src/video/bwindow/SDL_bframebuffer.h => src/video/haiku/SDL_bframebuffer.h
rename : src/video/bwindow/SDL_bkeyboard.cc => src/video/haiku/SDL_bkeyboard.cc
rename : src/video/bwindow/SDL_bkeyboard.h => src/video/haiku/SDL_bkeyboard.h
rename : src/video/bwindow/SDL_bmodes.cc => src/video/haiku/SDL_bmodes.cc
rename : src/video/bwindow/SDL_bmodes.h => src/video/haiku/SDL_bmodes.h
rename : src/video/bwindow/SDL_bopengl.cc => src/video/haiku/SDL_bopengl.cc
rename : src/video/bwindow/SDL_bopengl.h => src/video/haiku/SDL_bopengl.h
rename : src/video/bwindow/SDL_bvideo.cc => src/video/haiku/SDL_bvideo.cc
rename : src/video/bwindow/SDL_bvideo.h => src/video/haiku/SDL_bvideo.h
rename : src/video/bwindow/SDL_bwindow.cc => src/video/haiku/SDL_bwindow.cc
rename : src/video/bwindow/SDL_bwindow.h => src/video/haiku/SDL_bwindow.h
extra : rebase_source : afd5a42647878e283dbee3a666cef2214f0e7941
2013-11-14 11:51:24 -05:00
Ryan C. Gordon
bcaa9c4c22 Started BeOS removal: merged BeOS thread and pthread code.
Haiku uses most of the standard pthread API, with a few #ifdefs where we
still need to fallback onto the old BeOS APIs.

BeOS, however, does not support pthreads (or maybe doesn't support it well),
so I'm unplugging support for the platform with this changeset. Be Inc went
out of business in 2001.

--HG--
extra : rebase_source : c7227f47193228c898cc997ebcf9bb00ead329e6
2013-11-13 22:35:26 -05:00
Sam Lantinga
6592749e51 Fixed bug 2187 - CMake is not adding src/core/linux/*.c to the build, linking to SDL results in errors.
Daniel Ribeiro Maciel

CMake is not adding src/core/linux/*.c to the build, linking to SDL results in errors:

(...)/libSDL2-2.0.so.1.0.1: undefined reference to `SDL_UDEV_AddCallback'
(...)/libSDL2-2.0.so.1.0.1: undefined reference to `SDL_UDEV_Poll'
(...)/libSDL2-2.0.so.1.0.1: undefined reference to `SDL_UDEV_Init'
(...)/libSDL2-2.0.so.1.0.1: undefined reference to `SDL_UDEV_Quit'
(...)/libSDL2-2.0.so.1.0.1: undefined reference to `SDL_UDEV_DelCallback'
(...)/libSDL2-2.0.so.1.0.1: undefined reference to `SDL_UDEV_Scan'
collect2: error: ld returned 1 exit status
2013-11-03 11:00:28 -08:00
Sam Lantinga
01cfa82f08 Fixed bug 2061 - SDL_filesystem API not built using cmake
Marcus von Appen

The SDL_filesystem API does not get built properly on Unix and BeOS using cmake due to not including the correct C files.
2013-10-21 00:22:07 -07:00
Sam Lantinga
1c7ed8eef6 Updated SDL to version 2.0.1 2013-10-10 21:50:25 -07:00