jack: Initial shot at a JACK audio target.
http://jackaudio.org/ Fixes Bugzilla #2163. (with several more commits following to improve this code.)
This commit is contained in:
58
configure.in
58
configure.in
@@ -839,6 +839,63 @@ AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [[de
|
||||
fi
|
||||
}
|
||||
|
||||
dnl Find JACK Audio
|
||||
CheckJACK()
|
||||
{
|
||||
AC_ARG_ENABLE(jack,
|
||||
AC_HELP_STRING([--enable-jack], [use JACK audio [[default=yes]]]),
|
||||
, enable_jack=yes)
|
||||
if test x$enable_audio = xyes -a x$enable_jack = xyes; then
|
||||
audio_jack=no
|
||||
|
||||
JACK_REQUIRED_VERSION=0.125
|
||||
|
||||
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
|
||||
AC_MSG_CHECKING(for JACK $JACK_REQUIRED_VERSION support)
|
||||
if test x$PKG_CONFIG != xno; then
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $JACK_REQUIRED_VERSION jack; then
|
||||
JACK_CFLAGS=`$PKG_CONFIG --cflags jack`
|
||||
JACK_LIBS=`$PKG_CONFIG --libs jack`
|
||||
audio_jack=yes
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT($audio_jack)
|
||||
|
||||
if test x$audio_jack = xyes; then
|
||||
AC_ARG_ENABLE(jack-shared,
|
||||
AC_HELP_STRING([--enable-jack-shared], [dynamically load JACK audio support [[default=yes]]]),
|
||||
, enable_jack_shared=yes)
|
||||
jack_lib=[`find_lib "libjack.so.*" "$JACK_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`]
|
||||
|
||||
AC_DEFINE(SDL_AUDIO_DRIVER_JACK, 1, [ ])
|
||||
SOURCES="$SOURCES $srcdir/src/audio/jack/*.c"
|
||||
EXTRA_CFLAGS="$EXTRA_CFLAGS $JACK_CFLAGS"
|
||||
if test x$have_loadso != xyes && \
|
||||
test x$enable_jack_shared = xyes; then
|
||||
AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic JACK audio loading])
|
||||
fi
|
||||
if test x$have_loadso = xyes && \
|
||||
test x$enable_jack_shared = xyes && test x$jack_lib != x; then
|
||||
echo "-- dynamic libjack -> $jack_lib"
|
||||
AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_JACK_DYNAMIC, "$jack_lib", [ ])
|
||||
SUMMARY_audio="${SUMMARY_audio} jack(dynamic)"
|
||||
|
||||
case "$host" in
|
||||
# On Solaris, jack must be linked deferred explicitly
|
||||
# to prevent undefined symbol failures.
|
||||
*-*-solaris*)
|
||||
JACK_LIBS=`echo $JACK_LIBS | sed 's/\-l/-Wl,-l/g'`
|
||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-zdeferred $JACK_LIBS -Wl,-znodeferred"
|
||||
esac
|
||||
else
|
||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $JACK_LIBS"
|
||||
SUMMARY_audio="${SUMMARY_audio} jack"
|
||||
fi
|
||||
have_audio=yes
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
dnl Find the ESD includes and libraries
|
||||
CheckESD()
|
||||
{
|
||||
@@ -3035,6 +3092,7 @@ case "$host" in
|
||||
CheckOSS
|
||||
CheckALSA
|
||||
CheckPulseAudio
|
||||
CheckJACK
|
||||
CheckARTSC
|
||||
CheckESD
|
||||
CheckNAS
|
||||
|
||||
Reference in New Issue
Block a user