Added configure and cmake support for libsamplerate
parent
c5825b698d
commit
df25258a1e
|
@ -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(VIDEO_DIRECTFB "Use DirectFB video driver" 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_OPENGL "Include OpenGL 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_SHARED "Dynamically load NAS 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(CLOCK_GETTIME "Use clock_gettime() instead of gettimeofday()" OFF)
|
||||
set_option(INPUT_TSLIB "Use the Touchscreen library for input" ${UNIX_SYS})
|
||||
|
@ -847,6 +849,7 @@ elseif(UNIX AND NOT APPLE)
|
|||
CheckNAS()
|
||||
CheckSNDIO()
|
||||
CheckFusionSound()
|
||||
CheckLibSampleRate()
|
||||
endif()
|
||||
|
||||
if(SDL_VIDEO)
|
||||
|
|
|
@ -315,6 +315,29 @@ macro(CheckFusionSound)
|
|||
endif()
|
||||
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:
|
||||
# - n/a
|
||||
# Optional:
|
||||
|
|
|
@ -818,8 +818,12 @@ enable_nas
|
|||
enable_nas_shared
|
||||
enable_sndio
|
||||
enable_sndio_shared
|
||||
enable_fusionsound
|
||||
enable_fusionsound_shared
|
||||
enable_diskaudio
|
||||
enable_dummyaudio
|
||||
enable_libsamplerate
|
||||
enable_libsamplerate_shared
|
||||
enable_video_wayland
|
||||
enable_video_wayland_qt_touch
|
||||
enable_wayland_shared
|
||||
|
@ -840,8 +844,6 @@ enable_video_vivante
|
|||
enable_video_cocoa
|
||||
enable_video_directfb
|
||||
enable_directfb_shared
|
||||
enable_fusionsound
|
||||
enable_fusionsound_shared
|
||||
enable_video_dummy
|
||||
enable_video_opengl
|
||||
enable_video_opengles
|
||||
|
@ -1544,8 +1546,16 @@ Optional Features:
|
|||
--enable-nas-shared dynamically load NAS audio support [[default=yes]]
|
||||
--enable-sndio support the sndio audio API [[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-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-qt-touch
|
||||
QtWayland server support for Wayland video driver
|
||||
|
@ -1576,10 +1586,6 @@ Optional Features:
|
|||
--enable-video-directfb use DirectFB video driver [[default=no]]
|
||||
--enable-directfb-shared
|
||||
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-opengl include OpenGL 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
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
# Check whether --enable-diskaudio was given.
|
||||
|
@ -18583,6 +18699,52 @@ $as_echo "#define SDL_AUDIO_DRIVER_DUMMY 1" >>confdefs.h
|
|||
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()
|
||||
{
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC -fvisibility=hidden option" >&5
|
||||
|
@ -20959,116 +21121,6 @@ $as_echo "$directfb_shared" >&6; }
|
|||
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()
|
||||
{
|
||||
# Check whether --enable-video-dummy was given.
|
||||
|
@ -23144,9 +23196,10 @@ case "$host" in
|
|||
CheckESD
|
||||
CheckNAS
|
||||
CheckSNDIO
|
||||
CheckFusionSound
|
||||
CheckLibSampleRate
|
||||
CheckX11
|
||||
CheckDirectFB
|
||||
CheckFusionSound
|
||||
CheckOpenGLX11
|
||||
CheckOpenGLESX11
|
||||
CheckMir
|
||||
|
|
135
configure.in
135
configure.in
|
@ -1049,6 +1049,58 @@ AC_HELP_STRING([--enable-sndio-shared], [dynamically load sndio audio support [[
|
|||
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...
|
||||
CheckDiskAudio()
|
||||
{
|
||||
|
@ -1075,6 +1127,34 @@ AC_HELP_STRING([--enable-dummyaudio], [support the dummy audio driver [[default=
|
|||
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 Details of this flag are here: http://gcc.gnu.org/wiki/Visibility
|
||||
CheckVisibilityHidden()
|
||||
|
@ -1904,58 +1984,6 @@ AC_MSG_WARN("directfb $directfb_lib")
|
|||
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.
|
||||
CheckDummyVideo()
|
||||
{
|
||||
|
@ -2968,9 +2996,10 @@ case "$host" in
|
|||
CheckESD
|
||||
CheckNAS
|
||||
CheckSNDIO
|
||||
CheckFusionSound
|
||||
CheckLibSampleRate
|
||||
CheckX11
|
||||
CheckDirectFB
|
||||
CheckFusionSound
|
||||
CheckOpenGLX11
|
||||
CheckOpenGLESX11
|
||||
CheckMir
|
||||
|
|
|
@ -83,6 +83,7 @@
|
|||
#cmakedefine HAVE_DBUS_DBUS_H 1
|
||||
#cmakedefine HAVE_IBUS_IBUS_H 1
|
||||
#cmakedefine HAVE_FCITX_FRONTEND_H 1
|
||||
#cmakedefine HAVE_LIBSAMPLERATE_H 1
|
||||
|
||||
/* C library functions */
|
||||
#cmakedefine HAVE_MALLOC 1
|
||||
|
@ -358,6 +359,8 @@
|
|||
#cmakedefine SDL_ASSEMBLY_ROUTINES @SDL_ASSEMBLY_ROUTINES@
|
||||
#cmakedefine SDL_ALTIVEC_BLITTERS @SDL_ALTIVEC_BLITTERS@
|
||||
|
||||
/* Enable dynamic libsamplerate support */
|
||||
#cmakedefine SDL_LIBSAMPLERATE_DYNAMIC @SDL_LIBSAMPLERATE_DYNAMIC@
|
||||
|
||||
/* Platform specific definitions */
|
||||
#if !defined(__WIN32__)
|
||||
|
|
|
@ -83,6 +83,7 @@
|
|||
#undef HAVE_DBUS_DBUS_H
|
||||
#undef HAVE_IBUS_IBUS_H
|
||||
#undef HAVE_FCITX_FRONTEND_H
|
||||
#undef HAVE_LIBSAMPLERATE_H
|
||||
|
||||
/* C library functions */
|
||||
#undef HAVE_MALLOC
|
||||
|
@ -363,4 +364,7 @@
|
|||
/* Enable dynamic udev support */
|
||||
#undef SDL_UDEV_DYNAMIC
|
||||
|
||||
/* Enable dynamic libsamplerate support */
|
||||
#undef SDL_LIBSAMPLERATE_DYNAMIC
|
||||
|
||||
#endif /* SDL_config_h_ */
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
#include "SDL_assert.h"
|
||||
#include "../SDL_dataqueue.h"
|
||||
|
||||
#ifdef HAVE_LIBSAMPLERATE
|
||||
#if HAVE_LIBSAMPLERATE_H
|
||||
#include "samplerate.h"
|
||||
#endif
|
||||
|
||||
|
@ -633,7 +633,7 @@ struct SDL_AudioStream
|
|||
SDL_CleanupAudioStreamResamplerFunc cleanup_resampler_func;
|
||||
};
|
||||
|
||||
#ifdef HAVE_LIBSAMPLERATE
|
||||
#ifdef HAVE_LIBSAMPLERATE_H
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
@ -651,8 +651,8 @@ typedef struct
|
|||
static SDL_bool
|
||||
LoadLibSampleRate(SDL_AudioStreamResamplerState_SRC *state)
|
||||
{
|
||||
#ifdef LIBSAMPLERATE_DYNAMIC
|
||||
state->SRC_lib = SDL_LoadObject(LIBSAMPLERATE_DYNAMIC);
|
||||
#ifdef SDL_LIBSAMPLERATE_DYNAMIC
|
||||
state->SRC_lib = SDL_LoadObject(SDL_LIBSAMPLERATE_DYNAMIC);
|
||||
if (!state->SRC_lib) {
|
||||
return SDL_FALSE;
|
||||
}
|
||||
|
@ -676,7 +676,7 @@ SDL_ResampleAudioStream_SRC(SDL_AudioStream *stream, const float *inbuf, const i
|
|||
SRC_DATA data;
|
||||
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_used = 0;
|
||||
|
||||
|
@ -752,7 +752,7 @@ SetupLibSampleRateResampling(SDL_AudioStream *stream)
|
|||
return SDL_TRUE;
|
||||
}
|
||||
|
||||
#endif /* HAVE_LIBSAMPLERATE */
|
||||
#endif /* HAVE_LIBSAMPLERATE_H */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
@ -873,7 +873,7 @@ SDL_AudioStream *SDL_NewAudioStream(const SDL_AudioFormat src_format,
|
|||
return NULL; /* SDL_BuildAudioCVT should have called SDL_SetError. */
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBSAMPLERATE
|
||||
#ifdef HAVE_LIBSAMPLERATE_H
|
||||
SetupLibSampleRateResampling(retval);
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue