Commit Graph

501 Commits

Author SHA1 Message Date
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