From d17be8cbc6f0d0b0bc2c71e168e287cf45761595 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 9 Aug 2001 13:09:47 +0000 Subject: [PATCH] Audio subsystem no longer assumes sun audio API on UNIX systems --- configure.in | 54 +++++++++++++++++++++++++++----- src/audio/SDL_audio.c | 8 +++-- src/audio/SDL_sysaudio.h | 8 +++-- src/audio/dmedia/SDL_irixaudio.c | 2 +- src/audio/sun/SDL_sunaudio.c | 2 +- 5 files changed, 58 insertions(+), 16 deletions(-) diff --git a/configure.in b/configure.in index 9aa2dc0c8..50d79e599 100644 --- a/configure.in +++ b/configure.in @@ -307,6 +307,29 @@ CheckOPENBSDAUDIO() fi } +dnl Check whether we want to use IRIX 6.5+ native audio or not +CheckDMEDIA() +{ + if test x$enable_audio = xyes; then + AC_MSG_CHECKING(for dmedia audio support) + have_dmedia=no + AC_TRY_COMPILE([ + #include + ],[ + ALport audio_port; + ],[ + have_dmedia=yes + ]) + # Set up files for the audio library + if test x$have_dmedia = xyes; then + CFLAGS="$CFLAGS -DDMEDIA_SUPPORT" + AUDIO_SUBDIRS="$AUDIO_SUBDIRS dmedia" + AUDIO_DRIVERS="$AUDIO_DRIVERS dmedia/libaudio_dmedia.la" + SYSTEM_LIBS="$SYSTEM_LIBS -laudio" + fi + fi +} + dnl Find the ESD includes and libraries CheckESD() { @@ -1203,6 +1226,7 @@ case "$target" in # Set up files for the audio library # We use the OSS and ALSA API's, not the Sun audio API #if test x$enable_audio = xyes; then + # CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT" # AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" # AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" #fi @@ -1262,6 +1286,13 @@ case "$target" in CheckPTHREAD # Set up files for the main() stub COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + # We use the OSS and ALSA API's, not the Sun audio API + #if test x$enable_audio = xyes; then + # CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT" + # AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + # AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + #fi # Set up files for the joystick library # (No joystick support yet) if test x$enable_joystick = xyes; then @@ -1310,6 +1341,7 @@ case "$target" in # Set up files for the audio library # We use the OSS and ALSA API's, not the Sun audio API #if test x$enable_audio = xyes; then + # CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT" # AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" # AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" #fi @@ -1360,6 +1392,7 @@ case "$target" in COPY_ARCH_SRC(src/main, linux, SDL_main.c) # Set up files for the audio library if test x$enable_audio = xyes; then + CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT" AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" fi @@ -1414,6 +1447,7 @@ case "$target" in # Set up files for the audio library # We use the OSS and native API's, not the Sun audio API #if test x$enable_audio = xyes; then + # CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT" # AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" # AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" #fi @@ -1471,6 +1505,7 @@ case "$target" in COPY_ARCH_SRC(src/main, linux, SDL_main.c) # Set up files for the audio library if test x$enable_audio = xyes; then + CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT" AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" fi @@ -1519,6 +1554,7 @@ case "$target" in COPY_ARCH_SRC(src/main, linux, SDL_main.c) # Set up files for the audio library if test x$enable_audio = xyes; then + CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT" AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" fi @@ -1552,6 +1588,8 @@ case "$target" in ARCH=irix CheckDummyVideo CheckDiskAudio + CheckDMEDIA + CheckESD CheckNAS CheckX11 CheckAAlib @@ -1559,12 +1597,12 @@ case "$target" in CheckPTHREAD # Set up files for the main() stub COPY_ARCH_SRC(src/main, linux, SDL_main.c) - # Set up files for the audio library - if test x$enable_audio = xyes; then - AUDIO_SUBDIRS="$AUDIO_SUBDIRS dmedia" - AUDIO_DRIVERS="$AUDIO_DRIVERS dmedia/libaudio_dmedia.la" - SYSTEM_LIBS="$SYSTEM_LIBS -laudio" - fi + # We use the dmedia audio API, not the Sun audio API + #if test x$enable_audio = xyes; then + # CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT" + # AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + # AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + #fi # Set up files for the joystick library # (No joystick support yet) if test x$enable_joystick = xyes; then @@ -1622,6 +1660,7 @@ case "$target" in COPY_ARCH_SRC(src/main, linux, SDL_main.c) # Set up files for the audio library if test x$enable_audio = xyes; then + CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT" AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" fi @@ -1710,6 +1749,7 @@ case "$target" in COPY_ARCH_SRC(src/main, linux, SDL_main.c) # Set up files for the audio library if test x$enable_audio = xyes; then + CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT" AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" fi @@ -1757,8 +1797,6 @@ case "$target" in SYSTEM_LIBS="$SYSTEM_LIBS -lasound" AUDIO_SUBDIRS="$AUDIO_SUBDIRS nto" AUDIO_DRIVERS="$AUDIO_DRIVERS nto/libaudio_nto.la" - AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" - AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" fi # Set up files for the joystick library if test x$enable_joystick = xyes; then diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c index c8290cdf4..a1e96fe80 100644 --- a/src/audio/SDL_audio.c +++ b/src/audio/SDL_audio.c @@ -50,9 +50,11 @@ static AudioBootStrap *bootstrap[] = { #ifdef ALSA_SUPPORT &ALSA_bootstrap, #endif -#if (defined(unix) && !defined(__CYGWIN32__)) && \ - !defined(OSS_SUPPORT) && !defined(ALSA_SUPPORT) - &AUDIO_bootstrap, +#ifdef SUNAUDIO_SUPPORT + &SUNAUDIO_bootstrap, +#endif +#ifdef DMEDIA_SUPPORT + &DMEDIA_bootstrap, #endif #ifdef ARTSC_SUPPORT &ARTSC_bootstrap, diff --git a/src/audio/SDL_sysaudio.h b/src/audio/SDL_sysaudio.h index eff01afa6..3cb43a16a 100644 --- a/src/audio/SDL_sysaudio.h +++ b/src/audio/SDL_sysaudio.h @@ -109,9 +109,11 @@ extern AudioBootStrap DMA_bootstrap; #ifdef ALSA_SUPPORT extern AudioBootStrap ALSA_bootstrap; #endif -#if (defined(unix) && !defined(__CYGWIN32__)) && \ - !defined(OSS_SUPPORT) && !defined(ALSA_SUPPORT) -extern AudioBootStrap AUDIO_bootstrap; +#ifdef SUNAUDIO_SUPPORT +extern AudioBootStrap SUNAUDIO_bootstrap; +#endif +#ifdef DMEDIA_SUPPORT +extern AudioBootStrap DMEDIA_bootstrap; #endif #ifdef ARTSC_SUPPORT extern AudioBootStrap ARTSC_bootstrap; diff --git a/src/audio/dmedia/SDL_irixaudio.c b/src/audio/dmedia/SDL_irixaudio.c index bc9903ca3..20a4bd61a 100644 --- a/src/audio/dmedia/SDL_irixaudio.c +++ b/src/audio/dmedia/SDL_irixaudio.c @@ -91,7 +91,7 @@ static SDL_AudioDevice *Audio_CreateDevice(int devindex) return this; } -AudioBootStrap AUDIO_bootstrap = { +AudioBootStrap DMEDIA_bootstrap = { "AL", "IRIX DMedia audio", Audio_Available, Audio_CreateDevice }; diff --git a/src/audio/sun/SDL_sunaudio.c b/src/audio/sun/SDL_sunaudio.c index 5c4fd4e39..b67137aa5 100644 --- a/src/audio/sun/SDL_sunaudio.c +++ b/src/audio/sun/SDL_sunaudio.c @@ -117,7 +117,7 @@ static SDL_AudioDevice *Audio_CreateDevice(int devindex) return this; } -AudioBootStrap AUDIO_bootstrap = { +AudioBootStrap SUNAUDIO_bootstrap = { "audio", "UNIX /dev/audio interface", Audio_Available, Audio_CreateDevice };