|  | 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.25) | 
|  |  | 
|  | 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 | 
|  | AM_PATH_ALSA(1.0.24) | 
|  | AC_CHECK_FUNC([snd_ctl_elem_add_enumerated], | 
|  | , [AC_ERROR([No user enum control support in alsa-lib])]) | 
|  |  | 
|  | 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, | 
|  | [  --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, | 
|  | [  --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, | 
|  | [  --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],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]), | 
|  | [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"]) | 
|  | AC_SUBST(udevrulesdir) | 
|  |  | 
|  | dnl Checks for header files. | 
|  | AC_HEADER_STDC | 
|  | if test x$alsamixer = xtrue; then | 
|  | AC_ARG_WITH(curses, | 
|  | [  --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 | 
|  | 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 | 
|  | 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, | 
|  | [  --with-testsound=file        give the path of test sound file for alsaconf], | 
|  | TESTSOUND="$withval", | 
|  | TESTSOUND="$dir/test.wav") | 
|  | AC_SUBST(TESTSOUND) | 
|  |  | 
|  | AM_CONFIG_HEADER(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 | 
|  | PKG_PROG_PKG_CONFIG | 
|  | 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_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) |