mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-05-28 03:26:15 +08:00
sunaudio: don't compile in the sun audio backend if sys/audioio.h is missing.
Newer Solaris-based releases, like OpenIndiana, don't include this, using Open Sound System, or something layered over OSS like PulseAudio, instead. Fixes #13405.
This commit is contained in:
+8
-4
@@ -1470,10 +1470,14 @@ elseif(EMSCRIPTEN)
|
|||||||
elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU)
|
elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU)
|
||||||
if(SDL_AUDIO)
|
if(SDL_AUDIO)
|
||||||
if(SYSV5 OR SOLARIS OR HPUX)
|
if(SYSV5 OR SOLARIS OR HPUX)
|
||||||
set(SDL_AUDIO_DRIVER_SUNAUDIO 1)
|
# Newer Solaris-based systems, like OpenIndiana, don't have this interface anymore. Check for the header first.
|
||||||
file(GLOB SUN_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/sun/*.c)
|
check_include_file(sys/audioio HAVE_SYS_AUDIOIO_H)
|
||||||
list(APPEND SOURCE_FILES ${SUN_AUDIO_SOURCES})
|
if(HAVE_SYS_AUDIOIO_H)
|
||||||
set(HAVE_SDL_AUDIO TRUE)
|
set(SDL_AUDIO_DRIVER_SUNAUDIO 1)
|
||||||
|
file(GLOB SUN_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/sun/*.c)
|
||||||
|
list(APPEND SOURCE_FILES ${SUN_AUDIO_SOURCES})
|
||||||
|
set(HAVE_SDL_AUDIO TRUE)
|
||||||
|
endif()
|
||||||
elseif(NETBSD)
|
elseif(NETBSD)
|
||||||
set(SDL_AUDIO_DRIVER_NETBSD 1)
|
set(SDL_AUDIO_DRIVER_NETBSD 1)
|
||||||
file(GLOB NETBSD_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/netbsd/*.c)
|
file(GLOB NETBSD_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/netbsd/*.c)
|
||||||
|
|||||||
@@ -28741,12 +28741,22 @@ printf "%s\n" "#define SDL_VIDEO_DRIVER_ANDROID 1" >>confdefs.h
|
|||||||
if test x$enable_audio = xyes; then
|
if test x$enable_audio = xyes; then
|
||||||
case $ARCH in
|
case $ARCH in
|
||||||
sysv5|solaris|hpux)
|
sysv5|solaris|hpux)
|
||||||
|
ac_fn_c_check_header_compile "$LINENO" "audio/audiolib.h" "ac_cv_header_audio_audiolib_h" "$ac_includes_default"
|
||||||
|
if test "x$ac_cv_header_audio_audiolib_h" = xyes
|
||||||
|
then :
|
||||||
|
have_sys_audiolib=yes
|
||||||
|
else $as_nop
|
||||||
|
have_sys_audiolib=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$have_sys_audiolib = xyes; then
|
||||||
|
|
||||||
printf "%s\n" "#define SDL_AUDIO_DRIVER_SUNAUDIO 1" >>confdefs.h
|
printf "%s\n" "#define SDL_AUDIO_DRIVER_SUNAUDIO 1" >>confdefs.h
|
||||||
|
|
||||||
SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
|
SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
|
||||||
SUMMARY_audio="${SUMMARY_audio} sun"
|
SUMMARY_audio="${SUMMARY_audio} sun"
|
||||||
have_audio=yes
|
have_audio=yes
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
netbsd) # Don't use this on OpenBSD, it's busted.
|
netbsd) # Don't use this on OpenBSD, it's busted.
|
||||||
|
|
||||||
|
|||||||
+8
-4
@@ -3869,10 +3869,14 @@ case "$host" in
|
|||||||
if test x$enable_audio = xyes; then
|
if test x$enable_audio = xyes; then
|
||||||
case $ARCH in
|
case $ARCH in
|
||||||
sysv5|solaris|hpux)
|
sysv5|solaris|hpux)
|
||||||
AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO, 1, [ ])
|
dnl Newer Solaris-based systems, like OpenIndiana, don't have this interface anymore. Check for the header first.
|
||||||
SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
|
AC_CHECK_HEADER(audio/audiolib.h,have_sys_audiolib=yes,have_sys_audiolib=no)
|
||||||
SUMMARY_audio="${SUMMARY_audio} sun"
|
if test x$have_sys_audiolib = xyes; then
|
||||||
have_audio=yes
|
AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO, 1, [ ])
|
||||||
|
SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
|
||||||
|
SUMMARY_audio="${SUMMARY_audio} sun"
|
||||||
|
have_audio=yes
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
netbsd) # Don't use this on OpenBSD, it's busted.
|
netbsd) # Don't use this on OpenBSD, it's busted.
|
||||||
AC_DEFINE(SDL_AUDIO_DRIVER_NETBSD, 1, [ ])
|
AC_DEFINE(SDL_AUDIO_DRIVER_NETBSD, 1, [ ])
|
||||||
|
|||||||
Reference in New Issue
Block a user