You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
akode/akode/configure.in.in

504 lines
14 KiB

dnl don't remove the below
dnl AC_OUTPUT(akode/akode-config)
AC_CONFIG_HEADER(akode/lib/akode_export.h)
AC_DEFUN([AC_CHECK_LIBFLAC],
[
AC_LANG_SAVE
AC_LANG_C
have_libFLAC=no
KDE_CHECK_HEADER(FLAC/seekable_stream_decoder.h,
[
KDE_CHECK_LIB(FLAC,FLAC__seekable_stream_decoder_process_single,
have_libFLAC=yes)
])
if test "x$have_libFLAC" = "xyes"; then
LIBFLAC="-lFLAC"
AC_DEFINE(HAVE_LIBFLAC, 1,
[Define if you have libFLAC 1.1.1 or 1.1.2])
fi
AC_SUBST(LIBFLAC)
AC_LANG_RESTORE
])
AC_DEFUN([AC_CHECK_LIBFLAC113],
[
AC_LANG_SAVE
AC_LANG_C
have_libFLAC=no
KDE_CHECK_HEADER(FLAC/metadata.h,
[
KDE_CHECK_LIB(FLAC,FLAC__stream_decoder_seek_absolute,
have_libFLAC=yes,,[-lFLAC -logg])
])
if test "x$have_libFLAC" = "xyes"; then
LIBFLAC="-lFLAC -logg"
AC_DEFINE(HAVE_LIBFLAC113, 1,
[Define if you have libFLAC 1.1.3])
fi
AC_SUBST(LIBFLAC)
AC_LANG_RESTORE
])
AC_DEFUN([AC_CHECK_LIBOGGFLAC],
[
AC_LANG_SAVE
AC_LANG_C
have_libOggFLAC=no
KDE_CHECK_HEADER(OggFLAC/seekable_stream_decoder.h,
[
KDE_CHECK_LIB(OggFLAC,OggFLAC__seekable_stream_decoder_process_single,
have_libOggFLAC=yes,,[-lm -lOggFLAC -lFLAC])
])
if test "x$have_libOggFLAC" = "xyes"; then
LIBOGGFLAC="-lOggFLAC"
AC_DEFINE(HAVE_LIBOGGFLAC, 1,
[Define if you have libOggFLAC (required for loading OggFLAC files)])
fi
AC_SUBST(LIBOGGFLAC)
AC_LANG_RESTORE
])
AC_DEFUN([KDE_CHECK_OGGVORBIS],
[
have_oggvorbis=yes
KDE_CHECK_LIB(ogg, ogg_page_version,
[:], [have_oggvorbis=no])
KDE_CHECK_HEADER(vorbis/vorbisfile.h,
[:], [have_oggvorbis=no])
KDE_CHECK_LIB(vorbis, vorbis_info_init,
[:], [have_oggvorbis=no], -logg)
KDE_CHECK_LIB(vorbisfile, ov_open,
[:], [have_oggvorbis=no], -lvorbis -logg)
if test "x$have_oggvorbis" = xyes; then
VORBIS_LIBS="-lvorbis -logg"
VORBISFILE_LIBS="-lvorbisfile"
# for akode/plugins/xiph_decoder/
AC_DEFINE_UNQUOTED(HAVE_OGG_VORBIS, 1, [Define if you have ogg/vorbis installed])
fi
AC_SUBST(VORBIS_LIBS)
AC_SUBST(VORBISFILE_LIBS)
])
AC_DEFUN([KDE_CHECK_SEM],
[
have_sem=no
AC_CHECK_HEADERS([semaphore.h],
[have_sem=yes])
dnl Solaris requires -lrt
AC_CHECK_LIB(rt, sem_init, [LIBSEM="-lrt"])
AC_SUBST(LIBSEM)
])
AC_DEFUN([KDE_CHECK_OSS],
[
have_oss=no
AC_CHECK_HEADERS([soundcard.h sys/soundcard.h],
[have_oss=yes])
dnl OpenBSD requires an -lossaudio and soundcard.h to provide OSS audio I/O
AC_CHECK_LIB(ossaudio, _oss_ioctl, [LIBOSSAUDIO="-lossaudio"])
AC_SUBST(LIBOSSAUDIO)
])
AC_DEFUN([KDE_CHECK_SUN],
[
have_sun=no
AC_CHECK_HEADERS([sys/audioio.h], [have_sun=yes])
])
AC_DEFUN([KDE_CHECK_ALSA],
[
PKG_CHECK_MODULES([ALSA], [alsa >= 0.9], [have_alsa=yes], [have_alsa=no])
if test "x$have_alsa" = "xyes"; then
AC_DEFINE(HAVE_LIBASOUND2, 1, [Define if you have libasound.so.2 (required for ALSA 0.9.x/1.x support)])
fi
])
AC_ARG_WITH(flac,AC_HELP_STRING([--with-flac],[Enable FLAC support @<:@default=check@:>@]),[flac_test="$withval"],[flac_test="yes"])
if test "x$flac_test" = "xyes" ; then
AC_CHECK_LIBFLAC113
if test "x$have_libFLAC" = "xno"; then
AC_CHECK_LIBFLAC
AC_CHECK_LIBOGGFLAC
fi
fi
AC_ARG_WITH(speex,AC_HELP_STRING([--with-speex],[Enable speex support @<:@default=check@:>@]),[speex_test="$withval"],[speex_test="yes"])
if test "x$speex_test" = "xyes" ; then
AC_MSG_CHECKING(for speex headers)
have_libspeex=no
kde_save_akode_cflags="$CFLAGS"
kde_save_akode_libs="$LIBS"
LIBS="$all_libraries $USER_LDFLAGS"
CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
AC_TRY_COMPILE([
#include <speex.h>
#include <speex_callbacks.h>
#include <ogg/ogg.h>
],[
],[
have_libspeex=yes
])
AC_MSG_RESULT($have_libspeex)
if test x$have_libspeex = xyes; then
KDE_CHECK_LIB(speex,speex_decoder_ctl,,
have_libspeex=no,[-lspeex -logg])
fi
CFLAGS="$kde_save_akode_cflags"
LIBS="$kde_save_akode_libs"
AC_MSG_CHECKING(for speex11 headers)
have_libspeex11=no
kde_save_akode_cflags="$CFLAGS"
kde_save_akode_libs="$LIBS"
LIBS="$all_libraries $USER_LDFLAGS"
CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
AC_TRY_COMPILE([
#include <speex.h>
#include <speex_callbacks.h>
#include <speex_echo.h>
#include <speex_preprocess.h>
#include <ogg/ogg.h>
],[
],[
have_libspeex11=yes
])
AC_MSG_RESULT($have_libspeex11)
if test x$have_libspeex11 = xyes; then
KDE_CHECK_LIB(speex,speex_decode_int,,
broken_libspeex11=yes,[-lspeex -logg])
fi
if test x$have_libspeex = xyes; then
AC_DEFINE(HAVE_SPEEX,1,[Define if you have speex installed])
SPEEXLIBS="-lspeex -logg"
fi
CFLAGS="$kde_save_akode_cflags"
LIBS="$kde_save_akode_libs"
AC_SUBST(SPEEXLIBS)
if test x$have_libspeex11 = xyes; then
AC_DEFINE(HAVE_SPEEX11,1,[Define if you have libspeex 1.1.x installed])
if test x$broken_libspeex11 = xyes; then
AC_DEFINE(BROKEN_SPEEX11,1,[Define if you have one of the broken libspeex 1.1.x < 1.1.5])
fi
fi
fi
AC_ARG_WITH(libmad,AC_HELP_STRING([--with-libmad],[Enable libmad support @<:@default=check@:>@]),[libmad_test="$withval"],[libmad_test="yes"])
if test "x$libmad_test" = "xyes" ; then
AC_MSG_CHECKING(for MADlib header)
have_libMAD=no
kde_save_akode_cflags="$CFLAGS"
kde_save_akode_libs="$LIBS"
LIBS="$all_libraries $USER_LDFLAGS"
CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
AC_TRY_COMPILE([
#include <mad.h>
],[
],[
have_libMAD=yes
])
AC_MSG_RESULT($have_libMAD)
if test x$have_libMAD = xyes; then
KDE_CHECK_LIB(mad,mad_decoder_run,MAD_lib=yes,
have_libMAD=no,[-lmad])
fi
if test x$have_libMAD = xyes; then
AC_DEFINE(HAVE_MAD,1,[Define if you have MADlib installed])
MADLIBS="-lmad"
fi
CFLAGS="$kde_save_akode_cflags"
LIBS="$kde_save_akode_libs"
AC_SUBST(MADLIBS)
fi
AC_ARG_WITH(libsamplerate,AC_HELP_STRING([--with-libsamplerate],[Enable libsamplerate support @<:@default=check@:>@]),[libsamplerate_test="$withval"],[libsamplerate_test="yes"])
if test "x$libsamplerate_test" = "xyes" ; then
LIBSAMPLERATE=""
KDE_CHECK_HEADERS(samplerate.h, [
KDE_CHECK_LIB(samplerate, src_simple, [
have_libsamplerate=yes
LIBSAMPLERATE="-lsamplerate"
AC_DEFINE(HAVE_LIBSAMPLERATE,1,[defined if you have libsamplerate library and header])
])
])
AC_SUBST(LIBSAMPLERATE)
fi
dnl Check for pkg-config
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
AC_ARG_WITH(jack,AC_HELP_STRING([--with-jack],[Enable Jack Audio Connection Kit support @<:@default=check@:>@]),[jack_test="$withval"],[jack_test="yes"])
if test "x$jack_test" = "xyes" ; then
AC_MSG_CHECKING(for Jack Audio Connection Kit)
if $PKG_CONFIG --atleast-version 0.90 jack >/dev/null 2>&1 ; then
JACK_CFLAGS="`$PKG_CONFIG --cflags jack`"
JACK_LIBADD="`$PKG_CONFIG --libs-only-l jack`"
JACK_LDFLAGS="`$PKG_CONFIG --libs-only-L jack`"
have_jack=yes
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LIBJACK, 1,
[Define if you have libjack (required if you want Jack support)])
else
AC_MSG_RESULT(not installed)
fi
AC_SUBST(JACK_CFLAGS)
AC_SUBST(JACK_LIBADD)
AC_SUBST(JACK_LDFLAGS)
fi
AC_ARG_WITH(pulseaudio,AC_HELP_STRING([--with-pulseaudio],[Enable PulseAudio server support @<:@default=check@:>@]),[pulseaudio_test="$withval"],[pulseaudio_test="yes"])
if test "x$pulseaudio_test" = "xyes" ; then
AC_MSG_CHECKING(for pulseaudio 0.9.2 or later)
if $PKG_CONFIG --atleast-version 0.9.2 libpulse-simple >/dev/null 2>&1 ; then
PULSE_CFLAGS="`$PKG_CONFIG --cflags libpulse-simple`"
PULSE_LIBADD="`$PKG_CONFIG --libs-only-l libpulse-simple`"
PULSE_LDFLAGS="`$PKG_CONFIG --libs-only-L libpulse-simple`"
have_pulse=yes
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LIBPULSE, 1,
[Define if you have libpulse (required if you want PulseAudio server support)])
else
AC_MSG_RESULT(not installed)
fi
AC_SUBST(PULSE_CFLAGS)
AC_SUBST(PULSE_LIBADD)
AC_SUBST(PULSE_LDFLAGS)
fi
AC_ARG_WITH(ffmpeg,AC_HELP_STRING([--with-ffmpeg],[Enable experimental FFMPEG decoder support @<:@default=check@:>@]),[ffmpeg_test="$withval"],[ffmpeg_test="yes"])
if test "x$ffmpeg_test" = "xyes" ; then
AC_MSG_CHECKING(for FFMPEG 0.5.0 or later)
if $PKG_CONFIG --atleast-version 50 libavformat >/dev/null 2>&1 ; then
if $PKG_CONFIG --atleast-version 50 libavcodec >/dev/null 2>&1 ; then
AVFORMAT_CFLAGS="`$PKG_CONFIG --cflags libavformat`"
AVCODEC_CFLAGS="`$PKG_CONFIG --cflags libavcodec`"
AVFORMAT_LIBADD="`$PKG_CONFIG --libs-only-l libavformat`"
AVCODEC_LIBADD="`$PKG_CONFIG --libs-only-l libavcodec`"
AVFORMAT_LDFLAGS="`$PKG_CONFIG --libs-only-L libavformat`"
AVCODEC_LDFLAGS="`$PKG_CONFIG --libs-only-L libavcodec`"
have_ffmpeg=yes
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_FFMPEG, 1,
[Define if you have libavcodec and libavformat from FFMPEG (required for WMA and RealAudio decoding)])
else
AC_MSG_RESULT(not installed)
fi
else
AC_MSG_RESULT(not installed)
fi
AC_SUBST(AVCODEC_CFLAGS)
AC_SUBST(AVCODEC_LIBADD)
AC_SUBST(AVCODEC_LDFLAGS)
AC_SUBST(AVFORMAT_CFLAGS)
AC_SUBST(AVFORMAT_LIBADD)
AC_SUBST(AVFORMAT_LDFLAGS)
fi
AKODE_LIBDL=-ldl
AC_ARG_WITH(
libltdl,
AC_HELP_STRING([--without-libltdl],
[Use libdl to load akode-plugins @<:@default=use libltdl@:>@]),
[libltdl_test="$withval"],
[libltdl_test="yes"])
have_libltdl=no
if test x$libltdl_test = xyes; then
KDE_CHECK_HEADERS(ltdl.h, [
KDE_CHECK_LIB(ltdl, lt_dlopen, [
have_libltdl=yes
AKODE_LIBDL="-lltdl"
AC_DEFINE(HAVE_LIBLTDL,1,[defined if you have libltdl library and header])
])
])
fi
if test "yes" = "$have_libltdl" ; then
# Do nothing, since we've already called CHECK_LIB
:
else
KDE_CHECK_LIB(dl, dlopen,
[],[
AKODE_LIBDL=""
DO_NOT_COMPILE="akode $DO_NOT_COMPILE"
]
)
fi
AC_SUBST(AKODE_LIBDL)
KDE_CHECK_LIBPTHREAD
KDE_CHECK_SEM
AC_CHECK_LIB(c, posix_madvise, have_posix_madvise=yes)
AC_CHECK_LIB(c, posix_fadvise, have_posix_fadvise=yes)
AC_CHECK_LIB(c, madvise, have_madvise=yes)
AC_CHECK_LIB(c, fadvise, have_fadvise=yes)
if test x$have_madvise = xyes; then
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([if madvise needs prototype])
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/mman.h>
],[
::madvise((char*)0,0, MADV_SEQUENTIAL);
],[
madvise_needs_prototype=no
AC_MSG_RESULT(no)
],[
madvise_needs_prototype=yes
AC_MSG_RESULT(yes)
])
AC_LANG_RESTORE
AC_DEFINE(HAVE_MADVISE,1,[Define if your platform has madvise])
if test x$madvise_needs_prototype = xyes; then
AC_DEFINE(NEED_MADVISE_PROTOTYPE,1,[Define if madvise has no usefull prototype])
fi
fi
if test x$have_fadvise = xyes; then
AC_DEFINE(HAVE_FADVISE,1,[Define if your platform has fadvise])
fi
if test x$have_posix_madvise = xyes; then
AC_DEFINE(HAVE_POSIX_MADVISE,1,[Define if your platform has posix_madvise])
fi
if test x$have_posix_fadvise = xyes; then
AC_DEFINE(HAVE_POSIX_FADVISE,1,[Define if your platform has posix_fadvise])
fi
AC_CHECK_HEADERS(getopt.h, have_getopt_h=yes)
if test x$have_getopt_h = xyes; then
AC_CHECK_LIB(c, getopt_long, have_gnu_getopt=yes)
if test x$have_gnu_getopt = xyes; then
AC_DEFINE(HAVE_GNU_GETOPT,1,[Define if your platform has getopt_long from glibc])
fi
fi
#AC_CHECK_HEADERS(features.h, have_features_h=yes)
#
#if test x$have_features_h=xyes; then
# AC_DEFINE(HAVE_FEATURES_H, 1, [Define if your platform has the features.h header])
#fi
#AC_ARG_ENABLE(akodelib,
# [ --enable-akodelib Compile and install akodelib and akode_artsplugin (default yes)], enable_akodelib="$enableval",enable_akodelib=no)
AM_CONDITIONAL(include_mpeg_decoder, test x$have_libMAD = xyes)
AC_ARG_WITH(oss,
[AS_HELP_STRING(--with-oss,
[enable support for OSS output @<:@default=check@:>@])],
[], with_oss=check)
if test "x$with_oss" != xno; then
KDE_CHECK_OSS
if test "x$with_oss" != xcheck && test "x$have_oss" != xyes; then
AC_MSG_FAILURE([--with-oss was given, but test for oss failed])
fi
fi
AC_ARG_WITH(sun,
[AS_HELP_STRING(--with-sun,
[enable support for Sun Audio output @<:@default=check@:>@])],
[], with_sun=check)
if test "x$with_sun" != xno; then
KDE_CHECK_SUN
if test "x$with_sun" != xcheck && test "x$have_sun" != xyes; then
AC_MSG_FAILURE([--with-sun was given, but test for Sun Audio failed])
fi
fi
AC_ARG_WITH(alsa,
[AS_HELP_STRING(--with-alsa,
[enable support for ALSA output @<:@default=check@:>@])],
[], with_alsa=check)
have_alsa=no
if test "x$with_alsa" != xno; then
KDE_CHECK_ALSA
if test "x$with_alsa" != xcheck && test "x$have_alsa" != xyes; then
AC_MSG_FAILURE([--with-alsa was given, but test for ALSA failed])
fi
fi
AC_ARG_WITH(vorbis,
[AS_HELP_STRING(--with-vorbis,
[enable support for Ogg Vorbis @<:@default=check@:>@])],
[], with_vorbis=check)
have_oggvorbis=no
if test "x$with_vorbis" != xno; then
KDE_CHECK_OGGVORBIS
if test "x$with_vorbis" != xcheck && test "x$have_oggvorbis" != xyes; then
AC_MSG_FAILURE([--with-vorbis was given, but test for Ogg Vorbis failed])
fi
fi
usefull_xiph_decoder=yes
if test x$have_libFLAC$have_libOggFLAC$have_oggvorbis$have_libspeex = xnononono; then
usefull_xiph_decoder=no
fi
AM_CONDITIONAL(include_xiph_decoder, test x$usefull_xiph_decoder = xyes)
AM_CONDITIONAL(include_src_resampler, test x$have_libsamplerate = xyes)
AM_CONDITIONAL(include_alsa_sink, test x$have_alsa = xyes)
AM_CONDITIONAL(include_oss_sink, test x$have_oss = xyes)
AM_CONDITIONAL(include_sun_sink, test x$have_sun = xyes)
AM_CONDITIONAL(include_jack_sink, test x$have_jack = xyes)
AM_CONDITIONAL(include_pulse_sink, test x$have_pulse = xyes)
AM_CONDITIONAL(include_ffmpeg_decoder, test x$have_ffmpeg = xyes)
AC_MSG_CHECKING(for compilable aKode)
COMPILE_AKODE=yes
if test x$have_PTHREAD = xno; then
COMPILE_AKODE=no
fi
AC_MSG_RESULT($COMPILE_AKODE)
if test "x$COMPILE_AKODE" = "xno"; then
DO_NOT_COMPILE="$DO_NOT_COMPILE akode"
fi
#if test "x$COMPILE_AKODE$enable_akodelib" = "xyesno"; then
#DO_NOT_COMPILE="$DO_NOT_COMPILE akode"
#fi