By default all the real targets have dummy audio/video and disk audio.
--- a/Makefile.dc Tue Mar 14 08:53:33 2006 +0000
+++ b/Makefile.dc Tue Mar 14 16:19:32 2006 +0000
@@ -15,6 +15,7 @@
SRCS = \
src/audio/dc/SDL_dcaudio.c \
src/audio/dc/aica.c \
+ src/audio/dummy/SDL_dummyaudio.c \
src/audio/SDL_audio.c \
src/audio/SDL_audiocvt.c \
src/audio/SDL_audiodev.c \
@@ -51,6 +52,9 @@
src/timer/SDL_timer.c \
src/video/dc/SDL_dcevents.c \
src/video/dc/SDL_dcvideo.c \
+ src/video/dummy/SDL_nullevents.c \
+ src/video/dummy/SDL_nullmouse.c \
+ src/video/dummy/SDL_nullvideo.c \
src/video/SDL_blit.c \
src/video/SDL_blit_0.c \
src/video/SDL_blit_1.c \
--- a/Makefile.minimal Tue Mar 14 08:53:33 2006 +0000
+++ b/Makefile.minimal Tue Mar 14 16:19:32 2006 +0000
@@ -18,7 +18,7 @@
src/thread/*.c \
src/timer/*.c \
src/video/*.c \
- src/audio/disk/*.c \
+ src/audio/dummy/*.c \
src/video/dummy/*.c \
src/joystick/dummy/*.c \
src/cdrom/dummy/*.c \
--- a/include/SDL_config.h Tue Mar 14 08:53:33 2006 +0000
+++ b/include/SDL_config.h Tue Mar 14 16:19:32 2006 +0000
@@ -1,4 +1,3 @@
-/* include/SDL_config.h. Generated by configure. */
/*
SDL - Simple DirectMedia Layer
Copyright (C) 1997-2006 Sam Lantinga
@@ -24,276 +23,56 @@
#ifndef _SDL_config_h
#define _SDL_config_h
-/* This is a set of defines to configure the SDL features */
-
-/* General platform specific identifiers */
#include "SDL_platform.h"
-/* C language features */
-/* #undef const */
-/* #undef inline */
-/* #undef volatile */
-
-/* C datatypes */
-/* #undef size_t */
-/* #undef int8_t */
-/* #undef uint8_t */
-/* #undef int16_t */
-/* #undef uint16_t */
-/* #undef int32_t */
-/* #undef uint32_t */
-/* #undef int64_t */
-/* #undef uint64_t */
-/* #undef uintptr_t */
-#define SDL_HAS_64BIT_TYPE 1
-
-/* Endianness */
-#define SDL_BYTEORDER 1234
-
-/* Comment this if you want to build without any C library requirements */
-#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 */
+/* Add any platform that doesn't build using the configure system */
+#if defined(__AMIGA__)
+#include "SDL_config_amiga.h"
+#elif defined(__DREAMCAST__)
+#include "SDL_config_dreamcast.h"
+#elif defined(__MACOS__)
+#include "SDL_config_macos.h"
+#elif defined(__MACOSX__)
+#include "SDL_config_macosx.h"
+#elif defined(__WIN32__)
+#include "SDL_config_win32.h"
+#elif defined(__OS2__)
+#include "SDL_config_os2.h"
+#else
+/* This is the minimal configuration that can be used to build SDL */
-/* C library functions */
-#define HAVE_MALLOC 1
-#define HAVE_CALLOC 1
-#define HAVE_REALLOC 1
-#define HAVE_FREE 1
-#define HAVE_ALLOCA 1
-#ifndef _WIN32 /* Don't use C runtime versions of these 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 */
-/* #undef HAVE_INDEX */
-/* #undef HAVE_RINDEX */
-#define HAVE_STRCHR 1
-#define HAVE_STRRCHR 1
-#define HAVE_STRSTR 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_STRNCASECMP 1
-#define HAVE_SSCANF 1
-#define HAVE_SNPRINTF 1
-#define HAVE_VSNPRINTF 1
-#define HAVE_ICONV 1
-#define HAVE_SIGACTION 1
-#define HAVE_SETJMP 1
-#define HAVE_NANOSLEEP 1
-/* #undef HAVE_CLOCK_GETTIME */
-#define HAVE_DLVSYM 1
-
-#else
-/* We may need some replacement for stdarg.h here */
#include <stdarg.h>
-#endif /* HAVE_LIBC */
-
-/* Allow disabling of core subsystems */
-/* #undef SDL_AUDIO_DISABLED */
-/* #undef SDL_CDROM_DISABLED */
-/* #undef SDL_CPUINFO_DISABLED */
-/* #undef SDL_EVENTS_DISABLED */
-/* #undef SDL_FILE_DISABLED */
-/* #undef SDL_JOYSTICK_DISABLED */
-/* #undef SDL_LOADSO_DISABLED */
-/* #undef SDL_THREADS_DISABLED */
-/* #undef SDL_TIMERS_DISABLED */
-/* #undef SDL_VIDEO_DISABLED */
-/* Enable various audio drivers */
-/* #undef SDL_AUDIO_DRIVER_AHI */
-#define SDL_AUDIO_DRIVER_ALSA 1
-#define SDL_AUDIO_DRIVER_ALSA_DYNAMIC "libasound.so.2"
-/* #undef SDL_AUDIO_DRIVER_ARTS */
-/* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */
-/* #undef SDL_AUDIO_DRIVER_BAUDIO */
-/* #undef SDL_AUDIO_DRIVER_COREAUDIO */
-/* #undef SDL_AUDIO_DRIVER_DART */
-/* #undef SDL_AUDIO_DRIVER_DC */
-#define SDL_AUDIO_DRIVER_DISK 1
-#define SDL_AUDIO_DRIVER_DUMMY 1
-/* #undef SDL_AUDIO_DRIVER_DMEDIA */
-/* #undef SDL_AUDIO_DRIVER_DSOUND */
-/* #undef SDL_AUDIO_DRIVER_ESD */
-/* #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC */
-/* #undef SDL_AUDIO_DRIVER_MINT */
-/* #undef SDL_AUDIO_DRIVER_MMEAUDIO */
-/* #undef SDL_AUDIO_DRIVER_NAS */
-/* #undef SDL_AUDIO_DRIVER_OPENBSD */
-#define SDL_AUDIO_DRIVER_OSS 1
-/* #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H */
-/* #undef SDL_AUDIO_DRIVER_PAUD */
-/* #undef SDL_AUDIO_DRIVER_QNXNTO */
-/* #undef SDL_AUDIO_DRIVER_SNDMGR */
-/* #undef SDL_AUDIO_DRIVER_SUNAUDIO */
-/* #undef SDL_AUDIO_DRIVER_WAVEOUT */
+typedef signed char int8_t;
+typedef unsigned char uint8_t;
+typedef signed short int16_t;
+typedef unsigned short uint16_t;
+typedef signed int int32_t;
+typedef unsigned int uint32_t;
+typedef unsigned int size_t;
+typedef unsigned long uintptr_t;
-/* Enable various cdrom drivers */
-/* #undef SDL_CDROM_AIX */
-/* #undef SDL_CDROM_BEOS */
-/* #undef SDL_CDROM_BSDI */
-/* #undef SDL_CDROM_DC */
-/* #undef SDL_CDROM_DUMMY */
-/* #undef SDL_CDROM_FREEBSD */
-#define SDL_CDROM_LINUX 1
-/* #undef SDL_CDROM_MACOS */
-/* #undef SDL_CDROM_MACOSX */
-/* #undef SDL_CDROM_MINT */
-/* #undef SDL_CDROM_OPENBSD */
-/* #undef SDL_CDROM_OS2 */
-/* #undef SDL_CDROM_OSF */
-/* #undef SDL_CDROM_QNX */
-/* #undef SDL_CDROM_WIN32 */
+/* Enable the dummy audio driver (src/audio/dummy/\*.c) */
+#define SDL_AUDIO_DRIVER_DUMMY 1
-/* Enable various input drivers */
-/* #undef SDL_INPUT_TSLIB */
-/* #undef SDL_JOYSTICK_AMIGA */
-/* #undef SDL_JOYSTICK_BEOS */
-/* #undef SDL_JOYSTICK_DC */
-/* #undef SDL_JOYSTICK_DUMMY */
-/* #undef SDL_JOYSTICK_IOKIT */
-#define SDL_JOYSTICK_LINUX 1
-/* #undef SDL_JOYSTICK_LINUXEV */
-/* #undef SDL_JOYSTICK_MACOS */
-/* #undef SDL_JOYSTICK_MINT */
-/* #undef SDL_JOYSTICK_OS2 */
-/* #undef SDL_JOYSTICK_RISCOS */
-/* #undef SDL_JOYSTICK_WINMM */
-/* #undef SDL_JOYSTICK_USBHID */
-
-/* Enable various shared object loading systems */
-/* #undef SDL_LOADSO_BEOS */
-/* #undef SDL_LOADSO_DLCOMPAT */
-#define SDL_LOADSO_DLOPEN 1
-/* #undef SDL_LOADSO_LDG */
-/* #undef SDL_LOADSO_MACOS */
-/* #undef SDL_LOADSO_OS2 */
-/* #undef SDL_LOADSO_WIN32 */
+/* Enable the stub cdrom driver (src/cdrom/dummy/\*.c) */
+#define SDL_CDROM_DISABLED 1
-/* Enable various threading systems */
-/* #undef SDL_THREAD_AMIGA */
-/* #undef SDL_THREAD_BEOS */
-/* #undef SDL_THREAD_DC */
-/* #undef SDL_THREAD_EPOC */
-/* #undef SDL_THREAD_OS2 */
-/* #undef SDL_THREAD_PTH */
-#define SDL_THREAD_PTHREAD 1
-#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
-/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP */
-/* #undef SDL_THREAD_SPROC */
-/* #undef SDL_THREAD_WIN32 */
+/* Enable the stub joystick driver (src/joystick/dummy/\*.c) */
+#define SDL_JOYSTICK_DISABLED 1
-/* Enable various timer systems */
-/* #undef SDL_TIMER_AMIGA */
-/* #undef SDL_TIMER_BEOS */
-/* #undef SDL_TIMER_DC */
-/* #undef SDL_TIMER_EPOC */
-/* #undef SDL_TIMER_MACOS */
-/* #undef SDL_TIMER_MINT */
-/* #undef SDL_TIMER_OS2 */
-/* #undef SDL_TIMER_RISCOS */
-#define SDL_TIMER_UNIX 1
-/* #undef SDL_TIMER_WIN32 */
-/* #undef SDL_TIMER_WINCE */
+/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */
+#define SDL_LOADSO_DISABLED 1
-/* Enable various video drivers */
-/* #undef SDL_VIDEO_DRIVER_AALIB */
-/* #undef SDL_VIDEO_DRIVER_BWINDOW */
-/* #undef SDL_VIDEO_DRIVER_CYBERGRAPHICS */
-/* #undef SDL_VIDEO_DRIVER_DC */
-/* #undef SDL_VIDEO_DRIVER_DDRAW */
-#define SDL_VIDEO_DRIVER_DGA 1
-/* #undef SDL_VIDEO_DRIVER_DIRECTFB */
-/* #undef SDL_VIDEO_DRIVER_DRAWSPROCKET */
-#define SDL_VIDEO_DRIVER_DUMMY 1
-/* #undef SDL_VIDEO_DRIVER_EPOC */
-#define SDL_VIDEO_DRIVER_FBCON 1
-/* #undef SDL_VIDEO_DRIVER_GAPI */
-/* #undef SDL_VIDEO_DRIVER_GEM */
-/* #undef SDL_VIDEO_DRIVER_GGI */
-/* #undef SDL_VIDEO_DRIVER_IPOD */
-/* #undef SDL_VIDEO_DRIVER_NANOX */
-/* #undef SDL_VIDEO_DRIVER_OS2FS */
-/* #undef SDL_VIDEO_DRIVER_PHOTON */
-/* #undef SDL_VIDEO_DRIVER_PICOGUI */
-/* #undef SDL_VIDEO_DRIVER_PS2GS */
-/* #undef SDL_VIDEO_DRIVER_QTOPIA */
-/* #undef SDL_VIDEO_DRIVER_QUARTZ */
-/* #undef SDL_VIDEO_DRIVER_RISCOS */
-/* #undef SDL_VIDEO_DRIVER_SVGALIB */
-/* #undef SDL_VIDEO_DRIVER_TOOLBOX */
-/* #undef SDL_VIDEO_DRIVER_VGL */
-/* #undef SDL_VIDEO_DRIVER_WINDIB */
-/* #undef SDL_VIDEO_DRIVER_WSCONS */
-#define SDL_VIDEO_DRIVER_X11 1
-#define SDL_VIDEO_DRIVER_X11_DGAMOUSE 1
-/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC */
-/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT */
-#define SDL_VIDEO_DRIVER_X11_VIDMODE 1
-#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
-#define SDL_VIDEO_DRIVER_X11_XME 1
-#define SDL_VIDEO_DRIVER_X11_XV 1
-/* #undef SDL_VIDEO_DRIVER_XBIOS */
+/* Enable the stub thread support (src/thread/generic/\*.c) */
+#define SDL_THREADS_DISABLED 1
-/* Enable OpenGL support */
-#define SDL_VIDEO_OPENGL 1
-#define SDL_VIDEO_OPENGL_GLX 1
-/* #undef SDL_VIDEO_OPENGL_WGL */
-/* #undef SDL_VIDEO_OPENGL_OSMESA */
-/* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */
+/* Enable the stub timer support (src/timer/dummy/\*.c) */
+#define SDL_TIMERS_DISABLED 1
-/* Enable assembly routines */
-#define SDL_ASSEMBLY_ROUTINES 1
-/* #undef SDL_HERMES_BLITTERS */
-/* #undef SDL_ALTIVEC_BLITTERS */
+/* Enable the dummy video driver (src/video/dummy/\*.c) */
+#define SDL_VIDEO_DRIVER_DUMMY 1
+
+#endif /* platform config */
#endif /* _SDL_config_h */
--- a/include/SDL_config_amiga.h Tue Mar 14 08:53:33 2006 +0000
+++ b/include/SDL_config_amiga.h Tue Mar 14 16:19:32 2006 +0000
@@ -50,8 +50,8 @@
/* Enable various audio drivers */
#define SDL_AUDIO_DRIVER_AHI 1
+#define SDL_AUDIO_DRIVER_DISK 1
#define SDL_AUDIO_DRIVER_DUMMY 1
-#define SDL_AUDIO_DRIVER_DISK 1
/* Enable various cdrom drivers */
#define SDL_CDROM_DUMMY 1
@@ -70,6 +70,7 @@
/* Enable various video drivers */
#define SDL_VIDEO_DRIVER_CYBERGRAPHICS 1
+#define SDL_VIDEO_DRIVER_DUMMY 1
/* Enable OpenGL support */
#define SDL_VIDEO_OPENGL 1
--- a/include/SDL_config_dreamcast.h Tue Mar 14 08:53:33 2006 +0000
+++ b/include/SDL_config_dreamcast.h Tue Mar 14 16:19:32 2006 +0000
@@ -79,6 +79,7 @@
/* Enable various audio drivers */
#define SDL_AUDIO_DRIVER_DC 1
+#define SDL_AUDIO_DRIVER_DISK 1
#define SDL_AUDIO_DRIVER_DUMMY 1
/* Enable various cdrom drivers */
@@ -98,5 +99,6 @@
/* Enable various video drivers */
#define SDL_VIDEO_DRIVER_DC 1
+#define SDL_VIDEO_DRIVER_DUMMY 1
#endif /* _SDL_config_dreamcast_h */
--- a/include/SDL_config_macos.h Tue Mar 14 08:53:33 2006 +0000
+++ b/include/SDL_config_macos.h Tue Mar 14 16:19:32 2006 +0000
@@ -86,6 +86,7 @@
#define SDL_TIMER_MACOS 1
/* Enable various video drivers */
+#define SDL_VIDEO_DRIVER_DUMMY 1
#define SDL_VIDEO_DRIVER_DRAWSPROCKET 1
#define SDL_VIDEO_DRIVER_TOOLBOX 1
--- a/include/SDL_config_os2.h Tue Mar 14 08:53:33 2006 +0000
+++ b/include/SDL_config_os2.h Tue Mar 14 16:19:32 2006 +0000
@@ -127,6 +127,7 @@
#define SDL_TIMER_OS2 1
/* Enable various video drivers */
+#define SDL_VIDEO_DRIVER_DUMMY 1
#define SDL_VIDEO_DRIVER_OS2FS 1
/* Enable OpenGL support */
--- a/include/SDL_config_win32.h Tue Mar 14 08:53:33 2006 +0000
+++ b/include/SDL_config_win32.h Tue Mar 14 16:19:32 2006 +0000
@@ -152,6 +152,7 @@
#ifndef _WIN32_WCE
#define SDL_VIDEO_DRIVER_DDRAW 1
#endif
+#define SDL_VIDEO_DRIVER_DUMMY 1
#define SDL_VIDEO_DRIVER_WINDIB 1
/* Enable OpenGL support */
--- a/src/audio/dummy/SDL_dummyaudio.c Tue Mar 14 08:53:33 2006 +0000
+++ b/src/audio/dummy/SDL_dummyaudio.c Tue Mar 14 16:19:32 2006 +0000
@@ -24,11 +24,7 @@
*/
#include "SDL_config.h"
-/* Output raw audio data to a file. */
-
-#if HAVE_STDIO_H
-#include <stdio.h>
-#endif
+/* Output audio to nowhere... */
#include "SDL_rwops.h"
#include "SDL_timer.h"
@@ -135,11 +131,6 @@
static int DUMMYAUD_OpenAudio(_THIS, SDL_AudioSpec *spec)
{
-#if HAVE_STDIO_H
- fprintf(stderr, "\nWARNING: You are using the SDL dummy audio driver!"
- " No sound will be output!\n\n");
-#endif
-
/* Allocate mixing buffer */
this->hidden->mixlen = spec->size;
this->hidden->mixbuf = (Uint8 *) SDL_AllocAudioMem(this->hidden->mixlen);