aboutsummaryrefslogtreecommitdiffstats
path: root/distrib
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@android.com>2010-05-18 17:02:33 -0700
committerDavid 'Digit' Turner <digit@android.com>2010-05-18 17:02:33 -0700
commit34d165185730eac6ddc4e7a23d192d22aa3d4dfb (patch)
tree8f65fdba4ae95ef1f4e96e5492943d581637cbce /distrib
parent54808b6e68ab5be7d2a10b772f1ae4f569d542a1 (diff)
downloadexternal_qemu-34d165185730eac6ddc4e7a23d192d22aa3d4dfb.zip
external_qemu-34d165185730eac6ddc4e7a23d192d22aa3d4dfb.tar.gz
external_qemu-34d165185730eac6ddc4e7a23d192d22aa3d4dfb.tar.bz2
Build SDL from sources directly.
This removes the requirement to build the SDL library before the rest of the emulator. The prebuilt SDL library and installation is now optional and is only kept for the full Android build on Linux (mainly to avoid having to install many dev libraries on build servers). This patch affects both the Android and standalone build systems. The script android-configure.sh will not use a prebuilt SDL installation unless you explicitely use --sdl-config=<script>. Tested for linux-x86 / darwin-x86 / cygwin / linux-mingw builds. Change-Id: If973b2ad199f06aeeff43aec387d1ac629487529
Diffstat (limited to 'distrib')
-rwxr-xr-xdistrib/build-emulator.sh7
-rwxr-xr-xdistrib/make-distrib.sh5
-rw-r--r--distrib/sdl-1.2.12/Makefile.android216
-rwxr-xr-xdistrib/sdl-1.2.12/android-configure.sh8
-rw-r--r--distrib/sdl-1.2.12/android/build/darwin-x86/SDL_config.h123
-rw-r--r--distrib/sdl-1.2.12/android/build/freebsd-x86/SDL_config.h126
-rw-r--r--distrib/sdl-1.2.12/android/build/linux-x86/SDL_config.h125
-rw-r--r--distrib/sdl-1.2.12/android/build/windows/SDL_config.h122
-rw-r--r--distrib/sdl-1.2.12/sources.make244
9 files changed, 254 insertions, 722 deletions
diff --git a/distrib/build-emulator.sh b/distrib/build-emulator.sh
index dad3dd1..e8d1749 100755
--- a/distrib/build-emulator.sh
+++ b/distrib/build-emulator.sh
@@ -26,13 +26,8 @@ fi
# directory where we'll place the temporary SDL binaries
LOCAL=$CURDIR/local
-cd $CURDIR/sdl
-if ! (ANDROID_QEMU_PATH=$CURDIR/qemu ./android-configure.sh --prefix=$LOCAL && make && make install); then
- echo "ERROR: could not build SDL library, please check their sources"
-fi
-
cd $CURDIR/qemu
-if ! (./android-rebuild.sh --sdl-config=$LOCAL/bin/sdl-config); then
+if ! (./android-rebuild.sh); then
echo "ERROR: could not build the emulator, please check the sources"
fi
diff --git a/distrib/make-distrib.sh b/distrib/make-distrib.sh
index 2580837..e05117f 100755
--- a/distrib/make-distrib.sh
+++ b/distrib/make-distrib.sh
@@ -29,11 +29,6 @@ if [ $? != 0 ] ; then
echo "Could not clone sources"
fi
-# move the SDL sources
-SDLDIR=$TMPDIR/sdl
-echo "Moving SDL sources to $SDLDIR"
-mv $TMPDIR/qemu/distrib/sdl-1.2.12 $SDLDIR
-
echo "copying control scripts"
mv $QEMUDIR/distrib/build-emulator.sh $TMPDIR/build-emulator.sh
mv $QEMUDIR/distrib/README $TMPDIR/README
diff --git a/distrib/sdl-1.2.12/Makefile.android b/distrib/sdl-1.2.12/Makefile.android
index ab743e2..4e89fc7 100644
--- a/distrib/sdl-1.2.12/Makefile.android
+++ b/distrib/sdl-1.2.12/Makefile.android
@@ -1,5 +1,8 @@
LOCAL_PATH:= $(call my-dir)
+SDL_DIR := $(LOCAL_PATH)
+include $(SDL_DIR)/sources.make
+
CONFIG_DIRS := \
$(LOCAL_PATH)/objs \
$(LOCAL_PATH)/include \
@@ -21,202 +24,7 @@ LOCAL_LDFLAGS := $(MY_LDFLAGS) $(LOCAL_LDFLAGS)
LOCAL_MODULE := libSDL
-LOCAL_SRC_FILES :=
-
-# the main src/ sources
-#
-SRCS := SDL.c \
- SDL_error.c \
- SDL_fatal.c \
-
-SRCS += events/SDL_active.c \
- events/SDL_events.c \
- events/SDL_expose.c \
- events/SDL_keyboard.c \
- events/SDL_mouse.c \
- events/SDL_quit.c \
- events/SDL_resize.c \
-
-SRCS += file/SDL_rwops.c
-
-ifeq ($(CONFIG_LIBC),yes)
- SRCS += stdlib/SDL_getenv.c \
- stdlib/SDL_iconv.c \
- stdlib/SDL_malloc.c \
- stdlib/SDL_qsort.c \
- stdlib/SDL_stdlib.c \
- stdlib/SDL_string.c
-endif
-
-ifeq ($(CONFIG_CPUINFO),yes)
- SRCS += cpuinfo/SDL_cpuinfo.c
-endif
-
-LOCAL_SRC_FILES += $(SRCS:%=src/%)
-
-# the Audio sources
-#
-SRCS := SDL_audio.c \
- SDL_audiocvt.c \
- SDL_audiodev.c \
- SDL_mixer.c \
- SDL_mixer_MMX.c \
- dummy/SDL_dummyaudio.c \
-
-ifeq ($(CONFIG_AUDIO_ALSA),yes)
- SRCS += alsa/SDL_alsa_audio.c
-endif
-
-ifeq ($(CONFIG_AUDIO_ESD),yes)
- SRCS += esd/SDL_esdaudio.c
-endif
-
-ifeq ($(CONFIG_AUDIO_OSS),yes)
- SRCS += dsp/SDL_dspaudio.c \
- dma/SDL_dmaaudio.c
-endif
-
-ifeq ($(CONFIG_AUDIO_COREAUDIO),yes)
- SRCS += macosx/SDL_coreaudio.c
-endif
-
-ifeq ($(CONFIG_AUDIO_WAVEOUT),yes)
- SRCS += windib/SDL_dibaudio.c
-endif
-
-LOCAL_SRC_FILES += $(SRCS:%=src/audio/%)
-
-# the LoadSO sources
-#
-
-SRCS :=
-
-ifeq ($(CONFIG_LOADSO_DLOPEN),yes)
- SRCS += dlopen/SDL_sysloadso.c
-endif
-
-ifeq ($(CONFIG_LOADSO_DLCOMPAT),yes)
- SRCS += macosx/SDL_dlcompat.c
-endif
-
-ifeq ($(CONFIG_LOADSO_WIN32),yes)
- SRCS += win32/SDL_sysloadso.c
-endif
-
-LOCAL_SRC_FILES += $(SRCS:%=src/loadso/%)
-
-# the Thread sources
-#
-
-SRCS := SDL_thread.c
-
-ifeq ($(CONFIG_THREAD_PTHREAD),yes)
- SRCS += pthread/SDL_syscond.c \
- pthread/SDL_sysmutex.c \
- pthread/SDL_syssem.c \
- pthread/SDL_systhread.c
-endif
-
-ifeq ($(CONFIG_THREAD_WIN32),yes)
- SRCS += win32/SDL_sysmutex.c \
- win32/SDL_syssem.c \
- win32/SDL_systhread.c
-endif
-
-LOCAL_SRC_FILES += $(SRCS:%=src/thread/%)
-
-# the Timer sources
-#
-
-SRCS := SDL_timer.c
-
-ifeq ($(CONFIG_TIMER_UNIX),yes)
- SRCS += unix/SDL_systimer.c
-endif
-
-ifeq ($(CONFIG_TIMER_WIN32),yes)
- SRCS += win32/SDL_systimer.c
-endif
-
-LOCAL_SRC_FILES += $(SRCS:%=src/timer/%)
-
-# the Video sources
-#
-
-SRCS := SDL_RLEaccel.c \
- SDL_blit.c \
- SDL_blit_0.c \
- SDL_blit_1.c \
- SDL_blit_A.c \
- SDL_blit_N.c \
- SDL_bmp.c \
- SDL_cursor.c \
- SDL_gamma.c \
- SDL_pixels.c \
- SDL_stretch.c \
- SDL_surface.c \
- SDL_video.c \
- SDL_yuv.c \
- SDL_yuv_mmx.c \
- SDL_yuv_sw.c \
-
-SRCS += dummy/SDL_nullevents.c \
- dummy/SDL_nullmouse.c \
- dummy/SDL_nullvideo.c
-
-ifeq ($(CONFIG_VIDEO_WINDIB),yes)
- SRCS += windib/SDL_dibevents.c \
- windib/SDL_dibvideo.c \
- wincommon/SDL_sysevents.c \
- wincommon/SDL_sysmouse.c \
- wincommon/SDL_syswm.c \
- wincommon/SDL_wingl.c
-endif
-
-ifeq ($(CONFIG_VIDEO_QUARTZ),yes)
- SRCS += quartz/SDL_QuartzGL.m \
- quartz/SDL_QuartzVideo.m \
- quartz/SDL_QuartzWM.m \
- quartz/SDL_QuartzWindow.m \
- quartz/SDL_QuartzYUV.m \
- quartz/SDL_QuartzEvents.m \
- maccommon/SDL_macevents.c \
- maccommon/SDL_macgl.c \
- maccommon/SDL_macmouse.c \
- maccommon/SDL_macwm.c
-endif
-
-ifeq ($(CONFIG_VIDEO_X11),yes)
- SRCS += x11/SDL_x11dyn.c \
- x11/SDL_x11dga.c \
- x11/SDL_x11events.c \
- x11/SDL_x11gamma.c \
- x11/SDL_x11gl.c \
- x11/SDL_x11image.c \
- x11/SDL_x11modes.c \
- x11/SDL_x11mouse.c \
- x11/SDL_x11video.c \
- x11/SDL_x11wm.c \
- x11/SDL_x11yuv.c
-endif
-
-ifeq ($(CONFIG_VIDEO_X11_DGAMOUSE),yes)
- SRCS += x11/SDL_x11dga.c
-endif
-
-ifeq ($(CONFIG_VIDEO_X11_XME),yes)
- SRCS += Xext/XME/xme.c
-endif
-
-ifeq ($(CONFIG_VIDEO_X11_XINERAMA),yes)
- SRCS += Xext/Xinerama/Xinerama.c
-endif
-
-ifeq ($(CONFIG_VIDEO_X11_XV),yes)
- SRCS += Xext/Xv/Xv.c
-endif
-
-LOCAL_SRC_FILES += $(SRCS:%=src/video/%)
+LOCAL_SRC_FILES := $(SDL_SOURCES)
include $(BUILD_HOST_STATIC_LIBRARY)
@@ -232,21 +40,7 @@ LOCAL_LDFLAGS := $(MY_LDFLAGS) $(LOCAL_LDFLAGS)
LOCAL_MODULE := libSDLmain
-SRCS :=
-
-ifeq ($(CONFIG_MAIN_DUMMY),yes)
- SRCS += dummy/SDL_dummy_main.c
-endif
-
-ifeq ($(CONFIG_MAIN_MACOSX),yes)
- SRCS += macosx/SDLMain.m
-endif
-
-ifeq ($(HOST_OS),windows)
- SRCS += win32/SDL_win32_main.c
-endif
-
-LOCAL_SRC_FILES := $(SRCS:%=src/main/%)
+LOCAL_SRC_FILES := $(SDLMAIN_SOURCES)
include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/distrib/sdl-1.2.12/android-configure.sh b/distrib/sdl-1.2.12/android-configure.sh
index a61ad78..133daf4 100755
--- a/distrib/sdl-1.2.12/android-configure.sh
+++ b/distrib/sdl-1.2.12/android-configure.sh
@@ -157,7 +157,7 @@ case "$HOST_OS" in
;;
darwin)
SDL_CFLAGS="-D_GNU_SOURCE=1 -D_THREAD_SAFE"
- SDL_STATIC_LIBS="-Wl,-framework,OpenGL -Wl,-framework,Cocoa -Wl,-framework,QuickTime -Wl,-framework,ApplicationServices -Wl,-framework,Carbon -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit -Wl,-framework,IOKit"
+ SDL_STATIC_LIBS="-Wl,-framework,OpenGL -Wl,-framework,Cocoa -Wl,-framework,QuickTime -Wl,-framework,ApplicationServices -Wl,-framework,Carbon -Wl,-framework,IOKit"
;;
windows)
SDL_CFLAGS="-D_GNU_SOURCE=1 -Dmain=SDL_main"
@@ -439,7 +439,7 @@ make_add_driver_macros ()
driver_list="`var_value ${1}_default`"
fi
for driver_name in $driver_list; do
- make_add "$2_${driver_name} := yes"
+ make_add "SDL_$2_${driver_name} := yes"
done
}
@@ -454,8 +454,8 @@ generate_sdl_config_mk ()
make_add "SRC_PATH=$PWD"
make_add "BUILD_SYSTEM=$ANDROID_QEMU_PATH/android/build"
- make_add "CONFIG_LIBC := $CONFIG_LIBC"
- make_add "CONFIG_CPUINFO := yes"
+ make_add "SDL_CONFIG_LIBC := $CONFIG_LIBC"
+ make_add "SDL_CONFIG_CPUINFO := yes"
make_add_driver_macros DRIVERS_LOADSO CONFIG_LOADSO
make_add_driver_macros DRIVERS_THREAD CONFIG_THREAD
diff --git a/distrib/sdl-1.2.12/android/build/darwin-x86/SDL_config.h b/distrib/sdl-1.2.12/android/build/darwin-x86/SDL_config.h
deleted file mode 100644
index f2d3b68..0000000
--- a/distrib/sdl-1.2.12/android/build/darwin-x86/SDL_config.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/* This file was autogenerated by 'android-configure.sh' - do not edit */
-#ifndef _SDL_config_h
-#define _SDL_config_h
-
-#include "SDL_platform.h"
-
-#define SDL_HAS_64BIT_TYPE 1
-#define SDL_BYTEORDER 1234
-
-#define HAVE_LIBC 1
-#if HAVE_LIBC
-
-/* Useful headers */
-#define HAVE_ALLOCA_H 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_STDIO_H 1
-#define STDC_HEADERS 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STDARG_H 1
-/* #undef HAVE_MALLOC_H */
-#define HAVE_MEMORY_H 1
-#define HAVE_STRING_H 1
-#define HAVE_STRINGS_H 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_CTYPE_H 1
-#define HAVE_MATH_H 1
-#define HAVE_ICONV_H 1
-#define HAVE_SIGNAL_H 1
-/* #undef HAVE_ALTIVEC_H */
-/* C library functions */
-#define HAVE_MALLOC 1
-#define HAVE_CALLOC 1
-#define HAVE_REALLOC 1
-#define HAVE_FREE 1
-/* #undef HAVE_ALLOC */
-#ifndef _WIN32 /* Don't use on Windows */
-#define HAVE_GETENV 1
-#define HAVE_PUTENV 1
-#define HAVE_UNSETENV 1
-#endif
-#define HAVE_QSORT 1
-#define HAVE_ABS 1
-#define HAVE_BCOPY 1
-#define HAVE_MEMSET 1
-#define HAVE_MEMCPY 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MEMCMP 1
-#define HAVE_STRLEN 1
-#define HAVE_STRLCPY 1
-#define HAVE_STRLCAT 1
-#define HAVE_STRDUP 1
-/* #undef HAVE__STRREV */
-/* #undef HAVE__STRUPR */
-/* #undef HAVE__STRLWR */
-#define HAVE_INDEX 1
-#define HAVE_RINDEX 1
-#define HAVE_STRCHR 1
-#define HAVE_STRRCHR 1
-/* #undef HAVE_ITOA */
-/* #undef HAVE__LTOA */
-/* #undef HAVE__UITOA */
-/* #undef HAVE__ULTOA */
-#define HAVE_STRTOL 1
-#define HAVE_STRTOUL 1
-/* #undef HAVE__I64TOA */
-/* #undef HAVE__UI64TOA */
-#define HAVE_STRTOLL 1
-#define HAVE_STRTOULL 1
-#define HAVE_STRTOD 1
-#define HAVE_ATOI 1
-#define HAVE_ATOF 1
-#define HAVE_STRCMP 1
-#define HAVE_STRNCMP 1
-/* #undef HAVE__STRICMP */
-#define HAVE_STRCASECMP 1
-/* #undef HAVE__STRNICMP */
-#define HAVE_VSNPRINTF 1
-/* #undef HAVE_ICONV */
-#define HAVE_SIGACTION 1
-#define HAVE_SETJMP 1
-#define HAVE_NANOSLEEP 1
-/* #undef HAVE_CLOCK_GETTIME */
-/* #undef HAVE_DLVSYM */
-#define HAVE_GETPAGESIZE 1
-#else
-/* We may need some replacement for stdarg.h here */
-#include <stdarg.h>
-#endif /* HAVE_LIBC */
-
-/* Allow disabling of core subsystems */
-#define SDL_AUDIO_DISABLED 1
-#define SDL_CDROM_DISABLED 1
-/* #undef SDL_CPUINFO_DISABLED */
-/* #undef SDL_EVENTS_DISABLED */
-#define SDL_FILE_DISABLED 1
-#define SDL_JOYSTICK_DISABLED 1
-/* #undef SDL_LOADSO_DISABLED */
-/* #undef SDL_THREADS_DISABLED */
-/* #undef SDL_TIMERS_DISABLED */
-/* #undef SDL_VIDEO_DISABLED */
-
-/* Enable various audio drivers */
-#define SDL_AUDIO_DRIVER_COREAUDIO 1
-
-/* Enable various shared object loading systems */
-#define SDL_LOADSO_DLCOMPAT 1
-
-/* Enable various threading systems */
-#define SDL_THREAD_PTHREAD 1
-#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
-
-/* Enable various timer systems */
-#define SDL_TIMER_UNIX 1
-
-/* Enable various video drivers */
-#define SDL_VIDEO_DRIVER_QUARTZ 1
-#define SDL_MAIN_MACOSX 1
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC "libX11.so.6"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "libXext.so.6"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "libXrandr.so.2"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER "libXrender.so.1"
-#endif /* _SDL_config_h */
diff --git a/distrib/sdl-1.2.12/android/build/freebsd-x86/SDL_config.h b/distrib/sdl-1.2.12/android/build/freebsd-x86/SDL_config.h
deleted file mode 100644
index 1186322..0000000
--- a/distrib/sdl-1.2.12/android/build/freebsd-x86/SDL_config.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* This file was autogenerated by 'android-configure.sh' - do not edit */
-#ifndef _SDL_config_h
-#define _SDL_config_h
-
-#include "SDL_platform.h"
-
-#define SDL_HAS_64BIT_TYPE 1
-#define SDL_BYTEORDER 1234
-
-#define HAVE_LIBC 1
-#if HAVE_LIBC
-
-/* Useful headers */
-/* #undef HAVE_ALLOCA_H */
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_STDIO_H 1
-#define STDC_HEADERS 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STDARG_H 1
-/* #undef HAVE_MALLOC_H */
-#define HAVE_MEMORY_H 1
-#define HAVE_STRING_H 1
-#define HAVE_STRINGS_H 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_CTYPE_H 1
-#define HAVE_MATH_H 1
-/* #undef HAVE_ICONV_H */
-#define HAVE_SIGNAL_H 1
-/* #undef HAVE_ALTIVEC_H */
-/* C library functions */
-#define HAVE_MALLOC 1
-#define HAVE_CALLOC 1
-#define HAVE_REALLOC 1
-#define HAVE_FREE 1
-/* #undef HAVE_ALLOC */
-#ifndef _WIN32 /* Don't use on Windows */
-#define HAVE_GETENV 1
-#define HAVE_PUTENV 1
-#define HAVE_UNSETENV 1
-#endif
-#define HAVE_QSORT 1
-#define HAVE_ABS 1
-#define HAVE_BCOPY 1
-#define HAVE_MEMSET 1
-#define HAVE_MEMCPY 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MEMCMP 1
-#define HAVE_STRLEN 1
-#define HAVE_STRLCPY 1
-#define HAVE_STRLCAT 1
-#define HAVE_STRDUP 1
-/* #undef HAVE__STRREV */
-/* #undef HAVE__STRUPR */
-/* #undef HAVE__STRLWR */
-#define HAVE_INDEX 1
-#define HAVE_RINDEX 1
-#define HAVE_STRCHR 1
-#define HAVE_STRRCHR 1
-/* #undef HAVE_ITOA */
-/* #undef HAVE__LTOA */
-/* #undef HAVE__UITOA */
-/* #undef HAVE__ULTOA */
-#define HAVE_STRTOL 1
-#define HAVE_STRTOUL 1
-/* #undef HAVE__I64TOA */
-/* #undef HAVE__UI64TOA */
-#define HAVE_STRTOLL 1
-#define HAVE_STRTOULL 1
-#define HAVE_STRTOD 1
-#define HAVE_ATOI 1
-#define HAVE_ATOF 1
-#define HAVE_STRCMP 1
-#define HAVE_STRNCMP 1
-/* #undef HAVE__STRICMP */
-#define HAVE_STRCASECMP 1
-/* #undef HAVE__STRNICMP */
-#define HAVE_VSNPRINTF 1
-/* #undef HAVE_ICONV */
-#define HAVE_SIGACTION 1
-#define HAVE_SETJMP 1
-#define HAVE_NANOSLEEP 1
-#define HAVE_CLOCK_GETTIME 1
-/* #undef HAVE_DLVSYM */
-#define HAVE_GETPAGESIZE 1
-#else
-/* We may need some replacement for stdarg.h here */
-#include <stdarg.h>
-#endif /* HAVE_LIBC */
-
-/* Allow disabling of core subsystems */
-#define SDL_AUDIO_DISABLED 1
-#define SDL_CDROM_DISABLED 1
-/* #undef SDL_CPUINFO_DISABLED */
-/* #undef SDL_EVENTS_DISABLED */
-#define SDL_FILE_DISABLED 1
-#define SDL_JOYSTICK_DISABLED 1
-/* #undef SDL_LOADSO_DISABLED */
-/* #undef SDL_THREADS_DISABLED */
-/* #undef SDL_TIMERS_DISABLED */
-/* #undef SDL_VIDEO_DISABLED */
-
-/* Enable various audio drivers */
-#define SDL_AUDIO_DRIVER_OSS 1
-
-/* Enable various shared object loading systems */
-#define SDL_LOADSO_DLOPEN 1
-
-/* Enable various threading systems */
-#define SDL_THREAD_PTHREAD 1
-#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
-
-/* Enable various timer systems */
-#define SDL_TIMER_UNIX 1
-
-/* Enable various video drivers */
-#define SDL_VIDEO_DRIVER_X11 1
-#define SDL_VIDEO_DRIVER_X11_DPMS 1
-#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
-#define SDL_VIDEO_DRIVER_X11_XME 1
-#define SDL_MAIN_DUMMY 1
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC "libX11.so.6"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "libXext.so.6"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "libXrandr.so.2"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER "libXrender.so.1"
-#endif /* _SDL_config_h */
diff --git a/distrib/sdl-1.2.12/android/build/linux-x86/SDL_config.h b/distrib/sdl-1.2.12/android/build/linux-x86/SDL_config.h
deleted file mode 100644
index 637a42d..0000000
--- a/distrib/sdl-1.2.12/android/build/linux-x86/SDL_config.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/* This file was autogenerated by 'android-configure.sh' - do not edit */
-#ifndef _SDL_config_h
-#define _SDL_config_h
-
-#define HAVE_LIBC 1
-#if HAVE_LIBC
-
-/* Useful headers */
-#define HAVE_ALLOCA_H 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_STDIO_H 1
-#define STDC_HEADERS 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STDARG_H 1
-#define HAVE_MALLOC_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_STRING_H 1
-#define HAVE_STRINGS_H 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_CTYPE_H 1
-#define HAVE_MATH_H 1
-#define HAVE_ICONV_H 1
-#define HAVE_SIGNAL_H 1
-/* #undef HAVE_ALTIVEC_H */
-/* C library functions */
-#define HAVE_MALLOC 1
-#define HAVE_CALLOC 1
-#define HAVE_REALLOC 1
-#define HAVE_FREE 1
-/* #undef HAVE_ALLOC */
-#ifndef _WIN32 /* Don't use on Windows */
-#define HAVE_GETENV 1
-#define HAVE_PUTENV 1
-#define HAVE_UNSETENV 1
-#endif
-#define HAVE_QSORT 1
-#define HAVE_ABS 1
-#define HAVE_BCOPY 1
-#define HAVE_MEMSET 1
-#define HAVE_MEMCPY 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MEMCMP 1
-#define HAVE_STRLEN 1
-/* #undef HAVE_STRLCPY */
-/* #undef HAVE_STRLCAT */
-#define HAVE_STRDUP 1
-/* #undef HAVE__STRREV */
-/* #undef HAVE__STRUPR */
-/* #undef HAVE__STRLWR */
-#define HAVE_INDEX 1
-#define HAVE_RINDEX 1
-#define HAVE_STRCHR 1
-#define HAVE_STRRCHR 1
-/* #undef HAVE_ITOA */
-/* #undef HAVE__LTOA */
-/* #undef HAVE__UITOA */
-/* #undef HAVE__ULTOA */
-#define HAVE_STRTOL 1
-#define HAVE_STRTOUL 1
-/* #undef HAVE__I64TOA */
-/* #undef HAVE__UI64TOA */
-#define HAVE_STRTOLL 1
-#define HAVE_STRTOULL 1
-#define HAVE_STRTOD 1
-#define HAVE_ATOI 1
-#define HAVE_ATOF 1
-#define HAVE_STRCMP 1
-#define HAVE_STRNCMP 1
-/* #undef HAVE__STRICMP */
-#define HAVE_STRCASECMP 1
-/* #undef HAVE__STRNICMP */
-#define HAVE_VSNPRINTF 1
-#define HAVE_ICONV 1
-#define HAVE_SIGACTION 1
-#define HAVE_SETJMP 1
-#define HAVE_NANOSLEEP 1
-#define HAVE_CLOCK_GETTIME 1
-#define HAVE_DLVSYM 1
-#define HAVE_GETPAGESIZE 1
-#else
-/* We may need some replacement for stdarg.h here */
-#include <stdarg.h>
-#endif /* HAVE_LIBC */
-
-/* Allow disabling of core subsystems */
-#define SDL_AUDIO_DISABLED 1
-#define SDL_CDROM_DISABLED 1
-/* #undef SDL_CPUINFO_DISABLED */
-/* #undef SDL_EVENTS_DISABLED */
-#define SDL_FILE_DISABLED 1
-#define SDL_JOYSTICK_DISABLED 1
-/* #undef SDL_LOADSO_DISABLED */
-/* #undef SDL_THREADS_DISABLED */
-/* #undef SDL_TIMERS_DISABLED */
-/* #undef SDL_VIDEO_DISABLED */
-
-/* Enable various audio drivers */
-#define SDL_AUDIO_DRIVER_ALSA 1
-#define SDL_AUDIO_DRIVER_ALSA_DYNAMIC 1
-#define SDL_AUDIO_DRIVER_OSS 1
-#define SDL_AUDIO_DRIVER_ESD_DYNAMIC 1
-#define SDL_AUDIO_DRIVER_ESD 1
-
-/* Enable various shared object loading systems */
-#define SDL_LOADSO_DLOPEN 1
-
-/* Enable various threading systems */
-#define SDL_THREAD_PTHREAD 1
-#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP 1
-
-/* Enable various timer systems */
-#define SDL_TIMER_UNIX 1
-
-/* Enable various video drivers */
-#define SDL_VIDEO_DRIVER_X11 1
-#define SDL_VIDEO_DRIVER_X11_DPMS 1
-#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
-#define SDL_VIDEO_DRIVER_X11_XME 1
-#define SDL_MAIN_DUMMY 1
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC "libX11.so.6"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "libXext.so.6"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "libXrandr.so.2"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER "libXrender.so.1"
-#endif /* _SDL_config_h */
diff --git a/distrib/sdl-1.2.12/android/build/windows/SDL_config.h b/distrib/sdl-1.2.12/android/build/windows/SDL_config.h
deleted file mode 100644
index 06cbe6c..0000000
--- a/distrib/sdl-1.2.12/android/build/windows/SDL_config.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* This file was autogenerated by 'android-configure.sh' - do not edit */
-#ifndef _SDL_config_h
-#define _SDL_config_h
-
-#include "SDL_platform.h"
-
-#define SDL_HAS_64BIT_TYPE 1
-#define SDL_BYTEORDER 1234
-
-#define HAVE_LIBC 1
-#if HAVE_LIBC
-
-/* Useful headers */
-/* #undef HAVE_ALLOCA_H */
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_STDIO_H 1
-#define STDC_HEADERS 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STDARG_H 1
-#define HAVE_MALLOC_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_STRING_H 1
-#define HAVE_STRINGS_H 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_CTYPE_H 1
-#define HAVE_MATH_H 1
-/* #undef HAVE_ICONV_H */
-#define HAVE_SIGNAL_H 1
-/* #undef HAVE_ALTIVEC_H */
-/* C library functions */
-#define HAVE_MALLOC 1
-#define HAVE_CALLOC 1
-#define HAVE_REALLOC 1
-#define HAVE_FREE 1
-/* #undef HAVE_ALLOC */
-#ifndef _WIN32 /* Don't use on Windows */
-#define HAVE_GETENV 1
-#define HAVE_PUTENV 1
-/* #undef HAVE_UNSETENV */
-#endif
-#define HAVE_QSORT 1
-#define HAVE_ABS 1
-/* #undef HAVE_BCOPY */
-#define HAVE_MEMSET 1
-#define HAVE_MEMCPY 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MEMCMP 1
-#define HAVE_STRLEN 1
-/* #undef HAVE_STRLCPY */
-/* #undef HAVE_STRLCAT */
-#define HAVE_STRDUP 1
-#define HAVE__STRREV 1
-#define HAVE__STRUPR 1
-#define HAVE__STRLWR 1
-/* #undef HAVE_INDEX */
-/* #undef HAVE_RINDEX */
-#define HAVE_STRCHR 1
-#define HAVE_STRRCHR 1
-#define HAVE_ITOA 1
-#define HAVE__LTOA 1
-/* #undef HAVE__UITOA */
-#define HAVE__ULTOA 1
-#define HAVE_STRTOL 1
-#define HAVE_STRTOUL 1
-#define HAVE__I64TOA 1
-#define HAVE__UI64TOA 1
-#define HAVE_STRTOLL 1
-#define HAVE_STRTOULL 1
-#define HAVE_STRTOD 1
-#define HAVE_ATOI 1
-#define HAVE_ATOF 1
-#define HAVE_STRCMP 1
-#define HAVE_STRNCMP 1
-#define HAVE__STRICMP 1
-#define HAVE_STRCASECMP 1
-#define HAVE__STRNICMP 1
-#define HAVE_VSNPRINTF 1
-/* #undef HAVE_ICONV */
-/* #undef HAVE_SIGACTION */
-/* #undef HAVE_SETJMP */
-/* #undef HAVE_NANOSLEEP */
-/* #undef HAVE_CLOCK_GETTIME */
-/* #undef HAVE_DLVSYM */
-#define HAVE_GETPAGESIZE 1
-#else
-/* We may need some replacement for stdarg.h here */
-#include <stdarg.h>
-#endif /* HAVE_LIBC */
-
-/* Allow disabling of core subsystems */
-#define SDL_AUDIO_DISABLED 1
-#define SDL_CDROM_DISABLED 1
-/* #undef SDL_CPUINFO_DISABLED */
-/* #undef SDL_EVENTS_DISABLED */
-#define SDL_FILE_DISABLED 1
-#define SDL_JOYSTICK_DISABLED 1
-/* #undef SDL_LOADSO_DISABLED */
-/* #undef SDL_THREADS_DISABLED */
-/* #undef SDL_TIMERS_DISABLED */
-/* #undef SDL_VIDEO_DISABLED */
-
-/* Enable various audio drivers */
-#define SDL_AUDIO_DRIVER_WAVEOUT 1
-
-/* Enable various shared object loading systems */
-#define SDL_LOADSO_WIN32 1
-
-/* Enable various threading systems */
-#define SDL_THREAD_WIN32 1
-
-/* Enable various timer systems */
-#define SDL_TIMER_WIN32 1
-
-/* Enable various video drivers */
-#define SDL_VIDEO_DRIVER_WINDIB 1
-#define SDL_MAIN_WIN32 1
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC "libX11.so.6"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "libXext.so.6"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "libXrandr.so.2"
-#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER "libXrender.so.1"
-#endif /* _SDL_config_h */
diff --git a/distrib/sdl-1.2.12/sources.make b/distrib/sdl-1.2.12/sources.make
new file mode 100644
index 0000000..dadcb3f
--- /dev/null
+++ b/distrib/sdl-1.2.12/sources.make
@@ -0,0 +1,244 @@
+# This is included from the main Android emulator build script
+# to declare the SDL-related sources, compiler flags and libraries
+#
+
+SDL_CFLAGS :=
+SDL_LDLIBS :=
+SDL_STATIC_LIBRARIES :=
+
+SDL_SOURCES :=
+
+ifeq ($(HOST_OS),linux)
+ SDL_CONFIG_LOADSO_DLOPEN := yes
+ SDL_CONFIG_THREAD_PTHREAD := yes
+ SDL_CONFIG_THREAD_PTHREAD_RECURSIVE_MUTEX_NP := yes
+ SDL_CONFIG_TIMER_UNIX := yes
+ SDL_CONFIG_VIDEO_X11 := yes
+ SDL_CONFIG_VIDEO_X11_DPMS := yes
+ SDL_CONFIG_VIDEO_X11_XINERAMA := yes
+ SDL_CONFIG_VIDEO_X11_XME := yes
+ SDL_CONFIG_MAIN_DUMMY := yes
+
+ SDL_CFLAGS += -D_GNU_SOURCE=1 -D_REENTRANT
+ SDL_LDLIBS += -lm -ldl -lpthread -lrt
+endif
+
+ifeq ($(HOST_OS),freebsd)
+ SDL_CONFIG_LOADSO_DLOPEN := yes
+ SDL_CONFIG_THREAD_PTHREAD := yes
+ SDL_CONFIG_THREAD_PTHREAD_RECURSIVE_MUTEX := yes
+ SDL_CONFIG_TIMER_UNIX := yes
+ SDL_CONFIG_VIDEO_X11 := yes
+ SDL_CONFIG_VIDEO_X11_DPMS := yes
+ SDL_CONFIG_VIDEO_X11_XINERAMA := yes
+ SDL_CONFIG_VIDEO_X11_XME := yes
+ SDL_CONFIG_MAIN_DUMMY := yes
+
+ SDL_CFLAGS += -D_GNU_SOURCE=1 -D_REENTRANT
+ SDL_LDLIBS += -lm -ldl -lpthread
+endif
+
+ifeq ($(HOST_OS),darwin)
+ SDL_CONFIG_LOADSO_DLCOMPAT := yes
+ SDL_CONFIG_THREAD_PTHREAD := yes
+ SDL_CONFIG_THREAD_PTHREAD_RECURSIVE_MUTEX := yes
+ SDL_CONFIG_TIMER_UNIX := yes
+ SDL_CONFIG_VIDEO_QUARTZ := yes
+ SDL_CONFIG_MAIN_MACOSX := yes
+
+ SDL_CFLAGS += -D_GNU_SOURCE=1 -DTHREAD_SAFE
+ FRAMEWORKS := OpenGL Cocoa QuickTime ApplicationServices Carbon IOKit
+ SDL_LDLIBS += $(FRAMEWORKS:%=-Wl,-framework,%)
+endif
+
+ifeq ($(HOST_OS),windows)
+ SDL_CONFIG_LOADSO_WIN32 := yes
+ SDL_CONFIG_THREAD_WIN32 := yes
+ SDL_CONFIG_TIMER_WIN32 := yes
+ SDL_CONFIG_VIDEO_WINDIB := yes
+ SDL_CONFIG_MAIN_WIN32 := yes
+
+ SDL_CFLAGS += -D_GNU_SOURCE=1 -Dmain=SDL_main -DNO_STDIO_REDIRECT=1
+ SDL_LDLIBS += -luser32 -lgdi32 -lwinmm
+endif
+
+
+# the main src/ sources
+#
+SRCS := SDL.c \
+ SDL_error.c \
+ SDL_fatal.c \
+
+SRCS += events/SDL_active.c \
+ events/SDL_events.c \
+ events/SDL_expose.c \
+ events/SDL_keyboard.c \
+ events/SDL_mouse.c \
+ events/SDL_quit.c \
+ events/SDL_resize.c \
+
+SRCS += file/SDL_rwops.c
+
+SRCS += stdlib/SDL_getenv.c \
+ stdlib/SDL_iconv.c \
+ stdlib/SDL_malloc.c \
+ stdlib/SDL_qsort.c \
+ stdlib/SDL_stdlib.c \
+ stdlib/SDL_string.c
+
+SRCS += cpuinfo/SDL_cpuinfo.c
+
+SDL_SOURCES += $(SRCS:%=$(SDL_DIR)/src/%)
+
+# the LoadSO sources
+#
+
+SRCS :=
+
+ifeq ($(SDL_CONFIG_LOADSO_DLOPEN),yes)
+ SRCS += dlopen/SDL_sysloadso.c
+ SDL_LDLIBS += -ldl
+endif
+
+ifeq ($(SDL_CONFIG_LOADSO_DLCOMPAT),yes)
+ SRCS += macosx/SDL_dlcompat.c
+endif
+
+ifeq ($(SDL_CONFIG_LOADSO_WIN32),yes)
+ SRCS += win32/SDL_sysloadso.c
+endif
+
+SDL_SOURCES += $(SRCS:%=$(SDL_DIR)/src/loadso/%)
+
+# the Thread sources
+#
+
+SRCS := SDL_thread.c
+
+ifeq ($(SDL_CONFIG_THREAD_PTHREAD),yes)
+ SRCS += pthread/SDL_syscond.c \
+ pthread/SDL_sysmutex.c \
+ pthread/SDL_syssem.c \
+ pthread/SDL_systhread.c
+endif
+
+ifeq ($(SDL_CONFIG_THREAD_WIN32),yes)
+ SRCS += win32/SDL_sysmutex.c \
+ win32/SDL_syssem.c \
+ win32/SDL_systhread.c
+endif
+
+SDL_SOURCES += $(SRCS:%=$(SDL_DIR)/src/thread/%)
+
+# the Timer sources
+#
+
+SRCS := SDL_timer.c
+
+ifeq ($(SDL_CONFIG_TIMER_UNIX),yes)
+ SRCS += unix/SDL_systimer.c
+endif
+
+ifeq ($(SDL_CONFIG_TIMER_WIN32),yes)
+ SRCS += win32/SDL_systimer.c
+endif
+
+SDL_SOURCES += $(SRCS:%=$(SDL_DIR)/src/timer/%)
+
+# the Video sources
+#
+
+SRCS := SDL_RLEaccel.c \
+ SDL_blit.c \
+ SDL_blit_0.c \
+ SDL_blit_1.c \
+ SDL_blit_A.c \
+ SDL_blit_N.c \
+ SDL_bmp.c \
+ SDL_cursor.c \
+ SDL_gamma.c \
+ SDL_pixels.c \
+ SDL_stretch.c \
+ SDL_surface.c \
+ SDL_video.c \
+ SDL_yuv.c \
+ SDL_yuv_mmx.c \
+ SDL_yuv_sw.c \
+
+SRCS += dummy/SDL_nullevents.c \
+ dummy/SDL_nullmouse.c \
+ dummy/SDL_nullvideo.c
+
+ifeq ($(SDL_CONFIG_VIDEO_WINDIB),yes)
+ SRCS += windib/SDL_dibevents.c \
+ windib/SDL_dibvideo.c \
+ wincommon/SDL_sysevents.c \
+ wincommon/SDL_sysmouse.c \
+ wincommon/SDL_syswm.c \
+ wincommon/SDL_wingl.c
+endif
+
+ifeq ($(SDL_CONFIG_VIDEO_QUARTZ),yes)
+ SRCS += quartz/SDL_QuartzGL.m \
+ quartz/SDL_QuartzVideo.m \
+ quartz/SDL_QuartzWM.m \
+ quartz/SDL_QuartzWindow.m \
+ quartz/SDL_QuartzYUV.m \
+ quartz/SDL_QuartzEvents.m \
+ maccommon/SDL_macevents.c \
+ maccommon/SDL_macgl.c \
+ maccommon/SDL_macmouse.c \
+ maccommon/SDL_macwm.c
+
+endif
+
+ifeq ($(SDL_CONFIG_VIDEO_X11),yes)
+ SRCS += x11/SDL_x11dyn.c \
+ x11/SDL_x11dga.c \
+ x11/SDL_x11events.c \
+ x11/SDL_x11gamma.c \
+ x11/SDL_x11gl.c \
+ x11/SDL_x11image.c \
+ x11/SDL_x11modes.c \
+ x11/SDL_x11mouse.c \
+ x11/SDL_x11video.c \
+ x11/SDL_x11wm.c \
+ x11/SDL_x11yuv.c
+endif
+
+ifeq ($(SDL_CONFIG_VIDEO_X11_DGAMOUSE),yes)
+ SRCS += x11/SDL_x11dga.c
+endif
+
+ifeq ($(SDL_CONFIG_VIDEO_X11_XME),yes)
+ SRCS += Xext/XME/xme.c
+endif
+
+ifeq ($(SDL_CONFIG_VIDEO_X11_XINERAMA),yes)
+ SRCS += Xext/Xinerama/Xinerama.c
+endif
+
+ifeq ($(SDL_CONFIG_VIDEO_X11_XV),yes)
+ SRCS += Xext/Xv/Xv.c
+endif
+
+SDL_SOURCES += $(SRCS:%=$(SDL_DIR)/src/video/%)
+
+## Build libSDLmain
+##
+
+SRCS :=
+
+ifeq ($(SDL_CONFIG_MAIN_DUMMY),yes)
+ SRCS += dummy/SDL_dummy_main.c
+endif
+
+ifeq ($(SDL_CONFIG_MAIN_MACOSX),yes)
+ SRCS += macosx/SDLMain.m
+endif
+
+ifeq ($(SDL_CONFIG_MAIN_WIN32),yes)
+ SRCS += win32/SDL_win32_main.c
+endif
+
+SDLMAIN_SOURCES := $(SRCS:%=$(SDL_DIR)/src/main/%)