1487 lines
39 KiB
Plaintext
1487 lines
39 KiB
Plaintext
dnl ---
|
|
dnl configure.in for ecasound
|
|
dnl
|
|
dnl Many of the tests and macros in this file have been borrowed from
|
|
dnl other GPL-licensed packages (Alsaplayer, ALSA, SIP, PyQt,
|
|
dnl kpackage, etc, etc).
|
|
dnl
|
|
dnl refs:
|
|
dnl - http://www.gnu.org/software/autoconf/manual/
|
|
dnl - http://www.gnu.org/software/automake/manual/
|
|
dnl - http://www.gnu.org/software/libtool/manual/
|
|
dnl ---
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Initialize autoconf and automake
|
|
dnl ---
|
|
AC_INIT([ecasound], [2.7.2])
|
|
AC_PREREQ(2.50)
|
|
AC_CONFIG_SRCDIR([libecasound/audiofx.h])
|
|
AM_INIT_AUTOMAKE([1.6.1])
|
|
|
|
dnl FIXME: replace with AC_CONFIG_HEADERS when upgrading to a newer automake
|
|
AM_CONFIG_HEADER([config.h])
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
echo "------------------------------------------------------------------"
|
|
echo "1. Section: Basic setup"
|
|
echo "------------------------------------------------------------------"
|
|
|
|
dnl ---
|
|
dnl Set library interface version numbers
|
|
dnl
|
|
dnl defines: LIBECASOUND_VERSION, LIBECASOUNDC_VERSION, LIBKVUTILS_VERSION
|
|
dnl ---
|
|
|
|
LIBECASOUND_VERSION=22
|
|
LIBECASOUND_VERSION_AGE=0
|
|
LIBECASOUNDC_VERSION=2
|
|
LIBECASOUNDC_VERSION_AGE=1
|
|
LIBKVUTILS_VERSION=9
|
|
LIBKVUTILS_VERSION_AGE=5
|
|
|
|
AC_SUBST(LIBECASOUND_VERSION)
|
|
AC_SUBST(LIBECASOUND_VERSION_AGE)
|
|
AC_SUBST(LIBECASOUNDC_VERSION)
|
|
AC_SUBST(LIBECASOUNDC_VERSION_AGE)
|
|
AC_SUBST(LIBKVUTILS_VERSION)
|
|
AC_SUBST(LIBKVUTILS_VERSION_AGE)
|
|
|
|
AC_DEFINE_UNQUOTED([LIBECASOUND_VERSION], ${LIBECASOUND_VERSION}, [libecasound interface version])
|
|
AC_DEFINE_UNQUOTED([LIBECASOUND_VERSION_AGE], ${LIBECASOUND_VERSION_AGE}, [libecasound interface age])
|
|
AC_DEFINE_UNQUOTED([LIBECASOUNDC_VERSION], ${LIBECASOUNDC_VERSION}, [libecasoundc interface version])
|
|
AC_DEFINE_UNQUOTED([LIBKVUTILS_VERSION], ${LIBKVUTILS_VERSION}, [libkvutils interface version])
|
|
AC_DEFINE_UNQUOTED([LIBKVUTILS_VERSION_AGE], ${LIBKVUTILS_VERSION_AGE}, [libkvutils interface age])
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl --
|
|
dnl Initialize default flags
|
|
dnl --
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AC_PROG_CPP
|
|
AC_LANG_CPLUSPLUS
|
|
AC_CANONICAL_HOST
|
|
|
|
dnl ---
|
|
dnl Set compiler flags
|
|
dnl
|
|
dnl AM_xxx flags are global flags that are always utilized
|
|
dnl for compiling and linking.
|
|
dnl
|
|
dnl It is possible to add custom options by adding them
|
|
dnl to the CPPFLAGS/CFLAGS/CXXFLAGS/LDFLAGS shell variables
|
|
dnl when invoking the configure script. It is not possible
|
|
dnl to override AM_xxx flags.
|
|
dnl
|
|
dnl modifies: AM_CXXFLAGS, AM_CFLAGS
|
|
dnl ---
|
|
EXTRACPPFLAGS="-D_REENTRANT -D_XOPEN_SOURCE=500"
|
|
EXTRAGCCFLAGS="-ffast-math -fstrict-aliasing"
|
|
if test x${GXX} = xyes; then
|
|
AM_CXXFLAGS="$AM_CXXFLAGS $EXTRAGCCFLAGS"
|
|
fi
|
|
if test x${GCC} = xyes; then
|
|
AM_CFLAGS="$AM_CFLAGS $EXTRAGCCFLAGS"
|
|
fi
|
|
AM_CPPFLAGS="$AM_CPPFLAGS $EXTRACPPFLAGS"
|
|
|
|
AC_SUBST(AM_CFLAGS)
|
|
AC_SUBST(AM_CXXFLAGS)
|
|
AC_SUBST(AM_CPPFLAGS)
|
|
AC_SUBST(AM_LDFLAGS)
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Sets up default values
|
|
dnl ---
|
|
|
|
dnl Selected the Python ECI implementation.
|
|
eca_platform_python_impl="python"
|
|
|
|
dnl All components required by ecasound curses are found
|
|
eca_platform_curses_support="yes"
|
|
|
|
dnl ---
|
|
dnl Sets up some operating system specific options
|
|
dnl
|
|
dnl modifies: AM_CXXFLAGS, AM_CFLAGS, AM_CPPFLAGS, AM_LIBS
|
|
dnl ---
|
|
|
|
case "$host" in
|
|
*-*-openbsd*)
|
|
AM_CFLAGS="$AM_CFLAGS -pthread"
|
|
AM_CXXFLAGS="$AM_CXXFLAGS -pthread"
|
|
echo "Setting OpenBSD compilation options for POSIX threads"
|
|
;;
|
|
*-*-freebsd*)
|
|
AM_CFLAGS="$AM_CFLAGS -pthread"
|
|
AM_CPPFLAGS="$AM_CPPFLAGS -D_THREAD_SAFE -D_P1003_1B_VISIBLE"
|
|
AM_CXXFLAGS="$AM_CXXFLAGS -pthread"
|
|
echo "Setting FreeBSD compilation options for POSIX threads"
|
|
;;
|
|
*-*-solaris*)
|
|
AM_CPPFLAGS="$AM_CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS"
|
|
LIBS="$LIBS -lposix4 -lpthread"
|
|
echo "Setting Solaris compilation options for POSIX threads"
|
|
if test x$CXX = xCC; then
|
|
LIBS="$LIBS -mt"
|
|
AM_CXXFLAGS="$AM_CXXFLAGS -instances=static"
|
|
echo "Sun Workshop C++ compiler detected. Enabling static template instantation."
|
|
fi
|
|
;;
|
|
*-*-linux-gnu)
|
|
eca_platform_python_impl="c"
|
|
;;
|
|
alpha*-*-linux-*)
|
|
AM_CFLAGS="$AM_CFLAGS -mieee"
|
|
AM_CXXFLAGS="$AM_CXXFLAGS -mieee"
|
|
echo "Enabling fully IEEE compliant floating-point code generation on Alpha."
|
|
;;
|
|
*darwin*)
|
|
if test "$GCC" = yes; then
|
|
AM_CPPFLAGS="$AM_CPPFLAGS -D_P1003_1B_VISIBLE"
|
|
fi
|
|
;;
|
|
*)
|
|
echo "Using generic settings for POSIX thread support."
|
|
;;
|
|
esac
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check pthread and rt support
|
|
dnl ---
|
|
|
|
dnl switch to C while testing for pthread support
|
|
AC_LANG_C
|
|
AC_SEARCH_LIBS(pthread_create, pthread c_r,,
|
|
AC_MSG_ERROR([** POSIX.4 threads not installed or broken **]))
|
|
AC_SEARCH_LIBS(clock_gettime, rt)
|
|
dnl switch back to C++
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
echo "------------------------------------------------------------------"
|
|
echo "2. Section: Options for the configure script"
|
|
echo "------------------------------------------------------------------"
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check whether to enable debugging
|
|
dnl
|
|
dnl defines: ECA_AM_DEBUG_MODE
|
|
dnl modifies: AM_CXXFLAGS, AM_CFLAGS
|
|
dnl ---
|
|
|
|
AC_MSG_CHECKING(whether to enable debugging)
|
|
AC_ARG_ENABLE(debug,
|
|
[ --enable-debug Enable debugging (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
include_debug=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
include_debug=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-debug: $enableval])
|
|
;;
|
|
esac
|
|
]
|
|
|
|
)
|
|
AM_CONDITIONAL(ECA_AM_DEBUG_MODE, test x$include_debug = xyes)
|
|
if test x$include_debug = xyes; then
|
|
EXTRADEBUGFLAGS="-Wall -O"
|
|
AC_DEFINE([ECA_DEBUG_MODE], 1, [debugging mode build])
|
|
else
|
|
EXTRADEBUGFLAGS="-DNDEBUG"
|
|
fi
|
|
AM_CXXFLAGS="$AM_CXXFLAGS $EXTRADEBUGFLAGS"
|
|
AM_CFLAGS="$AM_CFLAGS $EXTRADEBUGFLAGS"
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check for experimental mode
|
|
dnl
|
|
dnl defines: ECA_FEELING_EXPERIMENTAL, ECA_AM_FEELING_EXPERIMENTAL
|
|
dnl ---
|
|
AC_ARG_ENABLE(experimental,
|
|
[ --enable-experimental Enable experimental code (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
experimental=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
experimental=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-experimental: $enableval])
|
|
;;
|
|
esac
|
|
])
|
|
if test x$experimental = xyes; then
|
|
AC_DEFINE([ECA_FEELING_EXPERIMENTAL], 1, [enable experimental features])
|
|
fi
|
|
AM_CONDITIONAL(ECA_AM_FEELING_EXPERIMENTAL, test x$experimental = xyes)
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Sets the ecasound prefix variable
|
|
dnl
|
|
dnl defines: ECA_PREFIX, ECA_S_PREFIX
|
|
dnl ---
|
|
|
|
dnl Define ecaprefix, prefer user-specified prefix if given
|
|
if test "x${prefix}" = "xNONE"; then
|
|
ecaprefix=${ac_default_prefix}
|
|
else
|
|
ecaprefix=${prefix}
|
|
fi
|
|
ECA_S_PREFIX=${ecaprefix}
|
|
|
|
AC_SUBST(ECA_S_PREFIX)
|
|
AC_DEFINE_UNQUOTED([ECA_PREFIX], "${ecaprefix}", [Ecasound configure script prefix])
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check whether to enable design-by-contract assertations
|
|
dnl
|
|
dnl modifies: AM_CXXFLAGS, AM_CFLAGS
|
|
dnl ---
|
|
|
|
AC_MSG_CHECKING(whether to check design-by-contract assertions)
|
|
enable_dbc_d=yes
|
|
AC_ARG_ENABLE(dbc,
|
|
[ --disable-dbc Don't check design-by-contract assertions (default = check)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
enable_dbc_d=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
enable_dbc_d=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-dbc: $enableval])
|
|
;;
|
|
esac
|
|
],[
|
|
AC_MSG_RESULT(yes)
|
|
]
|
|
)
|
|
if test x$enable_dbc_d = xyes; then
|
|
AM_CXXFLAGS="$AM_CXXFLAGS -DENABLE_DBC"
|
|
AM_CFLAGS="$AM_CFLAGS -DENABLE_DBC"
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check whether to disable effects
|
|
dnl
|
|
dnl defines: ECA_AM_DISABLE_EFFECTS, ECA_DISABLE_EFFECTS
|
|
dnl ---
|
|
|
|
AC_MSG_CHECKING(whether to enable effects)
|
|
AC_ARG_ENABLE(effects,
|
|
[ --disable-effects Disable effects (default = no)],
|
|
[
|
|
echo "Enableval: ${enableval}."
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
enable_effects_d=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
enable_effects_d=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-effects: $enableval])
|
|
;;
|
|
esac
|
|
],[
|
|
AC_MSG_RESULT(yes)
|
|
enable_effects_d=yes
|
|
]
|
|
)
|
|
AM_CONDITIONAL(ECA_AM_DISABLE_EFFECTS, test x$enable_effects_d = xno)
|
|
if test x$enable_effects_d = xno; then
|
|
AC_DEFINE([ECA_DISABLE_EFFECTS], 1, [disable all effects])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check for extra compile flags
|
|
dnl
|
|
dnl modifies: ECA_S_EXTRA_CPPFLAGS, ECA_S_EXTRA_LIBS
|
|
dnl ---
|
|
|
|
AC_ARG_WITH(extra-cppflags,
|
|
[ --with-extra-cppflags=FLAGS pass extra flags to cpp ],
|
|
[
|
|
ECA_S_EXTRA_CPPFLAGS="${ECA_S_EXTRA_CPPFLAGS} ${withval}"
|
|
])
|
|
AC_ARG_WITH(extra-libs,
|
|
[ --with-extra-libs=FLAGS pass extra flags to linker ],
|
|
[
|
|
ECA_S_EXTRA_LIBS="${ECA_S_EXTRA_LIBS} ${withval}"
|
|
])
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check for LFS (--with-largefile, --disable-largefile
|
|
dnl
|
|
dnl NOTE: AC_CHECK_LARGEFILE is defined in acinlude.m4 and
|
|
dnl use AC_SYS_LARGEFILE to perform the check.
|
|
dnl
|
|
dnl Refs:
|
|
dnl http://www.gnu.org/software/hello/manual/autoconf/System-Services.html
|
|
dnl http://ac-archive.sourceforge.net/largefile/future.html
|
|
dnl
|
|
dnl defines: enable_largefile
|
|
dnl ---
|
|
AC_CHECK_LARGEFILE
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check for OSS driver support
|
|
dnl
|
|
dnl defines: ECA_COMPILE_OSS, ECA_AM_COMPILE_OSS
|
|
dnl ---
|
|
|
|
AC_CHECK_HEADER(sys/soundcard.h,oss_support=yes,oss_support=no)
|
|
AC_ARG_ENABLE(oss,
|
|
[ --disable-oss Disable OSS (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
oss_support=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
oss_support=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-oss: $enableval])
|
|
;;
|
|
esac
|
|
])
|
|
AM_CONDITIONAL(ECA_AM_COMPILE_OSS, test x$oss_support = xyes)
|
|
if test x$oss_support = xyes; then
|
|
AC_DEFINE([ECA_COMPILE_OSS], 1, [enable OSS audio input/output])
|
|
fi
|
|
|
|
dnl ---
|
|
dnl Disabling OSS trigger functions
|
|
dnl
|
|
dnl defines: ECA_DISABLE_OSS_TRIGGER
|
|
dnl ---
|
|
AC_ARG_ENABLE(osstrigger,
|
|
[ --disable-osstrigger Disable the use of OSS trigger functions (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
osstrigger=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
osstrigger=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-osstrigger: $enableval])
|
|
;;
|
|
esac
|
|
])
|
|
if test x$osstrigger = xyes; then
|
|
AC_DEFINE([ECA_DISABLE_OSS_TRIGGER], 1, [disable use of OSS trigger API])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl --
|
|
dnl Check for aRts support
|
|
dnl
|
|
dnl defines: ECA_AM_COMPILE_ARTS, ECA_COMPILE_ARTS
|
|
dnl modifies: ECA_S_EXTRA_CPPFLAGS, ECA_S_EXTRA_LIBS
|
|
dnl --
|
|
AC_PATH_PROG(ARTSC_CONFIG,artsc-config,none)
|
|
if test x$ARTSC_CONFIG = xnone; then
|
|
arts_support=no
|
|
else
|
|
arts_support=yes
|
|
ECA_ARTSC_CFLAGS="`$ARTSC_CONFIG --cflags`"
|
|
ECA_ARTSC_LIBS="`$ARTSC_CONFIG --libs`"
|
|
fi
|
|
|
|
if test x$arts_support = xyes; then
|
|
old_LIBS=$LIBS
|
|
LIBS="$LIBS $ECA_ARTSC_LIBS"
|
|
old_CFLAGS=$CFLAGS
|
|
CFLAGS="$CFLAGS $ECA_ARTSC_CFLAGS"
|
|
AC_LANG_C
|
|
AC_TRY_LINK(
|
|
[ #include <artsc.h> ],
|
|
[
|
|
arts_init();
|
|
return 0;
|
|
],
|
|
[ /bin/true ],
|
|
[ arts_support=no ]
|
|
)
|
|
AC_LANG_CPLUSPLUS
|
|
LIBS=${old_LIBS}
|
|
CFLAGS=${old_CFLAGS}
|
|
fi
|
|
|
|
AC_ARG_ENABLE(arts,
|
|
[ --disable-arts Disable aRts support (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
arts_support=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
arts_support=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-arts: $enableval])
|
|
;;
|
|
esac
|
|
])
|
|
AM_CONDITIONAL(ECA_AM_COMPILE_ARTS, test x$arts_support = xyes)
|
|
if test x$arts_support = xyes; then
|
|
ECA_S_EXTRA_CPPFLAGS="${ECA_S_EXTRA_CPPFLAGS} ${ECA_ARTSC_CFLAGS}"
|
|
ECA_S_EXTRA_LIBS="${ECA_S_EXTRA_LIBS} ${ECA_ARTSC_LIBS}"
|
|
AC_DEFINE([ECA_COMPILE_ARTS], 1, [enable aRts support])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl --
|
|
dnl Check for libsamplerate
|
|
dnl
|
|
dnl defines: ECA_AM_COMPILE_SAMPLERATE, ECA_COMPILE_SAMPLERATE
|
|
dnl modifies: ECA_S_EXTRA_CPPFLAGS, ECA_S_EXTRA_LIBS
|
|
dnl --
|
|
AC_CHECK_HEADER(samplerate.h,samplerate_support=yes,samplerate_support=no)
|
|
AC_ARG_WITH(libsamplerate,
|
|
[ --with-libsamplerate=DIR Compile against libsamplerate installed in DIR],
|
|
[
|
|
ECA_SAMPLERATE_LIBS="-L${withval}/lib"
|
|
ECA_SAMPLERATE_INCLUDES="-I${withval}/include"
|
|
samplerate_support=yes
|
|
])
|
|
AC_ARG_ENABLE(libsamplerate,
|
|
[ --disable-libsamplerate Disable libsamplerate support (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
samplerate_support=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
samplerate_support=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-samplerate: $enableval])
|
|
;;
|
|
esac
|
|
])
|
|
AM_CONDITIONAL(ECA_AM_COMPILE_SAMPLERATE, test x$samplerate_support = xyes)
|
|
|
|
if test x$samplerate_support = xyes; then
|
|
ECA_S_EXTRA_CPPFLAGS="${ECA_S_EXTRA_CPPFLAGS} ${ECA_SAMPLERATE_INCLUDES}"
|
|
ECA_SAMPLERATE_LIBS="${ECA_SAMPLERATE_LIBS} -lsamplerate"
|
|
ECA_S_EXTRA_LIBS="${ECA_S_EXTRA_LIBS} ${ECA_SAMPLERATE_LIBS}"
|
|
AC_DEFINE([ECA_COMPILE_SAMPLERATE], 1, [enable libsamplerate support])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl --
|
|
dnl Checks for pyecasound
|
|
dnl
|
|
dnl defines: ECA_S_PYTHON_INCLUDES, ECA_S_PYTHON_DLMODULES,
|
|
dnl ECA_AM_PYECASOUND_CEXT, ECA_AM_PYECASOUND_INSTALL
|
|
dnl --
|
|
|
|
dnl default impl depends on target platform
|
|
pyecasound_support=${eca_platform_python_impl}
|
|
|
|
AC_ARG_ENABLE(pyecasound,
|
|
[ --enable-pyecasound Enable compilation of pyecasound (default = python)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
pyecasound_support=c
|
|
;;
|
|
|
|
n | no | none)
|
|
pyecasound_support=none
|
|
;;
|
|
|
|
python)
|
|
pyecasound_support=python
|
|
;;
|
|
|
|
c)
|
|
pyecasound_support=c
|
|
;;
|
|
|
|
*)
|
|
pyecasound_support=python
|
|
;;
|
|
esac
|
|
])
|
|
|
|
dnl --
|
|
dnl Python interpreter and installation prefix
|
|
|
|
AC_PATH_PROG(PYTHONPATH,python,none)
|
|
if test x$PYTHONPATH = xnone; then
|
|
pyecasound_support=none
|
|
python_install_prefix=""
|
|
else
|
|
python_install_prefix=`python -c "import sys; print (sys.prefix)"`
|
|
fi
|
|
|
|
dnl --
|
|
dnl Python header files
|
|
|
|
ECA_S_PYTHON_INCLUDES=
|
|
AC_MSG_CHECKING([for Python include files])
|
|
|
|
AC_ARG_WITH(python-includes, [ --with-python-includes=DIR Python include files are in DIR])
|
|
if test ! "X$with_python_includes" = "X"
|
|
then
|
|
python_incdirs=$with_python_includes
|
|
else
|
|
python_incdirs="/usr/local/include /usr/include"
|
|
dnl -- Double-brackets to espace the real brackets
|
|
python_incdirsmore=`python -c "import sys; print (sys.prefix + '/include/python' + sys.version[[:3]])"`
|
|
python_incdirs="$python_incdirs $python_incdirsmore"
|
|
fi
|
|
|
|
for d in $python_incdirs
|
|
do
|
|
if test -r $d/Python.h
|
|
then
|
|
ECA_S_PYTHON_INCLUDES=$d
|
|
break
|
|
fi
|
|
done
|
|
|
|
AC_SUBST(ECA_S_PYTHON_INCLUDES)
|
|
if test "X$ECA_S_PYTHON_INCLUDES" = "X"
|
|
then
|
|
AC_MSG_WARN([Python.h not found])
|
|
if test x${pyecasound_support} = xc; then
|
|
dnl -- No python headers found, cannot compile C extension
|
|
pyecasound_support=python
|
|
fi
|
|
else
|
|
AC_MSG_RESULT($ECA_S_PYTHON_INCLUDES)
|
|
fi
|
|
|
|
dnl --
|
|
dnl Python modules
|
|
|
|
AC_MSG_CHECKING([for Python libraries])
|
|
AC_ARG_WITH(python-modules,
|
|
[ --with-python-modules=DIR install Python modules in DIR])
|
|
|
|
if test "X$with_python_modules" = "X"
|
|
then
|
|
if test x${python_install_prefix} != x${ecaprefix} -a \
|
|
x${ecaprefix} != x/usr -a \
|
|
x${ecaprefix} != x/usr/local ; then
|
|
pyecasound_support=none
|
|
AC_MSG_RESULT([none])
|
|
if test x$PYTHONPATH != xnone; then
|
|
python_prefix_tmp=`python -c "import sys; print (sys.prefix + '/lib/python' + sys.version[[:3]])"`
|
|
else
|
|
python_prefix_tmp="DIR"
|
|
fi
|
|
AC_MSG_WARN([
|
|
***
|
|
*** Python modules won't be installed as the module install prefix does
|
|
*** not match ecasound's build prefix! To override, set python
|
|
*** module directory explicitly (for example
|
|
*** "--with-python-modules=${python_prefix_tmp}").
|
|
***
|
|
])
|
|
else
|
|
pymoddirs="/usr/local/lib /usr/lib"
|
|
dnl -- Double-brackets to espace the real brackets
|
|
pymoddirsmore=`python -c "import sys; print (sys.prefix + '/lib/python' + sys.version[[:3]])"`
|
|
pymoddirs="$pymoddirs $pymoddirsmore"
|
|
AC_MSG_RESULT($pymoddirs)
|
|
fi
|
|
else
|
|
pymoddirs=$with_python_modules
|
|
AC_MSG_RESULT($pymoddirs)
|
|
fi
|
|
|
|
dnl ---
|
|
dnl a hack to support broken debian python installs
|
|
|
|
AC_ARG_ENABLE(python-force-site-packages,
|
|
[ --enable-python-force-site-packages force install Python modules into site-packages even when it doesn't exist [default=no] ],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
python_force_site_packages=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
python_force_site_packages=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-python-force-site-packages: $enableval])
|
|
;;
|
|
esac
|
|
])
|
|
|
|
AC_FIND_FILE(lib-dynload,$pymoddirs,ECA_S_PYTHON_MODULES)
|
|
dnl Use site-packages in preference if it is there.
|
|
if test -d $ECA_S_PYTHON_MODULES/site-packages -o "X$python_force_site_packages" = "Xyes"
|
|
then
|
|
ECA_S_PYTHON_MODULES=$ECA_S_PYTHON_MODULES/site-packages
|
|
ECA_S_PYTHON_DLMODULES=$ECA_S_PYTHON_MODULES
|
|
else
|
|
ECA_S_PYTHON_DLMODULES=$ECA_S_PYTHON_MODULES/lib-dynload
|
|
fi
|
|
AC_SUBST(ECA_S_PYTHON_MODULES)
|
|
AC_SUBST(ECA_S_PYTHON_DLMODULES)
|
|
|
|
dnl if test x$disable_pyecasound = xyes ; then pyecasound_support=no ; fi
|
|
AM_CONDITIONAL(ECA_AM_PYECASOUND_CEXT, test x$pyecasound_support = xc)
|
|
AM_CONDITIONAL(ECA_AM_PYECASOUND_INSTALL, test x$pyecasound_support != xnone)
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl --
|
|
dnl Checks for rubyecasound
|
|
dnl
|
|
dnl defines: ECA_S_RUBY_SITEDIR,
|
|
dnl ECA_AM_RUBYECASOUND_INSTALL
|
|
dnl --
|
|
|
|
dnl default to enabled if Ruby interpreter available
|
|
rubyecasound_support=yes
|
|
|
|
AC_ARG_ENABLE(rubyecasound,
|
|
[ --enable-rubyecasound Enable rubyecasound (default = yes)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
rubyecasound_support=yes
|
|
;;
|
|
|
|
n | no | none)
|
|
rubyecasound_support=no
|
|
;;
|
|
|
|
*)
|
|
rubyecasound_support=no
|
|
;;
|
|
esac
|
|
])
|
|
|
|
dnl --
|
|
dnl Ruby interpreter and installation prefix
|
|
|
|
AC_PATH_PROG(RUBYPATH,ruby,none)
|
|
if test x$RUBYPATH = xnone; then
|
|
rubyecasound_support=no
|
|
ECA_S_RUBY_SITEDIR=""
|
|
else
|
|
ECA_S_RUBY_SITEDIR="`ruby -e 'require "rbconfig"; include Config; print CONFIG[["sitedir"]] + "/" + CONFIG[["MAJOR"]] + "." + CONFIG[["MINOR"]]'`"
|
|
fi
|
|
|
|
AC_SUBST(ECA_S_RUBY_SITEDIR)
|
|
AM_CONDITIONAL(ECA_AM_RUBYECASOUND_INSTALL, test x$rubyecasound_support = xyes)
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
echo "------------------------------------------------------------------"
|
|
echo "3. Section: Programs "
|
|
echo "------------------------------------------------------------------"
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
AC_CHECK_CXX_NAMESPACE_SUPPORT
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl --
|
|
dnl Autotools and libtool
|
|
dnl --
|
|
AC_LANG_C
|
|
dnl do not add 'AC_DISABLE_SHARED' as pyecasound needs shared
|
|
dnl objects at link time (note that all the major libs are static)
|
|
AC_PROG_LIBTOOL
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
echo "------------------------------------------------------------------"
|
|
echo "4. Section: Libraries"
|
|
echo "------------------------------------------------------------------"
|
|
|
|
dnl ---
|
|
dnl Check system libraries
|
|
dnl ---
|
|
|
|
dnl switch to C for testing
|
|
AC_LANG_C
|
|
dnl see also section 7 - functions
|
|
AC_SEARCH_LIBS(inet_ntoa, socket nsl,, AC_MSG_ERROR([*** required inet_ntoa() function not found! ***]))
|
|
AC_SEARCH_LIBS(nanosleep, rt posix4)
|
|
AC_SEARCH_LIBS(sched_setscheduler, rt posix4)
|
|
AC_SEARCH_LIBS(socket, socket nsl,, AC_MSG_ERROR([*** required socket() function not found! ***]))
|
|
AC_SEARCH_LIBS(sin, m,, AC_MSG_ERROR([*** required sin() function not found! ***]))
|
|
AC_SEARCH_LIBS(dlopen, dl,, AC_MSG_ERROR([*** required dlopen() function not found! ***]))
|
|
dnl switch back to C++
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Checks for ncurses/termcap
|
|
dnl
|
|
dnl defines: ECA_AM_USE_NCURSES, ECA_AM_USE_TERMCAP, ECA_USE_NCURSES_H,
|
|
dnl ECA_USE_CURSES_H, ECA_HAVE_NCURSES_CURSES_H
|
|
dnl ---
|
|
|
|
dnl switch to C for testing
|
|
AC_LANG_C
|
|
|
|
AC_CHECK_LIB(ncurses, main, termcap_library=ncurses,
|
|
AC_CHECK_LIB(termcap, main, termcap_library=termcap,
|
|
termcap_library=none))
|
|
|
|
AC_ARG_ENABLE(ncurses,
|
|
[ --disable-ncurses Disable ncurses (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
termcap_library=ncurses
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
termcap_library=none
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-ncurses: $enableval])
|
|
;;
|
|
esac
|
|
])
|
|
|
|
AM_CONDITIONAL(ECA_AM_USE_NCURSES, test $termcap_library = ncurses)
|
|
AM_CONDITIONAL(ECA_AM_USE_TERMCAP, test $termcap_library = termcap)
|
|
|
|
if test x$termcap_library = xtermcap; then
|
|
AC_CHECK_HEADER(curses.h,
|
|
AC_DEFINE([ECA_USE_CURSES_H], 1, [use ncurses.h for curses interface]),
|
|
AC_MSG_ERROR([*** curses.h not found! Try with "./configure --disable-ncurses". ***]))
|
|
fi
|
|
|
|
if test x$termcap_library = xncurses; then
|
|
AC_CHECK_HEADER(ncurses/ncurses.h,
|
|
AC_DEFINE([ECA_USE_NCURSES_NCURSES_H], 1, [ncurses headers are installed in ncurses subdir <ncurses/ncurses.h>]),
|
|
[
|
|
AC_CHECK_HEADER(ncurses.h,
|
|
AC_DEFINE([ECA_USE_NCURSES_H], 1, [use curses.h for curses interface]),
|
|
AC_MSG_ERROR([*** Neither ncurses.h or ncurses/ncurses.h found! Try with "./configure --disable-ncurses". ***]))
|
|
])
|
|
fi
|
|
|
|
if test $termcap_library = xnone ; then
|
|
eca_platform_curses_support=no
|
|
fi
|
|
|
|
dnl switch back to C++
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Audiofile library
|
|
dnl
|
|
dnl defines: ECA_AM_COMPILE_AUDIOFILE, ECA_COMPILE_AUDIOFILE
|
|
dnl modifies: ECA_S_EXTRA_LIBS
|
|
dnl ---
|
|
AC_CHECK_LIB(audiofile,main,af_support=yes,af_support=no)
|
|
AC_ARG_ENABLE(audiofile,
|
|
[ --disable-audiofile Disable libaudiofile (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
af_support=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
af_support=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-audiofile: $enableval])
|
|
;;
|
|
esac
|
|
]
|
|
)
|
|
AM_CONDITIONAL(ECA_AM_COMPILE_AUDIOFILE, test x$af_support = xyes)
|
|
|
|
if test x$af_support = xyes; then
|
|
ECA_S_EXTRA_LIBS="${ECA_S_EXTRA_LIBS} -laudiofile"
|
|
AC_DEFINE([ECA_COMPILE_AUDIOFILE], 1, [enable libaudiofile support])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Libsndfile support
|
|
dnl
|
|
dnl defines: ECA_AM_COMPILE_SNDFILE, ECA_COMPILE_SNDFILE
|
|
dnl ---
|
|
AC_CHECK_LIB(sndfile,main,sndfile_support=yes,sndfile_support=no)
|
|
AC_ARG_ENABLE(sndfile,
|
|
[ --disable-sndfile Disable libsndfile (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
sndfile_support=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
sndfile_support=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-sndfile: $enableval])
|
|
;;
|
|
esac
|
|
]
|
|
)
|
|
|
|
if test x$sndfile_support = xyes; then
|
|
AC_LANG_C
|
|
AC_TRY_LINK(
|
|
[ #include <sndfile.h> ],
|
|
[
|
|
SF_INFO sfinfo;
|
|
sfinfo.frames = 0;
|
|
return 0;
|
|
],
|
|
[ /bin/true ],
|
|
[
|
|
sndfile_support=no
|
|
AC_MSG_WARN([Found an old version of libsndfile. Libsndfile 1.0.0 or newer is required.])
|
|
]
|
|
)
|
|
AC_LANG_CPLUSPLUS
|
|
fi
|
|
|
|
AM_CONDITIONAL(ECA_AM_COMPILE_SNDFILE, test x$sndfile_support = xyes)
|
|
|
|
if test x$sndfile_support = xyes; then
|
|
ECA_S_EXTRA_LIBS="${ECA_S_EXTRA_LIBS} -lsndfile"
|
|
AC_DEFINE([ECA_COMPILE_SNDFILE], 1, [enable libsndfile support])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check for ALSA driver support
|
|
dnl
|
|
dnl defines: ECA_AM_COMPILE_ALSA
|
|
dnl ---
|
|
|
|
AC_ARG_ENABLE(alsa,
|
|
[ --disable-alsa Disable ALSA (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
alsa_support=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
alsa_support=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-alsa: $enableval])
|
|
;;
|
|
esac
|
|
])
|
|
if test x$alsa_support = x; then
|
|
AC_CHECK_LIB(asound, snd_pcm_delay,
|
|
alsa_support=yes,
|
|
[
|
|
alsa_support=no
|
|
AC_MSG_WARN([ALSA version older than 0.9.0 not supported - update to a newer version or compile with --disable-alsa])
|
|
])
|
|
fi
|
|
|
|
AM_CONDITIONAL(ECA_AM_COMPILE_ALSA, test x$alsa_support = xyes)
|
|
|
|
if test x$alsa_support = xyes; then
|
|
ECA_S_EXTRA_LIBS="${ECA_S_EXTRA_LIBS} -lasound"
|
|
AC_DEFINE([ECA_COMPILE_ALSA], 1, [enable ALSA support])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
AC_CHECK_JACK
|
|
ECA_S_EXTRA_CPPFLAGS="${ECA_S_EXTRA_CPPFLAGS} ${ECA_S_JACK_INCLUDES}"
|
|
ECA_S_EXTRA_LIBS="${ECA_S_EXTRA_LIBS} ${ECA_S_JACK_LIBS}"
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check for already installed libkvutils
|
|
dnl
|
|
dnl defines: ECA_AM_KVUTILS_INSTALLED
|
|
dnl ---
|
|
AC_CHECK_LIB(kvutils,main,kvutils_installed=yes,kvutils_installed=no)
|
|
AM_CONDITIONAL(ECA_AM_KVUTILS_INSTALLED, test x$kvutils_installed = xyes)
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl --
|
|
dnl Check whether to use an already installed readline library
|
|
dnl
|
|
dnl defines: ECA_AM_SYSTEM_READLINE, ECA_S_READLINE_INCLUDES,
|
|
dnl ECA_S_READLINE_LIBS
|
|
dnl --
|
|
|
|
AC_MSG_CHECKING(whether to build with system readline)
|
|
AC_ARG_ENABLE(sys_readline,
|
|
[ --enable-sys-readline Compile with system readline (default=yes)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
enable_sysreadline=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
enable_sysreadline=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-sys-readline: $enableval])
|
|
;;
|
|
esac
|
|
],
|
|
[
|
|
AC_MSG_RESULT(yes)
|
|
enable_sysreadline=yes
|
|
]
|
|
)
|
|
|
|
dnl Check for readline.h or readline/readline.h (same with history.h)
|
|
dnl and for readline and history libraries
|
|
|
|
if test x$enable_sysreadline = xyes; then
|
|
AC_CHECK_HEADER(readline.h, ECA_S_READLINE_INCLUDES=/usr/include,
|
|
[AC_CHECK_HEADER(readline/readline.h,
|
|
ECA_S_READLINE_INCLUDES=/usr/include/readline,
|
|
[
|
|
AC_MSG_WARN([*** readline headers not installed ***])
|
|
enable_sysreadline=no
|
|
])])
|
|
|
|
AC_CHECK_HEADER(history.h,,
|
|
[AC_CHECK_HEADER(readline/history.h,,
|
|
[
|
|
AC_MSG_WARN([*** readline history headers not installed ***])
|
|
enable_sysreadline=no
|
|
])
|
|
])
|
|
|
|
if test x${termcap_library} = xnone; then
|
|
readline_extra_libs="";
|
|
else
|
|
readline_extra_libs="-l${termcap_library}"
|
|
fi
|
|
|
|
AC_CHECK_LIB(readline, main, ECA_S_READLINE_LIBS="-lreadline",
|
|
[
|
|
AC_MSG_WARN([*** readline support not installed ***])
|
|
enable_sysreadline=no
|
|
], ${readline_extra_libs})
|
|
|
|
AC_CHECK_LIB(history, main, ECA_S_READLINE_LIBS="${ECA_S_READLINE_LIBS} -lhistory",
|
|
[
|
|
AC_MSG_WARN([*** readline support not installed ***])
|
|
enable_sysreadline=no
|
|
], ${readline_extra_libs})
|
|
|
|
else
|
|
ECA_S_READLINE_INCLUDES=""
|
|
ECA_S_READLINE_LIBS=""
|
|
fi
|
|
|
|
# if no readline library is found, disable platform-curses toggle
|
|
if test $enable_sysreadline = no ; then
|
|
eca_platform_curses_support=no
|
|
fi
|
|
|
|
AM_CONDITIONAL(ECA_AM_SYSTEM_READLINE, test x$enable_sysreadline = xyes)
|
|
AC_SUBST(ECA_S_READLINE_INCLUDES)
|
|
AC_SUBST(ECA_S_READLINE_LIBS)
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl --
|
|
dnl Check for liboil (optional)
|
|
dnl --
|
|
|
|
PKG_CHECK_MODULES([LIBOIL], [liboil-0.3], HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
|
|
AC_MSG_CHECKING(whether to use liboil)
|
|
AC_ARG_ENABLE(liboil,
|
|
[ --enable-liboil Use liboil if available (default=no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
if test "x${HAVE_LIBOIL}" = xyes ; then
|
|
AC_MSG_RESULT(yes)
|
|
enable_liboil=yes
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_WARN([--enable-liboil given but liboil library not available])
|
|
fi
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
enable_liboil=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-liboil: $enableval])
|
|
;;
|
|
esac
|
|
],
|
|
[
|
|
if test "x${HAVE_LIBOIL}" = xyes ; then
|
|
AC_MSG_RESULT(yes)
|
|
enable_liboil=yes
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_WARN([disabling liboil as library devel files are not available])
|
|
fi
|
|
]
|
|
)
|
|
|
|
if test "x${enable_liboil}" = "xyes" ; then
|
|
ECA_S_EXTRA_CPPFLAGS="${ECA_S_EXTRA_CPPFLAGS} ${LIBOIL_CFLAGS}"
|
|
ECA_S_EXTRA_LIBS="${ECA_S_EXTRA_LIBS} ${LIBOIL_LIBS}"
|
|
AC_DEFINE([ECA_USE_LIBOIL], 1, [Use liboil])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl --
|
|
dnl Check for liblo (optional)
|
|
dnl --
|
|
|
|
PKG_CHECK_MODULES([LIBLO], [liblo], HAVE_LIBLO=yes, HAVE_LIBLO=no)
|
|
AC_MSG_CHECKING(whether to use liblo for OSC support)
|
|
AC_ARG_ENABLE(liblo,
|
|
[ --enable-liblo Use liblo if available (default=yes)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
if test "x${HAVE_LIBLO}" = xyes ; then
|
|
AC_MSG_RESULT(yes)
|
|
enable_liblo=yes
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_WARN([--enable-liblo given but liblo library not available])
|
|
fi
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
enable_liblo=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-liblo: $enableval])
|
|
;;
|
|
esac
|
|
],
|
|
[
|
|
enable_liblo=${HAVE_LIBLO}
|
|
AC_MSG_RESULT(${enable_liblo})
|
|
]
|
|
)
|
|
|
|
if test "x${enable_liblo}" = "xyes" ; then
|
|
ECA_S_EXTRA_CPPFLAGS="${ECA_S_EXTRA_CPPFLAGS} ${LIBLO_CFLAGS}"
|
|
ECA_S_EXTRA_LIBS="${ECA_S_EXTRA_LIBS} ${LIBLO_LIBS}"
|
|
AC_DEFINE([ECA_USE_LIBLO], 1, [Use liblo for OSC support])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl All non-std external libraries that libecasound depends on
|
|
AC_SUBST(ECA_S_EXTRA_CPPFLAGS)
|
|
AC_SUBST(ECA_S_EXTRA_LIBS)
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
echo "------------------------------------------------------------------"
|
|
echo "5. Section: Headers"
|
|
echo "------------------------------------------------------------------"
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Checks for system header files.
|
|
dnl ---
|
|
AC_HEADER_TIME
|
|
dnl Note! Header filenames must be on the same line!
|
|
AC_CHECK_HEADERS(dlfcn.h errno.h fcntl.h regex.h signal.h unistd.h sys/poll.h sys/stat.h sys/socket.h sys/time.h sys/types.h sys/wait.h sys/select.h,,
|
|
AC_MSG_ERROR([*** not all required header files were found ***]))
|
|
AC_CHECK_HEADERS(execinfo.h features.h inttypes.h locale.h ladspa.h sched.h stdint.h sys/mman.h termios.h)
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl C++ specific checks
|
|
dnl ---
|
|
dnl AC_HEADER_STDC
|
|
AC_HEADER_STDC
|
|
dnl --- AC_CHECK_HEADER(stl.h,,
|
|
dnl --- AC_MSG_WARN([** C++/STL header files not found! ***]))
|
|
AC_LANG_CPLUSPLUS
|
|
AC_CHECK_HEADER(map,nostlmap=0,nostlmap=1)
|
|
if test "x$nostlmap" = "x1" ; then
|
|
AC_MSG_ERROR([C++ header files not found! Searched for '<map>' (STL).])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
echo "------------------------------------------------------------------"
|
|
echo "6. Section: Typedefs and structures"
|
|
echo "------------------------------------------------------------------"
|
|
|
|
dnl ---
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
dnl ---
|
|
|
|
AC_LANG_C
|
|
dnl AC_C_CONST
|
|
AC_C_BIGENDIAN
|
|
AC_TYPE_SIZE_T
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
echo "------------------------------------------------------------------"
|
|
echo "7. Section: Functions"
|
|
echo "------------------------------------------------------------------"
|
|
|
|
dnl ---
|
|
dnl Checks for functions.
|
|
dnl ---
|
|
AC_FUNC_MMAP
|
|
AC_CHECK_FUNCS(execvp gettimeofday pthread_mutexattr_init,,
|
|
AC_MSG_ERROR([*** not all required library functions were found ***]))
|
|
|
|
AC_CHECK_FUNCS(clock_gettime)
|
|
AC_CHECK_FUNCS(mlockall)
|
|
AC_CHECK_FUNCS(munlockall)
|
|
AC_CHECK_FUNCS(nanosleep)
|
|
AC_CHECK_FUNCS(pause)
|
|
AC_CHECK_FUNCS(posix_memalign)
|
|
AC_CHECK_FUNCS(pthread_self)
|
|
AC_CHECK_FUNCS(pthread_getschedparam)
|
|
AC_CHECK_FUNCS(pthread_setschedparam)
|
|
AC_CHECK_FUNCS(pthread_sigmask)
|
|
AC_CHECK_FUNCS(pthread_kill)
|
|
AC_CHECK_FUNCS(sched_get_priority_max)
|
|
AC_CHECK_FUNCS(sched_getparam)
|
|
AC_CHECK_FUNCS(sched_getscheduler)
|
|
AC_CHECK_FUNCS(sched_setscheduler)
|
|
AC_CHECK_FUNCS(setlocale)
|
|
AC_CHECK_FUNCS(sigprocmask)
|
|
AC_CHECK_FUNCS(sigwait)
|
|
AC_CHECK_FUNCS(usleep)
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Check whether to disable all use of shared libs
|
|
dnl
|
|
dnl Note! Must be run after all other autoconf tests as
|
|
dnl 'ld' doesn't understand -all-static.
|
|
dnl
|
|
dnl defines: ECA_STATIC_ONLY, ECA_AM_STATIC_ONLY
|
|
dnl modifies: AM_CXXFLAGS, AM_CFLAGS, AM_LDFLAGS
|
|
dnl ---
|
|
AC_ARG_ENABLE(all-static,
|
|
[ --enable-all-static Build only static binaries (default = no)],
|
|
[
|
|
case "$enableval" in
|
|
y | yes)
|
|
AC_MSG_RESULT(yes)
|
|
enable_all_static=yes
|
|
;;
|
|
|
|
n | no)
|
|
AC_MSG_RESULT(no)
|
|
enable_all_static=no
|
|
;;
|
|
|
|
*)
|
|
AC_MSG_ERROR([Invalid parameter value for --enable-all-static: $enableval])
|
|
;;
|
|
esac
|
|
])
|
|
if test x$enable_all_static = xyes; then
|
|
AC_DEFINE([ECA_ALL_STATIC], 1, [disable all use of shared libs])
|
|
AM_CXXFLAGS="$AM_CXXFLAGS -static"
|
|
AM_CFLAGS="$AM_CFLAGS -static"
|
|
AM_LDFLAGS="$AM_LDFLAGS -Bstatic -all-static"
|
|
fi
|
|
AM_CONDITIONAL(ECA_AM_ALL_STATIC, test x$enable_all_static = xyes)
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
dnl ---
|
|
dnl Checks for platform options
|
|
dnl ---
|
|
|
|
if test $eca_platform_curses_support == yes ; then
|
|
AC_DEFINE([ECA_PLATFORM_CURSES], 1, [enable ecasound curses console interface])
|
|
fi
|
|
|
|
dnl ------------------------------------------------------------------
|
|
|
|
echo "------------------------------------------------------------------"
|
|
echo "8. Section: Output"
|
|
echo "------------------------------------------------------------------"
|
|
|
|
dnl ---
|
|
dnl Create output files
|
|
dnl ---
|
|
|
|
AC_OUTPUT([
|
|
Makefile
|
|
ecasound.spec
|
|
libecasound/Makefile
|
|
libecasound/libecasound-config
|
|
libecasound/plugins/Makefile
|
|
libecasoundc/Makefile
|
|
libecasoundc/libecasoundc-config
|
|
pyecasound/Makefile
|
|
rubyecasound/Makefile
|
|
ecasound/Makefile
|
|
ecatools/Makefile
|
|
kvutils/Makefile
|
|
Documentation/Makefile
|
|
Documentation/users_guide/Makefile
|
|
Documentation/programmers_guide/Makefile
|
|
examples/Makefile
|
|
])
|
|
|
|
dnl ---
|
|
dnl Print summary of the configured options
|
|
dnl ---
|
|
|
|
echo "-----------------------------------------------------------------"
|
|
echo "Following packages are now configured:"
|
|
echo "ecasound: yes (ecasound,libecasound,libecasoundc)"
|
|
echo "ecatools: yes"
|
|
if test x$pyecasound_support != xnone ; then
|
|
if test x$pyecasound_support = xc ; then
|
|
echo "pyecasound: yes (as Python C extension module)"
|
|
else
|
|
echo "pyecasound: yes (as native Python module)"
|
|
fi
|
|
else
|
|
echo "pyecasound: no"
|
|
fi
|
|
if test x$rubyecasound_support = xyes ; then
|
|
echo "rubyecasound: yes"
|
|
else
|
|
echo "rubyecasound: no"
|
|
fi
|
|
echo "libkvutils: yes"
|
|
|
|
echo "-----------------------------------------------------------------"
|
|
echo "Compiler options:"
|
|
echo "CFLAGS: $AM_CFLAGS $CFLAGS"
|
|
echo "CXXFLAGS: $AM_CXXFLAGS $CXXFLAGS"
|
|
echo "CPPFLAGS: $AM_CPPFLAGS $CPPFLAGS"
|
|
echo "LDFLAGS: $AM_LDFLAGS $LDFLAGS"
|
|
|
|
echo "-----------------------------------------------------------------"
|
|
echo "Following features were selected:"
|
|
if test x$include_debug = xyes ; then
|
|
echo "Debugging info: yes"
|
|
else
|
|
echo "Debugging info: no"
|
|
fi
|
|
if test x$enable_effects_d = xyes ; then
|
|
echo "Effects enabled: yes"
|
|
else
|
|
echo "Effects enabled: no"
|
|
fi
|
|
if test x$enable_largefile = xyes ; then
|
|
echo "Largefile support: yes"
|
|
else
|
|
echo "Largefile support: no"
|
|
fi
|
|
if test x$termcap_library = xtermcap ; then
|
|
echo "Termcap: termcap"
|
|
fi
|
|
if test x$termcap_library = xncurses; then
|
|
echo "Termcap: ncurses"
|
|
fi
|
|
if test x$termcap_library = xnone; then
|
|
echo "Termcap: none"
|
|
fi
|
|
if test x$enable_sysreadline = xyes ; then
|
|
echo "Use system readline: yes"
|
|
else
|
|
echo "Use system readline: no"
|
|
fi
|
|
echo "Use curses interface: $eca_platform_curses_support"
|
|
if test x$af_support = xyes ; then
|
|
echo "Libaudiofile: yes"
|
|
else
|
|
echo "Libaudiofile: no"
|
|
fi
|
|
if test x$sndfile_support = xyes ; then
|
|
echo "Libsndfile: yes"
|
|
else
|
|
echo "Libsndfile: no"
|
|
fi
|
|
if test x$alsa_support = xyes ; then
|
|
echo "ALSA support: yes"
|
|
else
|
|
echo "ALSA support: no"
|
|
fi
|
|
if test x$oss_support = xyes ; then
|
|
echo "OSS support: yes"
|
|
else
|
|
echo "OSS support: no"
|
|
fi
|
|
if test x$arts_support = xyes ; then
|
|
echo "aRts support: yes"
|
|
else
|
|
echo "aRts support: no"
|
|
fi
|
|
if test x$jack_support = xyes ; then
|
|
echo "JACK support: yes"
|
|
else
|
|
echo "JACK support: no"
|
|
fi
|
|
if test x$samplerate_support = xyes ; then
|
|
echo "Libsamplerate support yes"
|
|
else
|
|
echo "Libsamplerate support no"
|
|
fi
|
|
if test x$enable_liboil = xyes ; then
|
|
echo "Liboil support: yes"
|
|
else
|
|
echo "Liboil support: no"
|
|
fi
|
|
if test x$enable_liblo = xyes ; then
|
|
echo "Liblo (OSC) support: yes"
|
|
else
|
|
echo "Liblo (OSC) support: no"
|
|
fi
|
|
|
|
echo "-----------------------------------------------------------------"
|
|
echo "Following directories are used:"
|
|
echo "Directory prefix: "$ECA_S_PREFIX
|
|
if test x$pyecasound_support != xnone ; then
|
|
echo "Python include dir: "$ECA_S_PYTHON_INCLUDES
|
|
echo "Python module dir: "$ECA_S_PYTHON_MODULES
|
|
fi
|
|
if test x$rubyecasound_support != xnone ; then
|
|
echo "Ruby module dir: "$ECA_S_RUBY_SITEDIR
|
|
fi
|
|
if test "x$ECA_S_EXTRA_CPPFLAGS" != "x" ; then
|
|
echo "Extra headers: "$ECA_S_EXTRA_CPPFLAGS
|
|
fi
|
|
if test "x$ECA_S_EXTRA_LIBS" != "x" ; then
|
|
echo "Extra libs: "$ECA_S_EXTRA_LIBS
|
|
fi
|
|
|
|
echo "-------------------------------------------------------------------"
|
|
echo "Type 'make' to compile the package and 'make install' to install."
|
|
echo "Remember to use GNU Make, often installed as 'gmake'."
|
|
echo "-------------------------------------------------------------------"
|
|
|
|
dnl ------------------------------------------------------------------
|
|
dnl X. Section: End
|
|
dnl ------------------------------------------------------------------
|