diff options
author | Jaroslav Kysela <perex@perex.cz> | 2014-05-07 09:46:08 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2014-05-07 10:55:59 +0200 |
commit | 6d7dfb46077b186f707b44d5743915fbd7b5be22 (patch) | |
tree | 88d83e317930893d7a42094b9bf5f65cc02b9cfe /configure.ac | |
parent | 0a6c9e80f79b5bcb24571cec55b8c8bfe49996c9 (diff) |
configure.in -> configure.ac rename
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 361 |
1 files changed, 361 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..e310ee1 --- /dev/null +++ b/configure.ac @@ -0,0 +1,361 @@ +dnl Process this file with autoconf to produce a configure script. +AC_PREREQ(2.59) +AC_INIT(aplay/aplay.c) +AC_PREFIX_DEFAULT(/usr) +AM_INIT_AUTOMAKE(alsa-utils, 1.0.27.2) + +AM_MAINTAINER_MODE([enable]) + +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION([0.15]) + +dnl Checks for programs. + +dnl try to gues cross-compiler if not set +if test "x$target" != "x$host" -a -z "`echo $CC | grep -e '-gcc'`"; +then + AC_MSG_CHECKING(for cross-compiler) + + which ${program_prefix}gcc >/dev/null 2>&1 && CC=${program_prefix}gcc + which ${target_cpu}-${target_os}-gcc >/dev/null 2>&1 \ + && CC=${target_cpu}-${target-os}-gcc + which ${target_cpu}-${target_vendor}-${target_os}-gcc >/dev/null 2>&1 \ + && CC=${target_cpu}-${target_vendor}-${target_os}-gcc + + AC_MSG_RESULT($CC) +fi + +AC_PROG_CC +dnl AC_PROG_CXX +AC_PROG_INSTALL +AC_PROG_MKDIR_P +AC_PROG_LN_S +AC_PROG_SED +PKG_PROG_PKG_CONFIG +AM_PATH_ALSA(1.0.27) +if test "x$enable_alsatest" = "xyes"; then +AC_CHECK_FUNC([snd_ctl_elem_add_enumerated], + , [AC_ERROR([No user enum control support in alsa-lib])]) +fi + +dnl Check components +AC_CHECK_HEADERS([alsa/pcm.h], [have_pcm="yes"], [have_pcm="no"], + [#include <alsa/asoundlib.h>]) +AC_CHECK_HEADERS([alsa/mixer.h], [have_mixer="yes"], [have_mixer="no"], + [#include <alsa/asoundlib.h>]) +AC_CHECK_HEADERS([alsa/rawmidi.h], [have_rawmidi="yes"], [have_rawmidi="no"], + [#include <alsa/asoundlib.h>]) +AC_CHECK_HEADERS([alsa/seq.h], [have_seq="yes"], [have_seq="no"], + [#include <alsa/asoundlib.h>]) +AC_CHECK_HEADERS([samplerate.h], [have_samplerate="yes"], [have_samplerate="no"], + [#include <samplerate.h>]) + +AM_CONDITIONAL(HAVE_PCM, test "$have_pcm" = "yes") +AM_CONDITIONAL(HAVE_MIXER, test "$have_mixer" = "yes") +AM_CONDITIONAL(HAVE_RAWMIDI, test "$have_rawmidi" = "yes") +AM_CONDITIONAL(HAVE_SEQ, test "$have_seq" = "yes") +AM_CONDITIONAL(HAVE_SAMPLERATE, test "$have_samplerate" = "yes") + +dnl Check for librt +LIBRT="" +AC_MSG_CHECKING(for librt) +AC_ARG_WITH(librt, + AS_HELP_STRING([--with-librt], [Use librt for monotonic clock (default = yes)]), + [ have_librt="$withval" ], [ have_librt="yes" ]) +if test "$have_librt" = "yes"; then + AC_CHECK_LIB([rt], [clock_gettime], [HAVE_LIBRT="yes"]) + if test "$HAVE_LIBRT" = "yes" ; then + LIBRT="-lrt" + AC_DEFINE([HAVE_LIBRT], 1, [Have librt]) + AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Have clock gettime]) + fi +else + AC_MSG_RESULT(no) +fi + +dnl Disable alsamixer +CURSESINC="" +CURSESLIB="" +CURSES_CFLAGS="" +alsamixer= +if test "$have_mixer" = "yes"; then +AC_ARG_ENABLE(alsamixer, + AS_HELP_STRING([--disable-alsamixer], [Disable alsamixer compilation]), + [case "${enableval}" in + yes) alsamixer=true ;; + no) alsamixer=false ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-alsamixer) ;; + esac],[alsamixer=true]) +fi +AM_CONDITIONAL(ALSAMIXER, test x$alsamixer = xtrue) + +dnl Disable alsaconf +AC_ARG_ENABLE(alsaconf, + AS_HELP_STRING([--disable-alsaconf], [Disable alsaconf packaging]), + [case "${enableval}" in + yes) alsaconf=true ;; + no) alsaconf=false ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-alsaconf) ;; + esac],[alsaconf=true]) +AM_CONDITIONAL(ALSACONF, test x$alsaconf = xtrue) + +dnl Disable alsaloop +AC_ARG_ENABLE(alsaloop, + AS_HELP_STRING([--disable-alsaloop], [Disable alsaloop packaging]), + [case "${enableval}" in + yes) alsaloop=true ;; + no) alsaloop=false ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-alsaloop) ;; + esac],[alsaloop=true]) +AM_CONDITIONAL(ALSALOOP, test x$alsaloop = xtrue) + +xmlto="" +AC_ARG_ENABLE(xmlto, + AS_HELP_STRING([--disable-xmlto], [Disable man page creation via xmlto]), + xmlto="$enableval", xmlto="yes") +if test "$xmlto" = "yes"; then + AC_CHECK_PROG([xmlto], [xmlto], [yes]) +fi +AM_CONDITIONAL(USE_XMLTO, test x"$xmlto" = xyes) + +AC_ARG_WITH( + [udev-rules-dir], + AS_HELP_STRING([--with-udev-rules-dir=DIR],[Directory where to install udev rules to (default=auto)]), + [udevrulesdir="$withval"], + [udevdir=$($PKG_CONFIG udev --variable=udevdir) + if test "x$udevdir" = "x"; then + udevrulesdir="/lib/udev/rules.d" + else + udevrulesdir="$udevdir/rules.d" + fi]) +AC_SUBST(udevrulesdir) + +dnl Checks for header files. +AC_HEADER_STDC +if test x$alsamixer = xtrue; then + AC_ARG_WITH(curses, + AS_HELP_STRING([--with-curses=libname], [Specify the curses library to use (default=auto)]), + curseslib="$withval", + curseslib="auto") + CURSESLIBDIR="" + NCURSESLIBSUFFIX="" + CURSES_NLS="no" + if test "$curseslib" = "ncursesw" -o \( "$curseslib" = "auto" -a "$USE_NLS" = "yes" \); then + dnl First try out pkg-config, then fall back to old config scripts. + PKG_CHECK_MODULES([NCURSESW], [ncursesw], [ + CURSESINC="<ncurses.h>" + CURSESLIB="${NCURSESW_LIBS}" + CURSESLIBDIR= + CURSES_CFLAGS="${NCURSESW_CFLAGS}" + curseslib="ncursesw" + ], [ + AC_CHECK_PROG([ncursesw5_config], [ncursesw5-config], [yes]) + if test "$ncursesw5_config" = "yes"; then + CURSESINC="<ncurses.h>" + CURSESLIB=`ncursesw5-config --libs` + CURSESLIBDIR=`ncursesw5-config --libdir` + CURSES_CFLAGS=`ncursesw5-config --cflags` + curseslib="ncursesw" + else + AC_CHECK_LIB(ncursesw, initscr, + [ CURSESINC='<ncurses.h>'; CURSESLIB='-lncursesw'; curseslib="ncursesw"]) + fi + ]) + if test -n "$CURSESINC"; then + NCURSESLIBSUFFIX="w" + CURSES_NLS="yes" + fi + fi + if test "$curseslib" = "ncurses" -o "$curseslib" = "auto"; then + dnl First try out pkg-config, then fall back to old config scripts. + PKG_CHECK_MODULES([NCURSES], [ncurses], [ + CURSESINC="<ncurses.h>" + CURSESLIB="${NCURSES_LIBS}" + CURSESLIBDIR= + CURSES_CFLAGS="${NCURSES_CFLAGS}" + curseslib="ncurses" + ], [ + AC_CHECK_PROG([ncurses5_config], [ncurses5-config], [yes]) + if test "$ncurses5_config" = "yes"; then + CURSESINC="<ncurses.h>" + CURSESLIB=`ncurses5-config --libs` + CURSESLIBDIR=`ncurses5-config --libdir` + CURSES_CFLAGS=`ncurses5-config --cflags` + curseslib="ncurses" + else + AC_CHECK_LIB(ncurses, initscr, + [ CURSESINC='<ncurses.h>'; CURSESLIB='-lncurses'; curseslib="ncurses"]) + fi + ]) + fi + if test "$curseslib" = "curses" -o "$curseslib" = "auto"; then + AC_CHECK_LIB(curses, initscr, + [ CURSESINC='<curses.h>'; CURSESLIB='-lcurses'; curseslib="curses"]) + fi + if test -z "$CURSESINC"; then + AC_MSG_ERROR(this packages requires a curses library) + fi + + AC_MSG_CHECKING([for curses library]) + AC_MSG_RESULT([$curseslib]) + AC_MSG_CHECKING([for curses header name]) + AC_MSG_RESULT([$CURSESINC]) + AC_MSG_CHECKING([for curses compiler flags]) + AC_MSG_RESULT([$CURSES_CFLAGS]) + + dnl CURSESLIBS might have the library path at the beginning. If so, we cut it + dnl off so that we can insert the other curses libraries before the ncurses + dnl library but after the library path (which is later again prepended below). + if test -n "$CURSESLIBDIR"; then + if test "-L$CURSESLIBDIR " = "$(echo $CURSESLIB | cut -c-$((${#CURSESLIBDIR}+3)) )"; then + CURSESLIB="$(echo $CURSESLIB | cut -c$((${#CURSESLIBDIR}+4))-)" + fi + fi + + saved_CFLAGS="$CFLAGS" + saved_LDFLAGS="$LDFLAGS" + saved_LIBS="$LIBS" + CFLAGS="$CFLAGS $CURSES_CFLAGS" + if test -n "$CURSESLIBDIR"; then + LDFLAGS="$LDFLAGS -L$CURSESLIBDIR" + fi + LIBS="$CURSESLIB $LIBS" + + AC_TRY_LINK([#include <panel.h>], [set_escdelay(100);],[HAVE_CURSES_ESCDELAY="yes"]) + if test "$HAVE_CURSES_ESCDELAY" = "yes"; then + AC_DEFINE([HAVE_CURSES_ESCDELAY], 1, [Have curses set_escdelay]) + fi + + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([for curses NLS support]) + dnl In theory, a single-byte curses works just fine in ISO 8859-* locales. + dnl In practice, however, everybody uses UTF-8 nowadays, so we'd better + dnl check for wide-character support. + dnl For ncurses/ncursesw, CURSES_NLS was already set above. + if test "$curseslib" = "curses"; then + AC_TRY_LINK([ + #define _XOPEN_SOURCE 1 + #define _XOPEN_SOURCE_EXTENDED 1 + #include <curses.h> + ], [ + cchar_t wc; + setcchar(&wc, L"x", A_NORMAL, 0, 0); + ], + [CURSES_NLS="yes"]) + fi + AC_MSG_RESULT([$CURSES_NLS]) + if test "$CURSES_NLS" = "yes"; then + AC_DEFINE([ENABLE_NLS_IN_CURSES], [1], + [Define if curses-based programs can show translated messages.]) + fi + fi + + AC_CHECK_HEADERS([panel.h menu.h form.h], [], + [AC_MSG_ERROR([required curses helper header not found])]) + AC_CHECK_LIB([panel$NCURSESLIBSUFFIX], [new_panel], + [CURSESLIB="-lpanel$NCURSESLIBSUFFIX $CURSESLIB"], + [AC_MSG_ERROR([panel$NCURSESLIBSUFFIX library not found])]) + AC_CHECK_LIB([menu$NCURSESLIBSUFFIX], [new_menu], + [CURSESLIB="-lmenu$NCURSESLIBSUFFIX $CURSESLIB"], + [AC_MSG_ERROR([menu$NCURSESLIBSUFFIX library not found])]) + AC_CHECK_LIB([form$NCURSESLIBSUFFIX], [new_form], + [CURSESLIB="-lform$NCURSESLIBSUFFIX $CURSESLIB"], + [AC_MSG_ERROR([form$NCURSESLIBSUFFIX library not found])]) + + CFLAGS="$saved_CFLAGS" + LDFLAGS="$saved_LDFLAGS" + LIBS="$saved_LIBS" + + if test -n "$CURSESLIBDIR"; then + CURSESLIB="-L$CURSESLIBDIR $CURSESLIB" + fi + + AC_MSG_CHECKING([for curses linker flags]) + AC_MSG_RESULT([$CURSESLIB]) +fi + +AC_SUBST(CURSESINC) +AC_SUBST(CURSESLIB) +AC_SUBST(CURSES_CFLAGS) + +test "x$prefix" = xNONE && prefix=$ac_default_prefix + +eval dir="$datadir" +case "$dir" in +/*) ;; +*) dir="$prefix/share" +esac + +soundsdir="$dir/sounds/alsa" +AC_DEFINE_UNQUOTED(SOUNDSDIR, "$soundsdir", [directory containing sample data]) + +mydatadir="$dir/alsa" +AC_DEFINE_UNQUOTED(DATADIR, "$mydatadir", [directory containing alsa configuration]) + +AC_ARG_WITH(testsound, + AS_HELP_STRING([--with-testsound=file], [give the path of test sound file for alsaconf]), + TESTSOUND="$withval", + TESTSOUND="$dir/test.wav") +AC_SUBST(TESTSOUND) + +AC_CONFIG_HEADERS(include/aconfig.h) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_C_INLINE +AC_HEADER_TIME + +dnl Checks for library functions. +AC_PROG_GCC_TRADITIONAL + +dnl Enable largefile support +AC_SYS_LARGEFILE + +SAVE_UTIL_VERSION + +AC_SUBST(LIBRT) + +dnl Check for systemd +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) + +AC_ARG_WITH([asound-state-dir], + AS_HELP_STRING([--with-asound-state-dir=DIR], [Directory to place asound.state file in]), + [ASOUND_STATE_DIR="$withval"], + [ASOUND_STATE_DIR="/var/lib/alsa"]) +AC_SUBST(ASOUND_STATE_DIR) + +AC_ARG_WITH([alsactl-lock-dir], + AS_HELP_STRING([--with-alsactl-lock-dir=DIR], [Directory to place lock files in]), + [ASOUND_LOCK_DIR="$withval"], + [ASOUND_LOCK_DIR="/var/lock"]) +AC_SUBST(ASOUND_LOCK_DIR) + +AC_ARG_WITH([alsactl-pidfile-dir], + AS_HELP_STRING([--with-alsactl-pidfile-dir=DIR], [Directory to place alsactl.pid file in]), + [ALSACTL_PIDFILE_DIR="$withval"], + [ALSACTL_PIDFILE_DIR="/var/run"]) +AC_SUBST(ALSACTL_PIDFILE_DIR) + +AC_ARG_WITH([alsactl-daemonswitch], + AS_HELP_STRING([--with-alsactl-daemonswitch=FILE], [File to test for the daemon mode]), + [ALSACTL_DAEMONSWITCH="$withval"], + [ALSACTL_DAEMONSWITCH="/etc/alsa/state-daemon.conf"]) +AC_SUBST(ALSACTL_DAEMONSWITCH) + +AC_OUTPUT(Makefile alsactl/Makefile alsactl/init/Makefile \ + alsamixer/Makefile amidi/Makefile amixer/Makefile \ + m4/Makefile po/Makefile.in \ + alsaconf/alsaconf alsaconf/Makefile \ + alsaconf/po/Makefile \ + alsaucm/Makefile \ + aplay/Makefile include/Makefile iecset/Makefile utils/Makefile \ + utils/alsa-utils.spec seq/Makefile seq/aconnect/Makefile \ + seq/aplaymidi/Makefile seq/aseqdump/Makefile seq/aseqnet/Makefile \ + speaker-test/Makefile speaker-test/samples/Makefile \ + alsaloop/Makefile) |