Added configure and cmake support for libsamplerate

This commit is contained in:
Sam Lantinga 2017-01-06 20:43:53 -08:00
parent c5825b698d
commit df25258a1e
7 changed files with 294 additions and 179 deletions

View File

@ -267,8 +267,6 @@ set_option(DISKAUDIO "Support the disk writer audio driver" ON)
set_option(DUMMYAUDIO "Support the dummy audio driver" ON) set_option(DUMMYAUDIO "Support the dummy audio driver" ON)
set_option(VIDEO_DIRECTFB "Use DirectFB video driver" OFF) set_option(VIDEO_DIRECTFB "Use DirectFB video driver" OFF)
dep_option(DIRECTFB_SHARED "Dynamically load directfb support" ON "VIDEO_DIRECTFB" OFF) dep_option(DIRECTFB_SHARED "Dynamically load directfb support" ON "VIDEO_DIRECTFB" OFF)
set_option(FUSIONSOUND "Use FusionSound audio driver" OFF)
dep_option(FUSIONSOUND_SHARED "Dynamically load fusionsound audio support" ON "FUSIONSOUND" OFF)
set_option(VIDEO_DUMMY "Use dummy video driver" ON) set_option(VIDEO_DUMMY "Use dummy video driver" ON)
set_option(VIDEO_OPENGL "Include OpenGL support" ON) set_option(VIDEO_OPENGL "Include OpenGL support" ON)
set_option(VIDEO_OPENGLES "Include OpenGL ES support" ON) set_option(VIDEO_OPENGLES "Include OpenGL ES support" ON)
@ -287,6 +285,10 @@ dep_option(ARTS_SHARED "Dynamically load aRts audio support" ON "ARTS" O
set_option(NAS "Support the NAS audio API" ${UNIX_SYS}) set_option(NAS "Support the NAS audio API" ${UNIX_SYS})
set_option(NAS_SHARED "Dynamically load NAS audio API" ${UNIX_SYS}) set_option(NAS_SHARED "Dynamically load NAS audio API" ${UNIX_SYS})
set_option(SNDIO "Support the sndio audio API" ${UNIX_SYS}) set_option(SNDIO "Support the sndio audio API" ${UNIX_SYS})
set_option(FUSIONSOUND "Use FusionSound audio driver" OFF)
dep_option(FUSIONSOUND_SHARED "Dynamically load fusionsound audio support" ON "FUSIONSOUND" OFF)
set_option(LIBSAMPLERATE "Use libsamplerate for audio rate conversion" ${UNIX_SYS})
dep_option(LIBSAMPLERATE_SHARED "Dynamically load libsamplerate" ON "LIBSAMPLERATE" OFF)
set_option(RPATH "Use an rpath when linking SDL" ${UNIX_SYS}) set_option(RPATH "Use an rpath when linking SDL" ${UNIX_SYS})
set_option(CLOCK_GETTIME "Use clock_gettime() instead of gettimeofday()" OFF) set_option(CLOCK_GETTIME "Use clock_gettime() instead of gettimeofday()" OFF)
set_option(INPUT_TSLIB "Use the Touchscreen library for input" ${UNIX_SYS}) set_option(INPUT_TSLIB "Use the Touchscreen library for input" ${UNIX_SYS})
@ -847,6 +849,7 @@ elseif(UNIX AND NOT APPLE)
CheckNAS() CheckNAS()
CheckSNDIO() CheckSNDIO()
CheckFusionSound() CheckFusionSound()
CheckLibSampleRate()
endif() endif()
if(SDL_VIDEO) if(SDL_VIDEO)

View File

@ -315,6 +315,29 @@ macro(CheckFusionSound)
endif() endif()
endmacro() endmacro()
# Requires:
# - LIBSAMPLERATE
# Optional:
# - LIBSAMPLERATE_SHARED opt
# - HAVE_DLOPEN opt
macro(CheckLibSampleRate)
if(LIBSAMPLERATE)
check_include_file(samplerate.h HAVE_LIBSAMPLERATE_H)
if(HAVE_LIBSAMPLERATE_H)
if(LIBSAMPLERATE_SHARED)
if(NOT HAVE_DLOPEN)
message_warn("You must have SDL_LoadObject() support for dynamic libsamplerate loading")
else()
FindLibraryAndSONAME("samplerate")
set(SDL_LIBSAMPLERATE_DYNAMIC "\"${SAMPLERATE_LIB_SONAME}\"")
endif()
else()
list(APPEND EXTRA_LDFLAGS -lsamplerate)
endif()
endif()
endif()
endmacro()
# Requires: # Requires:
# - n/a # - n/a
# Optional: # Optional:

287
configure vendored
View File

@ -818,8 +818,12 @@ enable_nas
enable_nas_shared enable_nas_shared
enable_sndio enable_sndio
enable_sndio_shared enable_sndio_shared
enable_fusionsound
enable_fusionsound_shared
enable_diskaudio enable_diskaudio
enable_dummyaudio enable_dummyaudio
enable_libsamplerate
enable_libsamplerate_shared
enable_video_wayland enable_video_wayland
enable_video_wayland_qt_touch enable_video_wayland_qt_touch
enable_wayland_shared enable_wayland_shared
@ -840,8 +844,6 @@ enable_video_vivante
enable_video_cocoa enable_video_cocoa
enable_video_directfb enable_video_directfb
enable_directfb_shared enable_directfb_shared
enable_fusionsound
enable_fusionsound_shared
enable_video_dummy enable_video_dummy
enable_video_opengl enable_video_opengl
enable_video_opengles enable_video_opengles
@ -1544,8 +1546,16 @@ Optional Features:
--enable-nas-shared dynamically load NAS audio support [[default=yes]] --enable-nas-shared dynamically load NAS audio support [[default=yes]]
--enable-sndio support the sndio audio API [[default=yes]] --enable-sndio support the sndio audio API [[default=yes]]
--enable-sndio-shared dynamically load sndio audio support [[default=yes]] --enable-sndio-shared dynamically load sndio audio support [[default=yes]]
--enable-fusionsound use FusionSound audio driver [[default=no]]
--enable-fusionsound-shared
dynamically load fusionsound audio support
[[default=yes]]
--enable-diskaudio support the disk writer audio driver [[default=yes]] --enable-diskaudio support the disk writer audio driver [[default=yes]]
--enable-dummyaudio support the dummy audio driver [[default=yes]] --enable-dummyaudio support the dummy audio driver [[default=yes]]
--enable-libsamplerate use libsamplerate for audio rate conversion
[[default=yes]]
--enable-libsamplerate-shared
dynamically load libsamplerate [[default=yes]]
--enable-video-wayland use Wayland video driver [[default=yes]] --enable-video-wayland use Wayland video driver [[default=yes]]
--enable-video-wayland-qt-touch --enable-video-wayland-qt-touch
QtWayland server support for Wayland video driver QtWayland server support for Wayland video driver
@ -1576,10 +1586,6 @@ Optional Features:
--enable-video-directfb use DirectFB video driver [[default=no]] --enable-video-directfb use DirectFB video driver [[default=no]]
--enable-directfb-shared --enable-directfb-shared
dynamically load directfb support [[default=yes]] dynamically load directfb support [[default=yes]]
--enable-fusionsound use FusionSound audio driver [[default=no]]
--enable-fusionsound-shared
dynamically load fusionsound audio support
[[default=yes]]
--enable-video-dummy use dummy video driver [[default=yes]] --enable-video-dummy use dummy video driver [[default=yes]]
--enable-video-opengl include OpenGL support [[default=yes]] --enable-video-opengl include OpenGL support [[default=yes]]
--enable-video-opengles include OpenGL ES support [[default=yes]] --enable-video-opengles include OpenGL ES support [[default=yes]]
@ -18547,6 +18553,116 @@ $as_echo "#define SDL_AUDIO_DRIVER_SNDIO 1" >>confdefs.h
fi fi
} }
CheckFusionSound()
{
# Check whether --enable-fusionsound was given.
if test "${enable_fusionsound+set}" = set; then :
enableval=$enable_fusionsound;
else
enable_fusionsound=no
fi
if test x$enable_audio = xyes -a x$enable_fusionsound = xyes; then
fusionsound=no
FUSIONSOUND_REQUIRED_VERSION=1.1.1
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PKG_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
case $PKG_CONFIG in
[\\/]* | ?:[\\/]*)
ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
;;
esac
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
if test -n "$PKG_CONFIG"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
$as_echo "$PKG_CONFIG" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FusionSound $FUSIONSOUND_REQUIRED_VERSION support" >&5
$as_echo_n "checking for FusionSound $FUSIONSOUND_REQUIRED_VERSION support... " >&6; }
if test x$PKG_CONFIG != xno; then
if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $FUSIONSOUND_REQUIRED_VERSION fusionsound; then
FUSIONSOUND_CFLAGS=`$PKG_CONFIG --cflags fusionsound`
FUSIONSOUND_LIBS=`$PKG_CONFIG --libs fusionsound`
fusionsound=yes
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $fusionsound" >&5
$as_echo "$fusionsound" >&6; }
if test x$fusionsound = xyes; then
$as_echo "#define SDL_AUDIO_DRIVER_FUSIONSOUND 1" >>confdefs.h
SOURCES="$SOURCES $srcdir/src/audio/fusionsound/*.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS $FUSIONSOUND_CFLAGS"
# Check whether --enable-fusionsound-shared was given.
if test "${enable_fusionsound_shared+set}" = set; then :
enableval=$enable_fusionsound_shared;
else
enable_fusionsound_shared=yes
fi
fusionsound_shared=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FusionSound dynamic loading support" >&5
$as_echo_n "checking for FusionSound dynamic loading support... " >&6; }
if test x$have_loadso != xyes && \
test x$enable_fusionsound_shared = xyes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic fusionsound loading" >&5
$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic fusionsound loading" >&2;}
fi
if test x$have_loadso = xyes && \
test x$enable_fusionsound_shared = xyes; then
cat >>confdefs.h <<_ACEOF
#define SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC "libfusionsound.so"
_ACEOF
fusionsound_shared=yes
SUMMARY_audio="${SUMMARY_audio} fusionsound(dynamic)"
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FUSIONSOUND_LIBS"
SUMMARY_audio="${SUMMARY_audio} fusionsound"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $fusionsound_shared" >&5
$as_echo "$fusionsound_shared" >&6; }
have_audio=yes
fi
fi
}
CheckDiskAudio() CheckDiskAudio()
{ {
# Check whether --enable-diskaudio was given. # Check whether --enable-diskaudio was given.
@ -18583,6 +18699,52 @@ $as_echo "#define SDL_AUDIO_DRIVER_DUMMY 1" >>confdefs.h
fi fi
} }
CheckLibSampleRate()
{
# Check whether --enable-libsamplerate was given.
if test "${enable_libsamplerate+set}" = set; then :
enableval=$enable_libsamplerate;
else
enable_libsamplerate=yes
fi
if test x$enable_libsamplerate = xyes; then
ac_fn_c_check_header_mongrel "$LINENO" "samplerate.h" "ac_cv_header_samplerate_h" "$ac_includes_default"
if test "x$ac_cv_header_samplerate_h" = xyes; then :
have_samplerate_h_hdr=yes
else
have_samplerate_h_hdr=no
fi
if test x$have_samplerate_h_hdr = xyes; then
$as_echo "#define HAVE_LIBSAMPLERATE_H 1" >>confdefs.h
# Check whether --enable-libsamplerate-shared was given.
if test "${enable_libsamplerate_shared+set}" = set; then :
enableval=$enable_libsamplerate_shared;
else
enable_libsamplerate_shared=yes
fi
if test x$enable_libsamplerate_shared = xyes; then
samplerate_lib=`find_lib "libsamplerate.so.*" "" | sed 's/.*\/\(.*\)/\1/; q'`
if test x$samplerate_lib != x; then
echo "-- dynamic samplerate -> $samplerate_lib"
cat >>confdefs.h <<_ACEOF
#define SDL_LIBSAMPLERATE_DYNAMIC "$samplerate_lib"
_ACEOF
fi
fi
fi
fi
}
CheckVisibilityHidden() CheckVisibilityHidden()
{ {
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -fvisibility=hidden option" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -fvisibility=hidden option" >&5
@ -20959,116 +21121,6 @@ $as_echo "$directfb_shared" >&6; }
fi fi
} }
CheckFusionSound()
{
# Check whether --enable-fusionsound was given.
if test "${enable_fusionsound+set}" = set; then :
enableval=$enable_fusionsound;
else
enable_fusionsound=no
fi
if test x$enable_audio = xyes -a x$enable_fusionsound = xyes; then
fusionsound=no
FUSIONSOUND_REQUIRED_VERSION=1.1.1
# Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PKG_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
case $PKG_CONFIG in
[\\/]* | ?:[\\/]*)
ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
;;
esac
fi
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
if test -n "$PKG_CONFIG"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
$as_echo "$PKG_CONFIG" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FusionSound $FUSIONSOUND_REQUIRED_VERSION support" >&5
$as_echo_n "checking for FusionSound $FUSIONSOUND_REQUIRED_VERSION support... " >&6; }
if test x$PKG_CONFIG != xno; then
if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $FUSIONSOUND_REQUIRED_VERSION fusionsound; then
FUSIONSOUND_CFLAGS=`$PKG_CONFIG --cflags fusionsound`
FUSIONSOUND_LIBS=`$PKG_CONFIG --libs fusionsound`
fusionsound=yes
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $fusionsound" >&5
$as_echo "$fusionsound" >&6; }
if test x$fusionsound = xyes; then
$as_echo "#define SDL_AUDIO_DRIVER_FUSIONSOUND 1" >>confdefs.h
SOURCES="$SOURCES $srcdir/src/audio/fusionsound/*.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS $FUSIONSOUND_CFLAGS"
# Check whether --enable-fusionsound-shared was given.
if test "${enable_fusionsound_shared+set}" = set; then :
enableval=$enable_fusionsound_shared;
else
enable_fusionsound_shared=yes
fi
fusionsound_shared=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FusionSound dynamic loading support" >&5
$as_echo_n "checking for FusionSound dynamic loading support... " >&6; }
if test x$have_loadso != xyes && \
test x$enable_fusionsound_shared = xyes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic fusionsound loading" >&5
$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic fusionsound loading" >&2;}
fi
if test x$have_loadso = xyes && \
test x$enable_fusionsound_shared = xyes; then
cat >>confdefs.h <<_ACEOF
#define SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC "libfusionsound.so"
_ACEOF
fusionsound_shared=yes
SUMMARY_audio="${SUMMARY_audio} fusionsound(dynamic)"
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FUSIONSOUND_LIBS"
SUMMARY_audio="${SUMMARY_audio} fusionsound"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $fusionsound_shared" >&5
$as_echo "$fusionsound_shared" >&6; }
have_audio=yes
fi
fi
}
CheckDummyVideo() CheckDummyVideo()
{ {
# Check whether --enable-video-dummy was given. # Check whether --enable-video-dummy was given.
@ -23144,9 +23196,10 @@ case "$host" in
CheckESD CheckESD
CheckNAS CheckNAS
CheckSNDIO CheckSNDIO
CheckFusionSound
CheckLibSampleRate
CheckX11 CheckX11
CheckDirectFB CheckDirectFB
CheckFusionSound
CheckOpenGLX11 CheckOpenGLX11
CheckOpenGLESX11 CheckOpenGLESX11
CheckMir CheckMir

View File

@ -1049,6 +1049,58 @@ AC_HELP_STRING([--enable-sndio-shared], [dynamically load sndio audio support [[
fi fi
} }
dnl Find FusionSound
CheckFusionSound()
{
AC_ARG_ENABLE(fusionsound,
AC_HELP_STRING([--enable-fusionsound], [use FusionSound audio driver [[default=no]]]),
, enable_fusionsound=no)
if test x$enable_audio = xyes -a x$enable_fusionsound = xyes; then
fusionsound=no
FUSIONSOUND_REQUIRED_VERSION=1.1.1
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
AC_MSG_CHECKING(for FusionSound $FUSIONSOUND_REQUIRED_VERSION support)
if test x$PKG_CONFIG != xno; then
if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $FUSIONSOUND_REQUIRED_VERSION fusionsound; then
FUSIONSOUND_CFLAGS=`$PKG_CONFIG --cflags fusionsound`
FUSIONSOUND_LIBS=`$PKG_CONFIG --libs fusionsound`
fusionsound=yes
fi
fi
AC_MSG_RESULT($fusionsound)
if test x$fusionsound = xyes; then
AC_DEFINE(SDL_AUDIO_DRIVER_FUSIONSOUND, 1, [ ])
SOURCES="$SOURCES $srcdir/src/audio/fusionsound/*.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS $FUSIONSOUND_CFLAGS"
AC_ARG_ENABLE(fusionsound-shared,
AC_HELP_STRING([--enable-fusionsound-shared], [dynamically load fusionsound audio support [[default=yes]]]),
, enable_fusionsound_shared=yes)
fusionsound_shared=no
AC_MSG_CHECKING(for FusionSound dynamic loading support)
if test x$have_loadso != xyes && \
test x$enable_fusionsound_shared = xyes; then
AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic fusionsound loading])
fi
if test x$have_loadso = xyes && \
test x$enable_fusionsound_shared = xyes; then
AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC, "libfusionsound.so", [ ])
fusionsound_shared=yes
SUMMARY_audio="${SUMMARY_audio} fusionsound(dynamic)"
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FUSIONSOUND_LIBS"
SUMMARY_audio="${SUMMARY_audio} fusionsound"
fi
AC_MSG_RESULT($fusionsound_shared)
have_audio=yes
fi
fi
}
dnl rcg07142001 See if the user wants the disk writer audio driver... dnl rcg07142001 See if the user wants the disk writer audio driver...
CheckDiskAudio() CheckDiskAudio()
{ {
@ -1075,6 +1127,34 @@ AC_HELP_STRING([--enable-dummyaudio], [support the dummy audio driver [[default=
fi fi
} }
dnl See if libsamplerate is available
CheckLibSampleRate()
{
AC_ARG_ENABLE(libsamplerate,
AC_HELP_STRING([--enable-libsamplerate], [use libsamplerate for audio rate conversion [[default=yes]]]),
, enable_libsamplerate=yes)
if test x$enable_libsamplerate = xyes; then
AC_CHECK_HEADER(samplerate.h,
have_samplerate_h_hdr=yes,
have_samplerate_h_hdr=no)
if test x$have_samplerate_h_hdr = xyes; then
AC_DEFINE(HAVE_LIBSAMPLERATE_H, 1, [ ])
AC_ARG_ENABLE(libsamplerate-shared,
AC_HELP_STRING([--enable-libsamplerate-shared], [dynamically load libsamplerate [[default=yes]]]),
, enable_libsamplerate_shared=yes)
if test x$enable_libsamplerate_shared = xyes; then
samplerate_lib=[`find_lib "libsamplerate.so.*" "" | sed 's/.*\/\(.*\)/\1/; q'`]
if test x$samplerate_lib != x; then
echo "-- dynamic samplerate -> $samplerate_lib"
AC_DEFINE_UNQUOTED(SDL_LIBSAMPLERATE_DYNAMIC, "$samplerate_lib", [ ])
fi
fi
fi
fi
}
dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually). dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually).
dnl Details of this flag are here: http://gcc.gnu.org/wiki/Visibility dnl Details of this flag are here: http://gcc.gnu.org/wiki/Visibility
CheckVisibilityHidden() CheckVisibilityHidden()
@ -1904,58 +1984,6 @@ AC_MSG_WARN("directfb $directfb_lib")
fi fi
} }
dnl Find FusionSound
CheckFusionSound()
{
AC_ARG_ENABLE(fusionsound,
AC_HELP_STRING([--enable-fusionsound], [use FusionSound audio driver [[default=no]]]),
, enable_fusionsound=no)
if test x$enable_audio = xyes -a x$enable_fusionsound = xyes; then
fusionsound=no
FUSIONSOUND_REQUIRED_VERSION=1.1.1
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
AC_MSG_CHECKING(for FusionSound $FUSIONSOUND_REQUIRED_VERSION support)
if test x$PKG_CONFIG != xno; then
if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $FUSIONSOUND_REQUIRED_VERSION fusionsound; then
FUSIONSOUND_CFLAGS=`$PKG_CONFIG --cflags fusionsound`
FUSIONSOUND_LIBS=`$PKG_CONFIG --libs fusionsound`
fusionsound=yes
fi
fi
AC_MSG_RESULT($fusionsound)
if test x$fusionsound = xyes; then
AC_DEFINE(SDL_AUDIO_DRIVER_FUSIONSOUND, 1, [ ])
SOURCES="$SOURCES $srcdir/src/audio/fusionsound/*.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS $FUSIONSOUND_CFLAGS"
AC_ARG_ENABLE(fusionsound-shared,
AC_HELP_STRING([--enable-fusionsound-shared], [dynamically load fusionsound audio support [[default=yes]]]),
, enable_fusionsound_shared=yes)
fusionsound_shared=no
AC_MSG_CHECKING(for FusionSound dynamic loading support)
if test x$have_loadso != xyes && \
test x$enable_fusionsound_shared = xyes; then
AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic fusionsound loading])
fi
if test x$have_loadso = xyes && \
test x$enable_fusionsound_shared = xyes; then
AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC, "libfusionsound.so", [ ])
fusionsound_shared=yes
SUMMARY_audio="${SUMMARY_audio} fusionsound(dynamic)"
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FUSIONSOUND_LIBS"
SUMMARY_audio="${SUMMARY_audio} fusionsound"
fi
AC_MSG_RESULT($fusionsound_shared)
have_audio=yes
fi
fi
}
dnl rcg04172001 Set up the Null video driver. dnl rcg04172001 Set up the Null video driver.
CheckDummyVideo() CheckDummyVideo()
{ {
@ -2968,9 +2996,10 @@ case "$host" in
CheckESD CheckESD
CheckNAS CheckNAS
CheckSNDIO CheckSNDIO
CheckFusionSound
CheckLibSampleRate
CheckX11 CheckX11
CheckDirectFB CheckDirectFB
CheckFusionSound
CheckOpenGLX11 CheckOpenGLX11
CheckOpenGLESX11 CheckOpenGLESX11
CheckMir CheckMir

View File

@ -83,6 +83,7 @@
#cmakedefine HAVE_DBUS_DBUS_H 1 #cmakedefine HAVE_DBUS_DBUS_H 1
#cmakedefine HAVE_IBUS_IBUS_H 1 #cmakedefine HAVE_IBUS_IBUS_H 1
#cmakedefine HAVE_FCITX_FRONTEND_H 1 #cmakedefine HAVE_FCITX_FRONTEND_H 1
#cmakedefine HAVE_LIBSAMPLERATE_H 1
/* C library functions */ /* C library functions */
#cmakedefine HAVE_MALLOC 1 #cmakedefine HAVE_MALLOC 1
@ -358,6 +359,8 @@
#cmakedefine SDL_ASSEMBLY_ROUTINES @SDL_ASSEMBLY_ROUTINES@ #cmakedefine SDL_ASSEMBLY_ROUTINES @SDL_ASSEMBLY_ROUTINES@
#cmakedefine SDL_ALTIVEC_BLITTERS @SDL_ALTIVEC_BLITTERS@ #cmakedefine SDL_ALTIVEC_BLITTERS @SDL_ALTIVEC_BLITTERS@
/* Enable dynamic libsamplerate support */
#cmakedefine SDL_LIBSAMPLERATE_DYNAMIC @SDL_LIBSAMPLERATE_DYNAMIC@
/* Platform specific definitions */ /* Platform specific definitions */
#if !defined(__WIN32__) #if !defined(__WIN32__)

View File

@ -83,6 +83,7 @@
#undef HAVE_DBUS_DBUS_H #undef HAVE_DBUS_DBUS_H
#undef HAVE_IBUS_IBUS_H #undef HAVE_IBUS_IBUS_H
#undef HAVE_FCITX_FRONTEND_H #undef HAVE_FCITX_FRONTEND_H
#undef HAVE_LIBSAMPLERATE_H
/* C library functions */ /* C library functions */
#undef HAVE_MALLOC #undef HAVE_MALLOC
@ -363,4 +364,7 @@
/* Enable dynamic udev support */ /* Enable dynamic udev support */
#undef SDL_UDEV_DYNAMIC #undef SDL_UDEV_DYNAMIC
/* Enable dynamic libsamplerate support */
#undef SDL_LIBSAMPLERATE_DYNAMIC
#endif /* SDL_config_h_ */ #endif /* SDL_config_h_ */

View File

@ -29,7 +29,7 @@
#include "SDL_assert.h" #include "SDL_assert.h"
#include "../SDL_dataqueue.h" #include "../SDL_dataqueue.h"
#ifdef HAVE_LIBSAMPLERATE #if HAVE_LIBSAMPLERATE_H
#include "samplerate.h" #include "samplerate.h"
#endif #endif
@ -633,7 +633,7 @@ struct SDL_AudioStream
SDL_CleanupAudioStreamResamplerFunc cleanup_resampler_func; SDL_CleanupAudioStreamResamplerFunc cleanup_resampler_func;
}; };
#ifdef HAVE_LIBSAMPLERATE #ifdef HAVE_LIBSAMPLERATE_H
typedef struct typedef struct
{ {
@ -651,8 +651,8 @@ typedef struct
static SDL_bool static SDL_bool
LoadLibSampleRate(SDL_AudioStreamResamplerState_SRC *state) LoadLibSampleRate(SDL_AudioStreamResamplerState_SRC *state)
{ {
#ifdef LIBSAMPLERATE_DYNAMIC #ifdef SDL_LIBSAMPLERATE_DYNAMIC
state->SRC_lib = SDL_LoadObject(LIBSAMPLERATE_DYNAMIC); state->SRC_lib = SDL_LoadObject(SDL_LIBSAMPLERATE_DYNAMIC);
if (!state->SRC_lib) { if (!state->SRC_lib) {
return SDL_FALSE; return SDL_FALSE;
} }
@ -676,7 +676,7 @@ SDL_ResampleAudioStream_SRC(SDL_AudioStream *stream, const float *inbuf, const i
SRC_DATA data; SRC_DATA data;
int result; int result;
data.data_in = inbuf; data.data_in = (float *)inbuf; /* Older versions of libsamplerate had a non-const pointer, but didn't write to it */
data.input_frames = inbuflen / ( sizeof(float) * stream->pre_resample_channels ); data.input_frames = inbuflen / ( sizeof(float) * stream->pre_resample_channels );
data.input_frames_used = 0; data.input_frames_used = 0;
@ -752,7 +752,7 @@ SetupLibSampleRateResampling(SDL_AudioStream *stream)
return SDL_TRUE; return SDL_TRUE;
} }
#endif /* HAVE_LIBSAMPLERATE */ #endif /* HAVE_LIBSAMPLERATE_H */
typedef struct typedef struct
{ {
@ -873,7 +873,7 @@ SDL_AudioStream *SDL_NewAudioStream(const SDL_AudioFormat src_format,
return NULL; /* SDL_BuildAudioCVT should have called SDL_SetError. */ return NULL; /* SDL_BuildAudioCVT should have called SDL_SetError. */
} }
#ifdef HAVE_LIBSAMPLERATE #ifdef HAVE_LIBSAMPLERATE_H
SetupLibSampleRateResampling(retval); SetupLibSampleRateResampling(retval);
#endif #endif