Commit Graph

739 Commits

Author SHA1 Message Date
Ryan C. Gordon
a256776578 Fix build on Windows targets without dxgi.h, like MingW32. 2014-05-06 00:13:07 -04:00
Steven Stewart-Gallus
b1ed36f700 Set the tag type in libtool invocations
Setting the tag type will let libtool work even when it cannot infer
the type of the code being built. One way libtool may fail to infer
the tag type is if one uses a mock compiler (such as for static
analysis).
2014-04-19 16:33:42 -07:00
Brandon Schaefer
ad8ea09710 Revert MIR_CFLAGS to SDL_CFLAGS. Use forward declaration for the real fix. (We shouldn't expose mir headers!) 2014-04-21 12:42:25 -07:00
Dimitris Zenios
07d07b460e Enable building of Android libraries using a standalone NDK 2014-04-06 00:30:48 +03:00
Brandon Schaefer
ae2cbb50e3 Add DIRECTFB_CFLAGS to SDL_CFLAGS so its cflags will get added to the sdl2.pc 2014-04-17 14:02:21 -07:00
Brandon Schaefer
36a5ba5f43 Add MIR_CFLAGS to SDL_CFLAGS so these cflags are added to the sdl2.pc file. 2014-04-17 13:58:39 -07:00
Brandon Schaefer
9ef2940ca5 Re-enable Mir/Wayland support now that 2.0.3 has been released. 2014-03-25 14:33:34 -07:00
Ryan C. Gordon
df5999c579 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 )
2014-03-11 10:33:51 -04:00
Sam Lantinga
6b5a5ea12a 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.
2014-03-10 01:51:03 -07:00
Sam Lantinga
c75b319a11 Updated SDL to version 2.0.3 2014-03-09 10:38:30 -07:00
Ryan C. Gordon
7c0ab6a669 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
e28e6eb952 Fixed X11 XInput2 multitouch test to work in configure script.
configure wraps this C code in a main() function, so you can't declare a
function body in there. Besides, I'm not sure why we declared a function
that's part of the multitouch API anyhow.

Now we just reference a type that only exists if the headers have multitouch
support and call it a day.
2014-03-02 01:59:25 -05:00
Sam Lantinga
a1eaf07f76 Fixed test for libuuid.a 2014-03-01 11:39:39 -08:00
Sam Lantinga
69a526fdc9 Fixed bug 2298 - undefined reference to `IID_IUnknown' on cygwin
Brian Minton

When building static or shared libraries on cygwin 1.7.25 on Windows 7 (32-bit), I get the following link errors:

build/.libs/SDL_windowskeyboard.o: In function `UIElementSink_QueryInterface@12':
/home/c-bminton/src/SDL/src/video/windows/SDL_windowskeyboard.c:995: undefined reference to `IID_IUnknown'
build/.libs/SDL_windowskeyboard.o: In function `IPPASink_QueryInterface@12':
/home/c-bminton/src/SDL/src/video/windows/SDL_windowskeyboard.c:1101: undefined reference to `IID_IUnknown'
collect2: error: ld returned 1 exit status
Makefile:126: recipe for target 'build/libSDL2.la' failed
make: *** [build/libSDL2.la] Error 1

--
The libuuid from e2fsprogs is completely unrelated to the w32api UUID.DLL implib. FWIW, any *NIX software that I've seen obviously wants the e2fsprogs version, but if libuuid-devel is installed (in /usr/lib) then you can't link against the w32api implib with a simple -luuid.
2014-02-22 15:34:31 -08:00
Sam Lantinga
1af9aa0b1e Updated SDL to version 2.0.2 2014-02-09 03:09:56 -08:00
Ryan C. Gordon
7e414636ad Removed -force_cpusubtype_ALL cflag from Mac builds.
This was for PowerPC G3 (!) compatibility, and Clang doesn't even recognize
 the flag anymore.
2014-02-03 14:47:48 -05:00
Ryan C. Gordon
1957b51ba0 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
e8b47266fd Hooked up dynamic loading for Mir. 2014-02-03 11:52:54 -05:00
Ryan C. Gordon
8bb49ceaf5 Add Mir to configure script's summary output. 2014-02-03 11:14:25 -05:00
Ryan C. Gordon
781022f33d Added Mir video target (thanks, Brandon!). 2014-02-02 23:41:46 -05:00
Gabriel Jacobo
12813a0222 Treacherous copy/paste! 2014-01-30 20:29:58 -03:00
Gabriel Jacobo
346fdd8976 Detect Xrandr >= 1.2 at build time 2014-01-30 20:27:13 -03:00
Edward Rudd
2e61dd3ed9 autoconf script tweaks
- fix up chmodding sdl2-config
- remove duplicate enable_atomic section
- add pretty summary of what was found/enabled
2014-01-25 15:05:44 -05:00
Gabriel Jacobo
7396953eb6 Dynamic loading support for Wayland 2014-01-09 13:56:21 -03:00
Ryan C. Gordon
3dfc14ade2 Implemented the Dynamic API magic. 2013-12-09 16:03:18 -05:00
Ryan C. Gordon
258c05aa3e We don't need to check for snprintf() anymore, we don't use it.
SDL_snprintf() is built on vsnprintf() where available.
2013-11-24 23:36:15 -05:00
Ryan C. Gordon
df9f367941 Added SDL_vsscanf(). 2013-11-24 23:35:38 -05:00
Ryan C. Gordon
693d23230e Don't use -falign-loops=16 on Mac OS X anymore.
It isn't available in Clang at all, and was more important on PowerPC.
2013-11-24 21:15:58 -05:00
Gabriel Jacobo
08ed2e33eb Implements touch support on QTWayland. Contributed by Thomas Perl. 2013-12-27 09:29:39 -03:00
Gabriel Jacobo
74cba7bdbe 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
fac8b02737 Hook up SDL_acos and SDL_asin properly. 2013-12-09 15:17:20 -05:00
Gabriel Jacobo
2b8c6764cd Fixes compilation on Mingw. 2013-11-22 14:19:52 -03:00
Ryan C. Gordon
7a1ce61821 -fvisibility=hidden is no longer a requirement for dynamic X11.
We don't clash with Xlib symbols anymore.
2013-11-19 15:00:39 -05:00
Gabriel Jacobo
002125434c Fixes building for RPi using --no-undefined 2013-11-17 11:07:55 -03:00
Gabriel Jacobo
a43594ba0d Restore evdev sources to configure script 2013-11-17 10:41:16 -03:00
Ryan C. Gordon
ccebcf221f Turn off --no-undefined on OpenBSD again. Leave it on everywhere else for now. 2013-11-16 21:52:56 -05:00
Sam Lantinga
6a79478d0e Fixed up configure so it doesn't reference input/evdev anymore 2013-11-16 12:04:00 -08:00
Ryan C. Gordon
7b0c132da5 Turning --no-undefined back on, to see what platforms are still broken. 2013-11-14 20:24:15 -05:00
Ryan C. Gordon
368dcb741c Apparently Haiku is removing /boot/common (thanks, scottmc!).
See http://lists.libsdl.org/pipermail/sdl-libsdl.org/2013-November/091877.html
2013-11-14 14:45:00 -05:00
Ryan C. Gordon
b444dd2714 Renamed things named after BeOS to be named after Haiku instead. 2013-11-14 11:51:24 -05:00
Ryan C. Gordon
ee4465fe4f 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.
2013-11-13 22:35:26 -05:00
Sam Lantinga
fdc0f72d69 Fixed bug 2149 - Don't search for libusbhid except on BSD
Joseph Carter

There's a whole set of configure tests for BSD's libusbhid, and they only matter on BSD.  However, if you have the library on Linux, it gets pulled in as library bloat.  And it's bloat of the highest order since not a single function call to the library is ever made unless you're on a *BSD.
2013-10-13 19:49:45 -07:00
Sam Lantinga
6fca598f55 Updated SDL to version 2.0.1 2013-10-10 21:50:25 -07:00
Gabriel Jacobo
4a1785a9ea SDL_TEXTINPUT support for EVDEV 2013-10-03 10:28:10 -03:00
Gabriel Jacobo
dd33e35895 Raspberry Pi support (also unified UDEV and EVDEV support) 2013-09-28 13:28:19 -03:00
Ryan C. Gordon
022317db13 Corrected Haiku build. 2013-08-20 20:16:15 -04:00
Ryan C. Gordon
8fe1cf47f2 Added SDL_GetBasePath() and SDL_GetPrefPath() in new filesystem module. 2013-08-20 19:57:11 -04:00
Gabriel Jacobo
84f07d804a Fixes bug #2037, common EGL code for Android and X11 2013-08-19 16:29:46 -03:00
Sam Lantinga
a5641a9745 Fixed bug 1972 - Changeset 7379 (b27c778a2bdb) breaks make process with msys+mingw (make 3.82.90)
Andreas

With the patch applied, make is not able to find the rule for Makefile.in anymore. Removing the patch resolves the issue.

The path is in fact correct (in my case: /c/external/SDL64/SDL). But it seems the windows build of GNU Make doesn't work well with pathnames in rules. Both the dependencies in "$(srcdir)/configure: $(srcdir)/configure.in" and "Makefile: $(srcdir)/Makefile.in" will cause rules not to be found when srcdir is defined.

The same problem occurs if the patch is removed and I supply configure with a srcdir manually.
2013-08-04 09:37:27 -07:00
Edward Rudd
fb8455ec81 Further fix SIZEOF_VOIDP in SDL_config.h.in
The configure script was still overwriting SIZEOF_VOIDP so both ended up as either 4 or 8 depending on the arch.  This simply removes the check from configure.in
2013-07-31 12:13:26 -04:00
Jørgen P. Tjernø
e1bbdec6b8 Mac: Codify SDK and OS requirements, and clean up.
This #errors if you're using an SDK or deployment target that is less
than 10.6 and 10.5, respectively, and cleans up uses of
MAC_OS_X_VERSION_MIN_REQUIRED and MAC_OS_X_VERSION_MAX_ALLOWED according
to those requirements.
2013-07-23 17:38:59 -07:00
Sam Lantinga
ca9a19ea4c Fixed building with cygwin
Note that building with cygwin gcc results in a DLL that depends on cygwin1.dll
2013-07-21 23:01:01 -07:00
Sam Lantinga
5644b36ad2 Added X include path so SDL_syswm.h works correctly on systems with X11 in a non-standard directory. 2013-07-21 12:37:43 -07:00
Sam Lantinga
2eb2901197 Added a configure check for Xext.h 2013-07-13 10:41:57 -07:00
Sam Lantinga
9c0dea8e15 Implemented an API for thread-local storage: SDL_TLSCreate(), SDL_TLSSet(), SDL_TLSGet() 2013-07-10 02:32:04 -07:00
Gabriel Jacobo
9bc1b31fd3 Removing video/uikit/*.c from configure's iOS sources
Unexplicable computer sciences phenomenon: Instead of returning an empty set,
*.c in an folder with no .c files produces the "*.c" string to be added as
a source. I'm sorry future generations, we are doing the best we can :)
2013-07-09 13:54:29 -03:00
Ryan C. Gordon
0e46f3f31f Disable OSS and BSD audio targets on OpenBSD. 2013-07-08 13:26:59 -04:00
Sam Lantinga
f98fac9047 Make sure that srcdir has a full pathname so source indexing works. 2013-07-08 09:21:54 -07:00
Ryan C. Gordon
6174013522 Added an SDL2 OpenBSD sndio(7) audio target. 2013-07-07 02:03:07 -04:00
Sam Lantinga
d8b6e04ab1 Fixed SDL building with the minimal configuration 2013-06-13 22:10:10 -07:00
Sam Lantinga
bc032c1d7b Improved find_lib, gets the latest version of libpng, etc. 2013-06-07 21:47:23 -07:00
Ryan C. Gordon
4822c86099 Fixed build on newer Cygwin installs. 2013-06-05 00:42:39 -04:00
Azamat H. Hackimov
3645242ba8 Fix compilation with libX11 >= 1.5.99.902.
These changes fixes bug #1769 for SDL2
(http://bugzilla.libsdl.org/show_bug.cgi?id=1769).
2013-06-02 20:20:18 +06:00
Sam Lantinga
34b782c94c Better mingw32-x64 linker flag fix, which doesn't require libtool patch 2013-05-26 22:16:42 -07:00
Sam Lantinga
dd1dfc7c6e Removed dependency on libgcc_s_sjlj-1.dll when building with mingw64 2013-05-26 16:29:57 -07:00
Sam Lantinga
96db5f7b81 Renamed documentation files to .txt and converted them to DOS line endings so they would open properly on all systems.
Updated Makefile.in so "make dist" includes everything necessary for release.
2013-05-26 11:06:17 -07:00
Sam Lantinga
0b6d808284 Fixed bug Bug 1817 - Haiku uses wrong default install prefix
Axel Dörfler

Currently, the default install target for Haiku is /boot/develop/tools/gnupro. However, this is not the expected install place. Instead, /boot/common should be used.
2013-05-21 00:49:31 -07:00
Sam Lantinga
8bd4a42a14 Fixed bug 1829 - sdl2-config is not executable
leighmanthegreat@hotmail.com

I downloaded SDL2 from hg source.
I built to a ./build directory.
I downloaded SDL_image 2 hg and attempted to build.
When it cannot find a sdl2-config the SDL_image configure correctly suggests setting SDL_CONFIG variable.
Setting this the configure still fails with 'Permission denied' on the call to sdl2-config.
Setting execute permission solves the problem.

If possible, sdl2-config should have executable bit set when it is created.
2013-05-16 01:03:28 -07:00
Edward Rudd
51bbf34abf default clock_gettime use to enabled as there is now proper fallback code for systems that don't have it. 2013-05-02 21:23:38 -04:00
Sam Lantinga
4cba942e1d Fixed bug 1744 - DirectFB video and renderer API is not updated
tomaszewski.p

Recent changes in SDL_sysrenderer.h and SDL_sysvideo.h had no impact on directfb backend.

Attached patch:
- updates interface,
- resolves uninitialized variable reading,
- changes logging tio use SDL_Log API,
- updates configure to use DIRECTFBCONFIG variable instead direct call to directfb-config.
2013-03-09 10:35:12 -08:00
Shawn Walker
fbe3360f9c Fix pulseaudio dynamic linking for Solaris builds.
Fix Solaris Studio compilation errors.
Fix sunaudio backend for SDL2.
2013-02-25 22:46:21 +00:00
Gabriel Jacobo
d121d75a76 Adds some required CFLAGS and LDFLAGS for the iOS platform 2013-03-04 10:33:48 -03:00
Sam Lantinga
96fd614309 Fixed compiling on older Linux systems without libudev 2013-02-24 12:55:51 -08:00
Sam Lantinga
84bc50080b Backed out use of @autorelease keyword for now, since it's not supported by older Xcode versions. 2013-02-11 17:40:09 -08:00
Sam Lantinga
357652279f Use clang on Mac OS X, which is required for the @autorelease keyword 2013-02-03 14:03:49 -08:00
Ryan C. Gordon
b71c7f092b Replaced Gnome screensaver hack with D-Bus messages to org.gnome.ScreenSaver. 2012-12-28 03:46:55 -05:00
Ryan C. Gordon
211e1cb7ec Updated Linux joystick code to support hotplug, GUIDs, etc.
This uses libudev for hotplug, but it's optional, so we'll just try to find
 some reasonable defaults without it (maybe an older Linux box or under
 FreeBSD's Linux emulation?).
2012-12-11 12:07:06 -05:00
Ryan C. Gordon
100263b221 Removed old Linux joystick API (/dev/js*).
The newer API (/dev/input/event/*) is 12+ years old at this point, and has
 been available since Linux 2.4.
2012-12-11 11:07:48 -05:00
Sam Lantinga
9c2cdf677b Work in progress on an SDL test library 2012-11-26 07:53:56 -08:00
Sam Lantinga
e7ea5f6646 Added an API to get the size of a file - WARNING! ABI CHANGE! 2012-11-03 18:43:36 -07:00
Sam Lantinga
9090fb9b4c Make it possible to build a DLL with mingw that's ABI compatible with Visual C++ built applications 2012-10-20 00:14:58 -07:00
Sam Lantinga
05b7b71074 Don't use the --no-undefined linker option yet, it doesn't build on OpenBSD and BeOS.
The OpenBSD case is puzzling - it's complaining about symbols in the C library.  Do we need to explicitly link with -lc for shared libraries on OpenBSD?

The BeOS case is legitimate, it's calling back into the application code to initialize BeApp if it isn't already initialized.
2012-10-12 02:33:34 -07:00
Sam Lantinga
5a6dc41726 Use the --no-undefined linker option if it's available, which will catch references to undefined functions which could fail at runtime. 2012-10-11 15:05:00 -07:00
Sam Lantinga
1bfaec254d Fixed false positive when checking for X11 on Mac OS X when the X11 development environment isn't installed. 2012-09-20 22:01:51 -07:00
Sam Lantinga
fd0dc5a95c Changed the comment so it actually talks about the right instruction set. 2012-09-20 21:17:49 -07:00
Sam Lantinga
46dd552a1b Fixed 3DNow! detection for clang llvm 2012-09-20 21:16:02 -07:00
Ryan C. Gordon
be849cc748 Fixed configure.in 2012-09-15 11:03:14 -04:00
Ryan C. Gordon
b3b40aac16 Removed Windows CE support from SDL 2.0.
It's a long-dead platform, and we don't have any way to build for, test, or
maintain it, so there's no sense in doing acrobatics to support it.

If you need Windows CE support, use SDL 1.2. If you need Windows Phone support,
send SDL 2.0 patches for the newer Windows Mobile platform.
2012-09-15 10:59:39 -04:00
Ryan C. Gordon
da74d223c7 Removed AC_GNU_SOURCE from SDL2's configure script. 2012-08-26 20:27:25 -04:00
Ryan C. Gordon
d6ce4be3b6 OpenBSD: Add missing X11 libraries to autoconf.
Fixes Bugzilla #1551.

Thanks to Brad Smith for the patch!
2012-08-01 21:41:54 -04:00
Sam Lantinga
00c170b156 Fixed bug 1547 - Fix test(1) utilization within the autoconf script
Brad Smith 2012-07-19 11:39:09 PDT

I noticed this error from the OpenBSD/amd64 buildbot log..

../configure[15018]: test: -O2: unexpected operator/operand

The attached patch fixes the issue.
2012-07-20 12:57:25 -07:00
Ryan C. Gordon
48f1278bbf Fixed pthread_np.h detection on OpenBSD. 2012-07-20 13:32:34 -04:00
Sam Lantinga
93e7644d3a Fixed bug 1543 - Fix dynamic loading of X libs on OpenBSD
Brad Smith 2012-07-18 13:43:34 PDT
autoconf patch to fix X dynamic loading of libraries on OpenBSD
2012-07-18 13:57:39 -07:00
Sam Lantinga
1f417073ca Updated the generic event check to try to compile instead of just look for library runtime function (fixes compiling on older Mac OS X SDKs) 2012-07-18 10:47:41 -07:00
Gabriel Jacobo
729fdcda8a Fixes #1524, improved xinput2 test 2012-06-21 14:01:47 -03:00
Sam Lantinga
ad08babefc Added command-line cross-compile support for iOS - Gabriel Jacobo will be adding iosbuild.sh and documentation for the process. 2012-06-19 12:29:53 -04:00
Gabriel Jacobo
e619df7521 Actually functional, hopefully!, Xext test 2012-06-03 17:34:18 -03:00
Sam Lantinga
b5c76adf75 Better test for Xext headers 2012-06-01 20:06:48 -04:00
Gabriel Jacobo
9b129179a4 Fix test for Xext headers (bug 1498), now it should fail properly in systems with the old headers. 2012-06-01 19:42:15 -03:00
Dimitris Zenios
e387df94fc 1.Fixed a memory leak inside XInput2 code
2.Replaced XKeycodeToKeysym with XkbKeycodeToKeysym since XKeycodeToKeysym is deprecated in newer X11 version
3.Rewrote testime.c since it was disabled after SDL_compat.c removal
4.Take into account common arguments also in testrelative.c
2012-05-31 19:23:30 +03:00
Dimitris Zenios
689dd07956 1.Moved all xinput2 functionality to its own file
2.Implement touch events using Xinput2.Leave evtouch as a fallback when xinput2 is not supported
2012-05-31 13:37:02 +03:00
Sam Lantinga
94597260b7 Fixed compile error with both new and old Xext headers (bug 1498) 2012-05-30 11:44:57 -04:00
Sam Lantinga
a74c7583bc Initial support for XInput2 by Dimitris Zenios
1.initial work on XInput2 support
2.Implemented relative mouse motion when XInput2 is enabled
3.Created a test app to test relative mouse motion
4.Fixed Bug #1498
2012-05-30 11:25:35 -04:00
Sam Lantinga
de72384754 Fixed bug 1429 - Compiling static library with -arch fails when linking showimage
We no longer need this ancient hack and it's causing problems when building shared libraries against SDL.
2012-02-28 21:58:36 -05:00
Sam Lantinga
c484f884c5 Updated to SDL 2.0, and SDL 2.0 can now be installed coexisting with SDL 1.2 2012-01-22 17:21:00 -05:00
Sam Lantinga
9853ab62c8 Switched back to configure generating SDL_config.h
It was very confusing to have configure generate an SDL_config.h and then not have it be used when building on Mac OS X or Windows.  I'll just have to remember to use SDL_config_windows.h when building official releases that are supposed to be ABI compatible with Visual Studio.
2012-01-19 01:55:51 -05:00
Sam Lantinga
243a72784f Check for sem_timedwait(), which isn't available on some systems (including OpenBSD 2012-01-15 03:34:14 -05:00
Sam Lantinga
d4c4a98f59 Make sure that we use consistent configuration options on platforms like Windows so that command line builds and IDE builds have ABI compatibility.
Make sure we don't clobber SDL_revision.h when building from Mercurial
2012-01-14 13:21:19 -05:00
Sam Lantinga
07f8710f47 Fixed bug 1242 - PATCH: Improve support for OpenGL ES under X11
Scott Percival 2011-07-03 06:41:51 PDT

This submission is aimed at making life easier for OpenGL ES capable devices
running a X11 stack (e.g. Maemo, Meego, TrimSlice, other ARM SoC boards not
running Android). SDL's Pandora support already has the neccesary GLES-to-X11
glue code, however it's all ghetto'd off in Makefile.pandora and not very
flexible.

The patch:
- adds an awesome --enable-video-opengles option to configure
- re-modifies the opengles and opengles2 SDL_renderers to use function pointers
- no idea why this was removed?
- for SDL_Renderers, links in libGLESv1_CM, libGLES_CM (for PowerVR fans) or
libGLESv2 at runtime
- links in libEGL.so at runtime - the old code made an assumption that
eglFunctions could be pulled from the active GLES library, PowerVR for one
doesn't let you do that with their libGLESv2
- allows you to pick which of GLES v1 or v2 to load via
SDL_GL_CONTEXT_MAJOR_VERSION

So far I've tested this on a Nokia N900 (OMAP 3430/SGX 530 running Maemo 5) and
a Toshiba AC100 (Tegra 2 running Ubuntu 10.10). I haven't tested it on... well,
everything that isn't those two, such as a Pandora, iOS or Android device. The
Pandora specific code should be kept intact (fingers crossed), and nothing
painfully drastic has been added to the SDL_renderers. The library loading
sequence in SDL_x11opengles has been updated to accomodate both NVIDIA's
propensity to let developers get away with murder and PowerVR's alternative of
punishing every missed step.

The test apps work okay with GLES or GLES2 as the renderer. For some reason
alpha blending doesn't seem to work on the Tegra 2; last week NVIDIA pushed out
a new set of X11 GLES drivers, so I'll try and investigate once I upgrade
those. Also, this patch adds things to configure.in, include/SDL_config.h.in
and test/configure.in. I didn't know what the policy was re. committing
generated spaghetti from autotools, so ./autogen.sh has to be run again. Sorry.

I think that's about everything, let me know if there's anything I've
overlooked.
2012-01-08 02:23:37 -05:00
Sam Lantinga
2da6fd7637 Fixes bug 1296 - SDL_SetVideoMode crashes because of unaligned MOVAPS instruction
t.grundner@goto3d.de 2011-09-01 03:59:17 PDT
I figured out what is going on. GCC 4.5.2 assumes the stack is 16 byte aligned
by default. Therefore there are no AND alignment corrections necessary if we
wish to align a stack variable to a 16 byte boundary. That is bad if your OS
ABI is not 16 byte aligned. Windows 32 bit stacks are 4 byte aligned. This
results in the above mentioned SIGSEGV. This is also no problem if I compile
both SDL.dll and my app with MingW because MinGW/GCC inserts a

        andl    $-16, %esp

instruction right in the beginning of the main function. So at least the stack
of the thread calling the main function is 16 byte aligned. But as soon as I
start to use the SDL.dll from an application not compiled by MinGW there is no
ANDL safing my app.

However there is a GCC option that can change the default stack alignment:

        -mpreferred-stack-boundary=num

Setting num=2 assumes a the stack is aligned to a 4 byte boundary. This results
in GCC inserting the necessary

        andl    $-16, %esp

into SDL_FillRect. Rebuilding SDL with

       ./configure "CFLAGS=-mpreferred-stack-boundary=2 -g -O3"

solved the problem.

IMHO this should also be a problem on Solaris.

The following links contain further information:

http://gcc.gnu.org/onlinedocs/gcc-4.5.2/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options

http://www.agner.org/optimize/calling_conventions.pdf
2011-12-29 05:36:39 -05:00
Sam Lantinga
359b89cc7e Fixed the aux directory to be the one recognized by automake.
This isn't strictly needed by SDL, but it's a good example for other projects.
2011-11-17 00:43:44 -05:00
Ryan C. Gordon
aff2ea6350 Don't warn about multichar characters on BeOS/Haiku.
The system headers use them generously.
(transplanted from 825e1072eac6c950ca4f6e879a91ea199a282b2c)
2011-10-13 16:35:25 -04:00
Ryan C. Gordon
88dab34ac1 Enable -Wall by default.
Fixes Bugzilla #1284.

(But probably upsets buildbot.  :)  )
2011-10-11 22:04:51 -04:00
Ryan C. Gordon
2ef51927fe 1.3 API CHANGE: Add support for naming threads. 2011-10-02 00:29:16 -04:00
Ryan C. Gordon
69138c84bf Moved pthread spinlock check in with the rest of the pthread tests. 2011-09-21 03:08:00 -04:00
Ryan C. Gordon
6de89cdd37 Fixed Win64 builds with MingW. 2011-09-11 03:35:46 -04:00
Ryan C. Gordon
82df1959c1 Removed legacy Mac OS X dlcompat code.
It was only needed for Mac OS X 10.0 through 10.2, so it seems silly to keep
 it around for SDL 1.3.

I'll leave it in the 1.2 branch for now, though.
2011-09-09 00:34:48 -04:00
Ryan C. Gordon
6634d3d1fe Merged Mac OS X and iOS audio targets. 2011-08-04 00:45:09 -04:00
Ryan C. Gordon
854a2e9098 Implemented XAudio2 target for Windows (and Xbox360, theoretically!). 2011-08-04 01:07:09 -04:00
Ryan C. Gordon
7de8cc401e Reworked Windows waveOut code.
Implemented multi-device support, changed name to "winmm".
2011-08-04 01:24:22 -04:00
Ryan C. Gordon
26705b7afc Reworked Windows DirectSound code.
Now supports multiple devices, and uses DirectSound 8 instead of 5. Changed
name to "directsound" and renamed source directory.
2011-08-04 01:26:12 -04:00
Ryan C. Gordon
8b3e5696da Removed /dev/dsp DMA audio target. 2011-07-24 03:37:13 -07:00
Ryan C. Gordon
75d8b324e2 Work on systems without sa_sigaction. 2011-07-20 16:35:37 -07:00
Nathan Heisey
65e5a15393 Implemented pthread spinlocks. 2011-06-22 10:33:48 +00:00
Ryan C. Gordon
302081795c Updated configure.in to be compatible with autoconf 2.67.
Still works with autoconf 2.61 (what ships with Xcode 3).

Thanks to Frank Zago for this patch.
2011-06-04 15:26:02 -04:00
Sam Lantinga
f0c424685b SDL 1.3 requires a 64-bit type for the platform. 2011-03-25 13:47:49 -07:00
Sam Lantinga
6d4951e49a If we leave the default SDL_config.h in place, it'll override the one generated by configure when building from a different directory. Argh... 2011-03-12 13:28:56 -08:00
Sam Lantinga
5ebfb62e3e We don't want to remove SDL_config.h since it's in source control now. 2011-03-11 14:24:35 -08:00
Sam Lantinga
d58ee21159 Added support for the Xcursor library for color cursors 2011-03-11 13:56:53 -08:00
Sam Lantinga
89d7238dbf Fixed the libraries linked with Visual Studio 2010, the msimg library isn't needed anymore. 2011-03-07 22:03:11 -08:00
Sam Lantinga
d32d1ee244 OSF isn't supported anymore. 2011-02-28 09:09:13 -08:00
Sam Lantinga
9f410819dc IRIX is not supported anymore. :) 2011-02-28 09:06:29 -08:00
Sam Lantinga
f7600494ed Dynamically load the Xinerama and xf86vmode extensions
This fixes a few bugs with different distributions:
http://bugs.freedesktop.org/show_bug.cgi?id=17431
http://bugs.gentoo.org/show_bug.cgi?id=246177
2011-02-28 09:01:53 -08:00
Sam Lantinga
7fa84f6a78 Re-added the 3DNow! and AltiVec instruction support. 2011-02-22 21:44:36 -08:00
Sam Lantinga
6ec7646870 Added a better way to include build rules in the Makefile
Cleaned up dependencies on generating SDL_revision.h
Fixed 'make install' if you are not building from a Mercurial repository
2011-02-18 11:19:34 -08:00
Sam Lantinga
305a0b92b2 Fixed bug #1064 (configure still has --enable-stdio-redirect option) 2011-02-16 03:59:39 -08:00
Sam Lantinga
2af371cc2e Updated CPU detection code for SSE3 and SSE4 and removed obsolete 3DNow! and Altivec support. 2011-02-11 14:51:04 -08:00
Sam Lantinga
5069986bff Made it possible to disable the rendering subsystem with configure --disable-render 2011-02-08 10:04:09 -08:00
Sam Lantinga
7d207a3141 It's now possible to disable the fast atomic operations, at a huge performance penalty. 2011-02-07 22:57:33 -08:00
Sam Lantinga
b31aaaaad7 Updated the DirectFB support, from Couriersud
attached is a working directfb driver diff which works with the current
changes. There are a number of changes around it as well, e.g.
configure.in.

The directfb renderdriver right now still depends on a some "includes"
from src/video/directfb. That's why it is not yet moved to the new
render folder.
2011-02-05 16:07:10 -08:00
Sam Lantinga
e37fdde92a Removed a bunch of X11 support that we no longer need. 2011-02-04 19:18:08 -08:00
Sam Lantinga
8bf50cc83c Moved the rendering code out to a separate directory in the hope that it can someday be completely decoupled from the rest of the library and be expanded to an awesome 2D on 3D library. 2011-02-02 14:34:54 -08:00
Sam Lantinga
482e5c0697 Nobody is currently maintaining the QNX code, so removing it for now. 2011-02-01 21:40:03 -08:00
Sam Lantinga
f9ebc0527f Removed more partially functional renderers 2011-01-31 22:53:45 -08:00
Sam Lantinga
096a6b8d79 Removed partially functional renderers 2011-01-31 22:21:29 -08:00
Sam Lantinga
8a17c42647 This patch fixes the issue of configure generating broken Makefile
when .cc files are used due to bad sed substitution on multiple passes:
$(objects)/SDL_BeApp.lo:
$(objects)/SDL_BeApp.lo: ./src/main/beos/SDL_BeApp.c
$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS)  -c $< -o $@c
$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS)  -c $< -o $@

Signed-off-by: François Revol
2011-01-27 14:54:20 -08:00
Sam Lantinga
9195b9f922 Nobody is maintaining RISC OS code, so I'm removing it for now. 2011-01-27 00:06:36 -08:00
Sam Lantinga
3dc1009723 Improvements based on feedback from Anthony Williams 2011-01-25 17:40:06 -08:00
Sam Lantinga
37df0221d4 Fixed cross-compiling for Windows 2011-01-24 21:41:36 -08:00
Sam Lantinga
cabda4aa7c HAVE_GCC_ATOMICS covers the test and set 2011-01-21 21:45:55 -08:00
Sam Lantinga
69dab46757 Separated out the minimum functionality that we need from gcc for our spinlock fallback. 2011-01-21 21:42:04 -08:00
Sam Lantinga
483ab95fda Fixed atomic intrinsic test 2011-01-21 21:35:43 -08:00
Sam Lantinga
8fda035e06 Fixed bug #945
The configure script was breaking the substitutions into multiple fragments, breaking them across the substitution for the build rules.  This of course totally hosed the process.

I switched to using a more modern usage of AC_OUTPUT and added a post-process step that appends the build rules to the Makefile.
2011-01-21 12:43:25 -08:00
Sam Lantinga
08ad787807 Fixed bug #925
Changed "win32" to "windows"
2011-01-20 18:04:05 -08:00
Sam Lantinga
3684c60e0c SDL doesn't depend on GLU, and overwhelming feedback from the mailing list is that people don't want it included in SDL_opengl.h 2011-01-19 22:55:51 -08:00
Sam Lantinga
ed1f29af7d PS3 Linux is no more... 2011-01-19 22:25:40 -08:00
Sam Lantinga
05e196a519 Nobody has stepped up to maintain an svgalib driver. Bye bye! :) 2011-01-19 22:21:31 -08:00
Sam Lantinga
8fb4ff28fb Nobody has stepped up to maintain a framebuffer console driver. Bye bye! :) 2011-01-19 22:18:45 -08:00
Sam Lantinga
4c63689825 Fixed using the native iconv library 2011-01-19 15:28:01 -08:00
Sam Lantinga
fbef2736d9 Fixed test for libiconv 2011-01-19 15:02:11 -08:00
Sam Lantinga
ece7221d0a Greg Jandl to SDL
I *think* the patch below works correctly: sdl-config gets the -march
flag and SDL builds fine. Perhaps there's a better way to get the
-march flag into both CFLAGS and SDL_FLAGS w/o dragging along more
cruft, but adding it to BASE_CFLAGS seemed the best bet to my eyes.
2011-01-19 00:07:43 -08:00
Sam Lantinga
c98373bffe Greg Jandl to SDL
I did some digging, and I think I've found a better solution. By
including some additional .m4 macros in the acinclude directory
(http://www.gnu.org/software/autoconf-archive/ax_check_compiler_flags.html,
http://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html and
http://www.gnu.org/software/autoconf-archive/ax_gcc_x86_cpuid.html)
then using the patch below (same as previous patch + one line change
to configure.in), SDL will build correctly out of the box.

The arch can then be overridden by --with-gcc-arch=<arch> (most will
probably want to build with i686 there for general distribution) or
--without-gcc-arch, to disable setting the arch all together.

On my Atom netbook, I get -march=PentiumPro by default, which works
great, as does --with-gcc-arch=i686.
2011-01-18 22:40:45 -08:00
Sam Lantinga
89d48a0f83 Added native atomic operations for Windows, Mac OS X, and gcc compiler intrinsics.
Changed the CAS return value to bool, so it's efficient with OSAtomicCompareAndSwap32Barrier()
Added an atomic test adapted from code by Michael Davidsaver
2011-01-16 15:16:39 -08:00
Sam Lantinga
38e31e4598 Updated the atomic API for better use cases 2011-01-15 12:41:59 -08:00
Sam Lantinga
20e521a87a I am using SDL 1.3 on FreeBSD. I found two problems.
(1) SDL_atomic dummy version in SDL 1.3 is not used.
Because src/atomic/dummy/*.c are not used.

(2) Typo in src/joystick/bsd/SDL_sysjoystick.c.

Thanks,
IWATSUKI Hiroyuki
2011-01-01 19:50:50 -08:00
Sam Lantinga
b9a2b25073 Fixed compiling with mingw32/64 2010-09-19 16:46:56 -07:00
Sam Lantinga
7a7d43524f Added atan implementation from uClibc 2010-08-29 16:51:48 -07:00
Sam Lantinga
317cd0515f Added atan2 implementation from uClibc 2010-08-29 16:05:34 -07:00
Sam Lantinga
b7c5d88e6a Merged Eli's Google Summer of Code work from SDL-gsoc2010-shaped_windows 2010-08-22 13:45:56 -07:00
Sam Lantinga
7f6ad8e572 Merged Jim's Google Summer of Code work from SDL-gsoc2010_gesture 2010-08-22 12:07:55 -07:00
Jim Grandpre
f54f9af209 Fixed some Gesture bugs 2010-08-02 00:14:53 -04:00
Sam Lantinga
4b3a7e0386 For consistency, swapped line order 2010-07-28 22:24:13 -07:00
Sam Lantinga
f22109ed40 Added dynamic loading of XFixes and XDamage on Mac OS X 2010-07-28 22:22:08 -07:00
Sam Lantinga
617542daf6 Merged Sunny's XRender changes from SDL-gsoc2010_xrender 2010-07-28 00:54:23 -07:00
Sam Lantinga
6e04d3f626 Andrey A.
I made a video driver GAPI/RAW for WinCE (SDL-1.3).
RAW mode has a priority, and also, GAPI mode works with environment
"SDL_VIDEO_RENDERER=gapi" and for RAW mode "SDL_VIDEO_RENDERER=raw".

I checked the work on the screens of VGA, WVGA, QVGA, WQVGA, HVGA,
 + tested all modes with WindowsMobile Emulator.

Also, correctly draws the pointer position and the scale of the pointer
for VGA/WVGA modes,
correctly draws top left position for DM orientation screen, and
portrait/landscape/square geometry the screen also correct.

Also, I added a small fix for GDI fullscreen mode.

Patch for latest revision SDL-1.3 in an attachment.
Also added small path for mingw32ce build.
2010-07-27 21:31:28 -07:00
jimtla
01ca66c30f Fixed x11 compile bugs. 2010-07-22 08:12:28 +04:00
Sunny Sachanandani
51b997ebad Integrate XFixes and XDamage into the build system. 2010-07-19 20:05:53 +05:30
Ryan C. Gordon
bf17cebd40 Add XShape test to configure scripts. 2010-07-13 02:43:10 -04:00
Sam Lantinga
283fbbba2b Make sure SDL gets installed to the correct prefix for the new cross-compiler tools. 2010-07-05 12:41:28 -07:00
Sunny Sachanandani
bc6683eed7 Modified configure.in to allow building with Xrender. Fixed all problems that prevented compilation.
Builds fine now :)
2010-05-31 13:27:27 +05:30
Sam Lantinga
fb9e73dd09 Fixed Eric's changes to allow building from the command line. 2010-05-09 10:00:33 -07:00
Sam Lantinga
9e68bf34b2 Fixed bug #968
Andrey      2010-03-07 07:57:14 PST

mingw32ce-build small fix
2010-03-10 15:07:20 +00:00
Sam Lantinga
f99c196500 Fixed bug #943
Ozkan Sezer      2010-02-06 12:31:06 PST

Hi:

Here are some small fixes for compiling SDL against mingw-w64.
(see http://mingw-w64.sourceforge.net/ .  Despite the name, it
supports both win32 and win64.)

src/audio/windx5/directx.h and src/video/windx5/directx.h (both
SDL-1.2 and SDL-1.3.)  I get compilation errors about some union
not having a member named u1 and alike, because of other system
headers being included before this one and them already defining
DUMMYUNIONNAME and stuff. This header probably assumes that those
stuff are defined in windef.h, but mingw-w64 headers define them
in _mingw.h. Easily fixed by moving NONAMELESSUNION definition to
the top of the file.

src/thread/win32/SDL_systhread.c (both SDL-1.2 and SDL-1.3.) :
The __GNUC__ case for pfnSDL_CurrentBeginThread is 32-bit centric
because _beginthreadex returns uintptr_t, not unsigned long which
is 32 bits in win64. Changing the return type to uintptr_t fixes
it.

video/SDL_blit.h (and configure.in) (SDL-1.3-only) :  MinGW-w64
uses msvcrt version of _aligned_malloc and _aligned_free and
they are defined in intrin.h (similar to VC).  Adding proper
ifdefs fixes it. (Notes about macros to check: __MINGW32__ is
defined for both mingw.org and for mingw-w64 for both win32 and
win64, __MINGW64__ is only defined for _WIN64, so __MINGW64__
can't be used to detect mingw-w64: including _mingw.h and then
checking for __MINGW64_VERSION_MAJOR does the trick.)

SDL_win32video.h (SDL-1.3-only) :  Tweaked the VINWER definition
and location in order to avoid multiple redefinition warnings.

Hope these are useful. Thanks.
2010-03-10 15:02:58 +00:00
Sam Lantinga
102fd54847 Fixed bug #935
Patrice Mandin

Hello,

I originally added pth support for threads in SDL 1.2 because on the Atari
platform we did not have any thread library.

I think pth support could be removed from SDL 1.3 for two reasons:

- Atari platform removed

- pth does not provides real (preemptive) threads, because it is user space,
and expect the application to call one of its function to give CPU to another
thread. So it is not exactly useful for applications, that expect threads to
run simultaneously.
2010-01-24 20:47:20 +00:00
Sam Lantinga
526ce97953 Removed obsolete checks for ipod Linux 2010-01-18 14:58:58 +00:00
Sam Lantinga
e2618f14d2 Fixed bug #930
The PS2 video driver is obsolete and not going to be updated unless someone wants to maintain it.
2010-01-18 14:27:30 +00:00
Sam Lantinga
8b4a9fce45 Allow configure to override assertion settings, but by default this comes from the build optimization level. 2010-01-13 08:06:32 +00:00
Sam Lantinga
a112207d03 The config sets the default assertion level so people can override it for their own use in application code. 2010-01-13 07:25:28 +00:00
Sam Lantinga
5f76c6b2d5 First pass at Ryan's assertion code, minor tweaks to come. 2010-01-13 06:47:17 +00:00
Couriersud
1beb30856a Fix detection of directfb.h
- AC_CHECK_HEADER wants CPPFLAGS
2010-01-11 21:46:59 +00:00
Ryan C. Gordon
609eb81e23 Reverted r5460 ... this was merged from 1.2, but was later reverted there. 2010-01-10 05:06:03 +00:00
Ryan C. Gordon
b7bf9f415e Merged r4784:4785 from branches/SDL-1.2: Mac OS X linker command line fixes. 2010-01-10 04:42:45 +00:00
Sam Lantinga
f8378c78bc Made the comment more readable 2010-01-07 04:39:44 +00:00
Ryan C. Gordon
0833108f35 Removed comment referring to previously-removed CD-ROM subsystem. 2010-01-06 21:04:11 +00:00
Sam Lantinga
4e5f91ec7c Removed the obsolete SDL 1.2 GAPI driver 2010-01-06 07:39:09 +00:00
Sam Lantinga
dca29a1b79 Fixed bug #915
GNU-isms should be avoided wherever possible for portability, please avoid the use of GNU-isms in your code, this may be problematic when using this library in projects which use non-GNU-compliant compilers.
2009-12-30 19:38:08 +00:00
Sam Lantinga
4a157f0629 Added support for querying the number of CPUs available on Linux. This also happens to work on Mac OS X. 2009-12-17 03:04:04 +00:00
Ryan C. Gordon
f644ae86a9 Implemented SDL_setenv(), moved SDL_putenv() to compat.
Fixes Bugzilla #779.
2009-12-16 10:59:51 +00:00
Sam Lantinga
dc1ed9e7ef Added SDL_GetCPUCount() to see how many cores are available. 2009-12-16 06:53:53 +00:00
Sam Lantinga
3ab0a5fe79 Fixed bug #878
Jack Jansen      2009-11-05 14:20:22 PST

I'm building "fat" SDL 1.3 libraries for MacOSX, but now I am running into the
issue that audio does not work on PowerPC macintoshes if you build the library
on an Intel.

The problem is that configure hard-codes the byteorder, which is then stored in
SDL_config.h
2009-11-09 04:13:51 +00:00