From 6c07a1bfc2c22dd944329d05f6637d48a9b2f4c9 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 2 Jul 2001 00:20:29 +0000 Subject: [PATCH] Dummy audio and video drivers are enabled (thanks Ryan!) --- configure.in | 12 +++++------- src/audio/disk/SDL_diskaudio.c | 31 +++++++++++++++++++------------ src/video/dummy/SDL_nullvideo.c | 11 +++++++++-- 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/configure.in b/configure.in index 07e8b58e3..b2d92d49f 100644 --- a/configure.in +++ b/configure.in @@ -368,13 +368,12 @@ CheckNAS() fi } - dnl rcg07142001 See if the user wants the disk writer audio driver... CheckDiskAudio() { AC_ARG_ENABLE(diskaudio, -[ --enable-diskaudio support the disk writer audio driver [default=no]], - , enable_diskaudio=no) +[ --enable-diskaudio support the disk writer audio driver [default=yes]], + , enable_diskaudio=yes) if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then CFLAGS="$CFLAGS -DDISKAUD_SUPPORT" AUDIO_SUBDIRS="$AUDIO_SUBDIRS disk" @@ -382,7 +381,6 @@ CheckDiskAudio() fi } - dnl See if we can use x86 assembly blitters CheckNASM() { @@ -810,8 +808,8 @@ dnl rcg04172001 Set up the Null video driver. CheckDummyVideo() { AC_ARG_ENABLE(video-dummy, -[ --enable-video-dummy use dummy video driver [default=no]], - , enable_video_dummy=no) +[ --enable-video-dummy use dummy video driver [default=yes]], + , enable_video_dummy=yes) if test x$enable_video_dummy = xyes; then CFLAGS="$CFLAGS -DENABLE_DUMMYVIDEO" VIDEO_SUBDIRS="$VIDEO_SUBDIRS dummy" @@ -902,7 +900,7 @@ CheckPTHREAD() , enable_pthreads=yes) dnl This is used on Linux for glibc binary compatibility (Doh!) AC_ARG_ENABLE(pthread-sem, -[ --enable-pthread-sem use pthread semaphores [default=yes]], +[ --enable-pthread-sem use pthread semaphores [default=yes]], , enable_pthread_sem=yes) ac_save_libs="$LIBS" case "$target" in diff --git a/src/audio/disk/SDL_diskaudio.c b/src/audio/disk/SDL_diskaudio.c index 4185982f8..9f5d9dc2f 100644 --- a/src/audio/disk/SDL_diskaudio.c +++ b/src/audio/disk/SDL_diskaudio.c @@ -80,23 +80,30 @@ static int DISKAUD_Available(void) int exists = 0; struct stat statbuf; const char *fname = DISKAUD_GetOutputFilename(); - + const char *envr = getenv("SDL_AUDIODRIVER"); available = 0; - if (stat(fname, &statbuf) == 0) - exists = 1; - - fd = open(fname, O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR); - if ( fd != -1 ) { - available = 1; - close(fd); - if (!exists) { - unlink(fname); - } + if ((envr) && (strcmp(envr, DISKAUD_DRIVER_NAME) == 0)) { + if (stat(fname, &statbuf) == 0) + exists = 1; + + fd = open(fname, O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR); + if ( fd != -1 ) { + available = 1; + close(fd); + if (!exists) { + unlink(fname); + } + } } return(available); #else - return(1); + const char *envr = getenv("SDL_AUDIODRIVER"); + if ((envr) && (strcmp(envr, DISKAUD_DRIVER_NAME) == 0)) { + return(1); + } + + return(0); #endif } diff --git a/src/video/dummy/SDL_nullvideo.c b/src/video/dummy/SDL_nullvideo.c index 3aab2dbae..962f55e57 100644 --- a/src/video/dummy/SDL_nullvideo.c +++ b/src/video/dummy/SDL_nullvideo.c @@ -55,6 +55,8 @@ static char rcsid = #include "SDL_nullevents_c.h" #include "SDL_nullmouse_c.h" +#define DUMMYVID_DRIVER_NAME "dummy" + /* Initialization/Query functions */ static int DUMMY_VideoInit(_THIS, SDL_PixelFormat *vformat); static SDL_Rect **DUMMY_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags); @@ -76,7 +78,12 @@ static void DUMMY_UpdateRects(_THIS, int numrects, SDL_Rect *rects); static int DUMMY_Available(void) { - return 1; /* Always available ! */ + const char *envr = getenv("SDL_VIDEODRIVER"); + if ((envr) && (strcmp(envr, DUMMYVID_DRIVER_NAME) == 0)) { + return(1); + } + + return(0); } static void DUMMY_DeleteDevice(SDL_VideoDevice *device) @@ -136,7 +143,7 @@ static SDL_VideoDevice *DUMMY_CreateDevice(int devindex) } VideoBootStrap DUMMY_bootstrap = { - "dummy", "SDL dummy video driver", + DUMMYVID_DRIVER_NAME, "SDL dummy video driver", DUMMY_Available, DUMMY_CreateDevice };