# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. # This file is part of PulseAudio. # # Copyright 2004-2008 Lennart Poettering # Copyright 2006-2007 Pierre Ossman for Cendio AB # # PulseAudio is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, write to the Free Software Foundation, # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. AC_PREREQ(2.63) AC_INIT([pulseaudio],[m4_esyscmd(./git-version-gen .tarball-version)],[mzchyfrnhqvb (at) 0pointer (dot) net]) AC_CONFIG_SRCDIR([src/daemon/main.c]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax]) m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`) m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`) AC_SUBST(PA_MAJOR, pa_major) AC_SUBST(PA_MINOR, pa_minor) AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor) AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/]) AC_SUBST(PA_API_VERSION, 12) AC_SUBST(PA_PROTOCOL_VERSION, 21) # The stable ABI for client applications, for the version info x:y:z # always will hold y=z AC_SUBST(LIBPULSE_VERSION_INFO, [12:3:12]) # A simplified, synchronous, ABI-stable interface for client # applications, for the version info x:y:z always will hold y=z AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0]) # The ABI-stable network browsing interface for client applications, # for the version info x:y:z always will hold y=z AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1]) # The ABI-stable GLib adapter for client applications, for the version # info x:y:z always will hold y=z AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0]) AC_CANONICAL_HOST AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.]) AC_CHECK_PROG([STOW], [stow], [yes], [no]) AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [ AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***]) ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}" ]) AM_SILENT_RULES([yes]) #### Checks for programs. #### # mkdir -p AC_PROG_MKDIR_P # CC AC_PROG_CC AC_PROG_CC_C99 AM_PROG_CC_C_O AC_PROG_GCC_TRADITIONAL AC_USE_SYSTEM_EXTENSIONS #### Platform hacks #### case $host in *-*-solaris* ) AC_DEFINE(_XOPEN_SOURCE, 600, Needed to get declarations for msg_control and msg_controllen on Solaris) AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris) ;; *-*-darwin* ) AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X]) ;; esac # M4 AC_CHECK_PROGS([M4], gm4 m4, no) if test "x$M4" = xno ; then AC_MSG_ERROR([m4 missing]) fi dnl Compiler flags # Some compilers (e.g. clang) default to a warning on an unkown command line option. # Change that temporarily to an error, for the CC_CHECK_CFLAGS_APPEND macro to work. save_CC="$CC" CC="$CC -Werror" CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pipe -Wno-long-long -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option]) CC="$save_CC" dnl Linker flags. dnl Check whether the linker supports the -version-script option. dnl This variable is used to make sure ${srcdir} is expanded and not dnl passed to the CC_CHECK_LDFLAGS macro as a name. tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file" CC_CHECK_LDFLAGS([${tmp_ldflag}], [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file']) AC_SUBST([VERSIONING_LDFLAGS]) dnl Use immediate (now) bindings; avoids the funky re-call in itself dnl the -z now syntax is lifted from Sun's linker and works with GNU's too dnl other linkes might be added later CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"]) AC_SUBST([IMMEDIATE_LDFLAGS]) dnl On ELF systems we don't want the libraries to be unloaded since we dnl don't clean them up properly, so we request the nodelete flag to be dnl enabled. dnl dnl On other systems, we don't really know how to do that, but it's dnl welcome if somebody can tell. CC_CHECK_LDFLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS="-Wl,-z,nodelete"]) AC_SUBST([NODELETE_LDFLAGS]) dnl Check for the proper way to build libraries that have no undefined dnl symbols; on some hosts this needs to be avoided but the macro dnl takes care of it. CC_NOUNDEFINED dnl Check whether to build tests by default (as compile-test) or not AC_ARG_ENABLE([default-build-tests], AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check])) AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"]) # Native atomic operation support AC_ARG_ENABLE([atomic-arm-linux-helpers], AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead])) AC_ARG_ENABLE([atomic-arm-memory-barrier], AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems])) if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) fi AC_ARG_ENABLE(mac-universal, AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]), enable_mac_universal=$enableval, enable_mac_universal="no") AC_ARG_WITH(mac-version-min, AS_HELP_STRING([--with-mac-version-min=], [Defines the earliest version of MacOS X that the executables will run on.]), mac_version_min=$withval, mac_version_min="10.5") AC_ARG_WITH(mac-sysroot, AS_HELP_STRING([--with-mac-sysroot=], [SDK basedir to use as the logical root directory for headers and libraries.]), mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk") AC_MSG_CHECKING([target operating system]) case $host in *-*-linux*) AC_MSG_RESULT([linux]) pulse_target_os=linux ;; *-*-darwin*) AC_MSG_RESULT([darwin]) pulse_target_os=darwin LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min" CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min" if test "x$enable_mac_universal" = "xyes" ; then mac_arches="-arch i386 -arch x86_64" LDFLAGS="$LDFLAGS $mac_arches" CFLAGS="$CFLAGS $mac_arches" fi ;; *) AC_MSG_RESULT([unknown]) pulse_target_os=unknown ;; esac # If everything else fails use libatomic_ops need_libatomic_ops=yes AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()], pulseaudio_cv_sync_bool_compare_and_swap, [AC_LINK_IFELSE( AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]), [pulseaudio_cv_sync_bool_compare_and_swap=yes], [pulseaudio_cv_sync_bool_compare_and_swap=no]) ]) if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.]) need_libatomic_ops=no else # HW specific atomic ops stuff AC_MSG_CHECKING([architecture for native atomic operations]) case $host in arm*) AC_MSG_RESULT([arm]) AC_MSG_CHECKING([whether we can use Linux kernel helpers]) # The Linux kernel helper functions have been there since 2.6.16. However # compile time checking for kernel version in cross compile environment # (which is usually the case for arm cpu) is tricky (or impossible). if test "x$pulse_target_os" = "xlinux" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then AC_MSG_RESULT([yes]) AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation]) need_libatomic_ops=no else AC_MSG_RESULT([no]) AC_CACHE_CHECK([compiler support for arm inline asm atomic operations], pulseaudio_cv_support_arm_atomic_ops, [AC_COMPILE_IFELSE( AC_LANG_PROGRAM([], [[volatile int a=0; int o=0, n=1, r; asm volatile ("ldrex %0, [%1]\n" "subs %0, %0, %2\n" "strexeq %0, %3, [%1]\n" : "=&r" (r) : "r" (&a), "Ir" (o), "r" (n) : "cc"); return (a==1 ? 0 : -1); ]]), [pulseaudio_cv_support_arm_atomic_ops=yes], [pulseaudio_cv_support_arm_atomic_ops=no]) ]) AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [ AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.]) need_libatomic_ops=no ]) fi ;; *-netbsdelf5*) AC_MSG_RESULT([yes]) need_libatomic_ops=no ;; *-freebsd*) AC_MSG_RESULT([yes]) need_libatomic_ops=no ;; *) AC_MSG_RESULT([unknown]) ;; esac fi # If we're on ARM, check for the ARMV6 instructions we need */ case $host in arm*) AC_CACHE_CHECK([support for required armv6 instructions], pulseaudio_cv_support_armv6, [AC_COMPILE_IFELSE( AC_LANG_PROGRAM([], [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd; asm volatile ("ldr r0, %2 \n" "ldr r2, %3 \n" "ldr r3, %4 \n" "ssat r1, #8, r0 \n" "str r1, %0 \n" "pkhbt r1, r3, r2, LSL #8 \n" "str r1, %1 \n" : "=m" (a), "=m" (b) : "m" (a), "m" (b), "m" (c) : "r0", "r1", "r2", "r3", "cc"); return (a == -128 && b == 0xaabbdddd) ? 0 : -1; ]]), [pulseaudio_cv_support_armv6=yes], [pulseaudio_cv_support_armv6=no]) ]) AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [ AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.]) ]) ;; *) ;; esac CC_CHECK_TLS AC_CACHE_CHECK([whether $CC knows _Bool], pulseaudio_cv__Bool, [AC_COMPILE_IFELSE( AC_LANG_PROGRAM([], [[_Bool b;]]), [pulseaudio_cv__Bool=yes], [pulseaudio_cv__Bool=no]) ]) AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [ AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]) ]) #### libtool stuff #### LT_PREREQ(2.2) LT_INIT([dlopen win32-dll disable-static]) dnl Unfortunately, even up to libtool 2.2.6a there is no way to know dnl exactly which version of libltdl is present in the system, so we dnl just assume that it's a working version as long as we have the dnl library and the header files. dnl dnl As an extra safety device, check for lt_dladvise_init() which is dnl only implemented in libtool 2.x, and refine as we go if we have dnl refined requirements. dnl dnl Check the header files first since the system may have a dnl libltdl.so for runtime, but no headers, and we want to bail out as dnl soon as possible. dnl dnl We don't need any special variable for this though, since the user dnl can give the proper place to find libltdl through the standard dnl variables like LDFLAGS and CPPFLAGS. AC_CHECK_HEADER([ltdl.h], [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])], [LIBLTDL=]) AS_IF([test "x$LIBLTDL" = "x"], [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])]) AC_SUBST([LIBLTDL]) #### Determine build environment #### os_is_win32=0 os_is_darwin=0 case "$host_os" in mingw*) AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.]) os_is_win32=1 ;; darwin*) AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.]) os_is_darwin=1 ;; esac AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1") AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1") ################################### # Basic environment checks # ################################### #### Checks for header files. #### # ISO AC_HEADER_STDC # POSIX AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \ netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \ sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \ sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h]) AC_CHECK_HEADERS([netinet/ip.h], [], [], [#include #if HAVE_NETINET_IN_H # include #endif #if HAVE_NETINET_IN_SYSTM_H # include #endif ]) AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0]) AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1") # Linux AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0]) AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"]) AC_CHECK_HEADERS_ONCE([sys/prctl.h]) # Solaris AC_CHECK_HEADERS_ONCE([sys/filio.h]) # Windows AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h]) # NetBSD AC_CHECK_HEADERS_ONCE([sys/atomic.h]) # Other AC_CHECK_HEADERS_ONCE([sys/ioctl.h]) AC_CHECK_HEADERS_ONCE([byteswap.h]) AC_CHECK_HEADERS_ONCE([sys/syscall.h]) AC_CHECK_HEADERS_ONCE([sys/eventfd.h]) AC_CHECK_HEADERS_ONCE([execinfo.h]) AC_CHECK_HEADERS_ONCE([langinfo.h]) AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h]) #### Typdefs, structures, etc. #### AC_C_CONST AC_C_BIGENDIAN AC_TYPE_PID_T AC_TYPE_SIZE_T AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.])]) AC_TYPE_OFF_T AC_TYPE_UID_T AC_CHECK_DECLS(environ) AC_CHECK_DEFINE([SIGXCPU], [signal.h], [ HAVE_SIGXCPU=1 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]) ], [HAVE_SIGXCPU=0]) AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1") # Solaris lacks this AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [], [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [], [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in ])])]) #### POSIX threads #### ACX_PTHREAD #### Check for libs #### # ISO AC_SEARCH_LIBS([pow], [m]) # POSIX AC_SEARCH_LIBS([sched_setscheduler], [rt]) AC_SEARCH_LIBS([dlopen], [dl]) AC_SEARCH_LIBS([shm_open], [rt]) AC_SEARCH_LIBS([inet_ntop], [nsl]) AC_SEARCH_LIBS([timer_create], [rt]) AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread]) AC_SEARCH_LIBS([pthread_getname_np], [pthread]) AC_SEARCH_LIBS([pthread_setname_np], [pthread]) # BSD AC_SEARCH_LIBS([connect], [socket]) AC_SEARCH_LIBS([backtrace], [execinfo]) # Darwin/OS X if test "x$os_is_darwin" = "x1" ; then AC_MSG_CHECKING([looking for Apple CoreService Framework]) # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h], [LIBS="$LIBS -framework CoreServices"], [AC_MSG_ERROR([CoreServices.h header file not found]) ]) AC_MSG_RESULT([ok]) AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement]) HAVE_BONJOUR=1 fi AC_SUBST(HAVE_BONJOUR) AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1]) # Windows AC_SEARCH_LIBS([regexec], [pcreposix]) # This magic is needed so we do not needlessly add static libs to the win32 build, disabling its ability to make dlls. AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])]) #### Check for functions #### # ISO AC_CHECK_FUNCS_ONCE([lrintf strtof]) # POSIX AC_FUNC_FORK AC_FUNC_GETGROUPS AC_FUNC_SELECT_ARGTYPES AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \ getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \ pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \ sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np]) AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0]) AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1") # X/OPEN AC_CHECK_FUNCS_ONCE([readlink]) # SUSv2 AC_CHECK_FUNCS_ONCE([ctime_r usleep]) # SUSv3 AC_CHECK_FUNCS_ONCE([strerror_r]) # BSD AC_CHECK_FUNCS_ONCE([lstat]) # Non-standard AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4]) AC_FUNC_ALLOCA AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], pulseaudio_cv_PTHREAD_PRIO_INHERIT, [save_CC=$CC; CC=$PTHREAD_CC save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS AC_LINK_IFELSE( AC_LANG_PROGRAM( [[ #include ]], [[int i = PTHREAD_PRIO_INHERIT;]]), [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes], [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no]) CC=$save_CC CFLAGS=$save_CFLAGS LIBS=$save_LIBS ]) AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [ AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.]) ]) AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation]) AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0]) AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"]) #### Large File-Support (LFS) #### AC_SYS_LARGEFILE # Check for open64 to know if the current system does have open64() and similar functions AC_CHECK_FUNCS_ONCE([open64]) #### [lib]iconv #### AM_ICONV IT_PROG_INTLTOOL([0.35.0]) GETTEXT_PACKAGE=pulseaudio AC_SUBST([GETTEXT_PACKAGE]) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package]) AM_GLIB_GNU_GETTEXT pulselocaledir='${prefix}/${DATADIRNAME}/locale' AC_SUBST(pulselocaledir) ################################### # External libraries # ################################### #### pkg-config #### PKG_PROG_PKG_CONFIG #### X11 (optional) #### AC_ARG_ENABLE([x11], AS_HELP_STRING([--disable-x11],[Disable optional X11 support])) AS_IF([test "x$enable_x11" != "xno"], [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)], HAVE_X11=0) AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"], [AC_MSG_ERROR([*** X11 not found])]) AC_SUBST(X11_CFLAGS) AC_SUBST(X11_LIBS) AC_SUBST(HAVE_X11) AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1]) AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?])) #### Capabilities (optional) #### CAP_LIBS='' AC_ARG_WITH( [caps], AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.])) if test "x${with_caps}" != "xno"; then AC_SEARCH_LIBS([cap_init], [cap], [], [ if test "x${with_caps}" = "xyes" ; then AC_MSG_ERROR([*** POSIX caps libraries not found]) fi]) AC_CHECK_HEADERS([sys/capability.h], [], [ if test "x${with_caps}" = "xyes" ; then AC_MSG_ERROR([*** POSIX caps headers not found]) fi]) fi #### Valgrind (optional) #### AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h]) #### json parsing #### PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ]) AC_SUBST(LIBJSON_CFLAGS) AC_SUBST(LIBJSON_LIBS) #### Sound file #### PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ]) AC_SUBST(LIBSNDFILE_CFLAGS) AC_SUBST(LIBSNDFILE_LIBS) PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ]) AC_SUBST(LIBSPEEX_CFLAGS) AC_SUBST(LIBSPEEX_LIBS) #### atomic-ops ### AC_MSG_CHECKING([whether we need libatomic_ops]) if test "x$need_libatomic_ops" = "xyes"; then AC_MSG_RESULT([yes]) AC_CHECK_HEADERS([atomic_ops.h], [], [ AC_MSG_ERROR([*** libatomic-ops headers not found]) ]) # Win32 does not need the lib and breaks horribly if we try to include it if test "x$os_is_win32" != "x1" ; then LIBS="$LIBS -latomic_ops" fi else AC_MSG_RESULT([no]) fi #### Libsamplerate support (optional) #### AC_ARG_ENABLE([samplerate], AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support])) AS_IF([test "x$enable_samplerate" != "xno"], [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)], HAVE_LIBSAMPLERATE=0) AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"], [AC_MSG_ERROR([*** Libsamplerate not found])]) AC_SUBST(LIBSAMPLERATE_CFLAGS) AC_SUBST(LIBSAMPLERATE_LIBS) AC_SUBST(HAVE_LIBSAMPLERATE) AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1]) AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])) #### Database support #### AC_ARG_WITH([database], AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto]) AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"], [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)], HAVE_TDB=0) AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb) AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"], [AC_MSG_ERROR([*** tdb not found])]) AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"], [ HAVE_GDBM=1 AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0) AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0) ], HAVE_GDBM=0) AS_IF([test "x$HAVE_GDBM" = "x1"], [ with_database=gdbm GDBM_CFLAGS= GDBM_LIBS=-lgdbm ]) AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"], [AC_MSG_ERROR([*** gdbm not found])]) AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"], HAVE_SIMPLEDB=1, HAVE_SIMPLEDB=0) AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple) AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1], AC_MSG_ERROR([*** missing database backend])) AC_SUBST(TDB_CFLAGS) AC_SUBST(TDB_LIBS) AC_SUBST(HAVE_TDB) AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1]) AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?])) AC_SUBST(GDBM_CFLAGS) AC_SUBST(GDBM_LIBS) AC_SUBST(HAVE_GDBM) AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1]) AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])) AC_SUBST(HAVE_SIMPLEDB) AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1]) AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?])) #### OSS support (optional) #### AC_ARG_ENABLE([oss-output], AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support])) AC_ARG_ENABLE([oss-wrapper], AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support])) AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"], [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)], HAVE_OSS=0) AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"], [AC_MSG_ERROR([*** OSS support not found])]) AS_IF([test "x$enable_oss_output" != "xno"], [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)], HAVE_OSS_OUTPUT=0) AS_IF([test "x$enable_oss_wrapper" != "xno"], [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)], HAVE_OSS_WRAPPER=0) AC_SUBST(HAVE_OSS) AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"]) AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"]) AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])) AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?])) #### CoreAudio support (optional) #### AC_ARG_ENABLE([coreaudio-output], AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support])) AS_IF([test "x$enable_coreaudio_output" != "xno"], [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)], HAVE_COREAUDIO=0) AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"], [AC_MSG_ERROR([*** CoreAudio output support not found])]) AC_SUBST(HAVE_COREAUDIO) AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"]) #### ALSA support (optional) #### AC_ARG_ENABLE([alsa], AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support])) AS_IF([test "x$enable_alsa" != "xno"], [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)], HAVE_ALSA=0) AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"], [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])]) AC_SUBST(ASOUNDLIB_CFLAGS) AC_SUBST(ASOUNDLIB_LIBS) AC_SUBST(HAVE_ALSA) AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1]) AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])) #### Solaris audio support (optional) #### AC_ARG_ENABLE([solaris], AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support])) AS_IF([test "x$enable_solaris" != "xno"], [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)], HAVE_SOLARIS=0) AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"], [AC_MSG_ERROR([*** Solaris audio support not found])]) AC_SUBST(HAVE_SOLARIS) AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1]) AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])) #### WaveOut audio support (optional) #### AC_ARG_ENABLE([waveout], AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support])) AS_IF([test "x$enable_waveout" != "xno"], [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include ])], HAVE_WAVEOUT=0) AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"], [AC_MSG_ERROR([*** WaveOut audio support not found])]) AC_SUBST(HAVE_WAVEOUT) AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1]) AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?])) #### GLib 2 support (optional) #### AC_ARG_ENABLE([glib2], AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support])) AS_IF([test "x$enable_glib2" != "xno"], [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)], HAVE_GLIB20=0) AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"], [AC_MSG_ERROR([*** GLib 2 support not found])]) AC_SUBST(GLIB20_CFLAGS) AC_SUBST(GLIB20_LIBS) AC_SUBST(HAVE_GLIB20) AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1]) AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])) #### GTK2 support (optional) #### AC_ARG_ENABLE([gtk2], AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support])) AS_IF([test "x$enable_gtk2" != "xno"], [PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ], HAVE_GTK20=1, HAVE_GTK20=0)], HAVE_GTK20=0) AS_IF([test "x$enable_gtk2" = "xyes" && test "x$HAVE_GTK20" = "x0"], [AC_MSG_ERROR([*** Gtk+ 2 support not found])]) AC_SUBST(GTK20_CFLAGS) AC_SUBST(GTK20_LIBS) AC_SUBST(HAVE_GTK20) AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1]) AS_IF([test "x$HAVE_GTK20" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?])) #### GConf support (optional) #### AC_ARG_ENABLE([gconf], AS_HELP_STRING([--disable-gconf],[Disable optional GConf support])) AS_IF([test "x$enable_gconf" != "xno"], [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)], HAVE_GCONF=0) AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"], [AC_MSG_ERROR([*** GConf support not found])]) AC_SUBST(GCONF_CFLAGS) AC_SUBST(GCONF_LIBS) AC_SUBST(HAVE_GCONF) AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1]) #### Avahi support (optional) #### AC_ARG_ENABLE([avahi], AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support])) AS_IF([test "x$enable_avahi" != "xno"], [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)], HAVE_AVAHI=0) AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"], [AC_MSG_ERROR([*** Avahi support not found])]) AC_SUBST(AVAHI_CFLAGS) AC_SUBST(AVAHI_LIBS) AC_SUBST(HAVE_AVAHI) AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1]) ### JACK (optional) #### AC_ARG_ENABLE([jack], AS_HELP_STRING([--disable-jack],[Disable optional JACK support])) AS_IF([test "x$enable_jack" != "xno"], [PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ], HAVE_JACK=1, HAVE_JACK=0)], HAVE_JACK=0) AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"], [AC_MSG_ERROR([*** JACK support not found])]) AC_SUBST(JACK_CFLAGS) AC_SUBST(JACK_LIBS) AC_SUBST(HAVE_JACK) AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1]) #### Async DNS support (optional) #### AC_ARG_ENABLE([asyncns], AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support])) AS_IF([test "x$enable_asyncns" != "xno"], [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)], HAVE_LIBASYNCNS=0) AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"], [AC_MSG_ERROR([*** Async DNS support not found])]) AC_SUBST(LIBASYNCNS_CFLAGS) AC_SUBST(LIBASYNCNS_LIBS) AC_SUBST(HAVE_LIBASYNCNS) AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1]) AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])) #### TCP wrappers (optional) #### AC_ARG_ENABLE([tcpwrap], AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support])) AS_IF([test "x$enable_tcpwrap" != "xno"], [ ACX_LIBWRAP AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0) ], HAVE_TCPWRAP=0) AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"], [AC_MSG_ERROR([*** TCP wrappers support not found])]) AC_SUBST(LIBWRAP_LIBS) #### LIRC support (optional) #### AC_ARG_ENABLE([lirc], AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support])) AS_IF([test "x$enable_lirc" != "xno"], [ACX_LIRC], HAVE_LIRC=0) AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"], [AC_MSG_ERROR([*** LIRC support not found])]) AC_SUBST(LIRC_CFLAGS) AC_SUBST(LIRC_LIBS) AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1]) #### HAL support (optional) #### AC_ARG_ENABLE([hal], AS_HELP_STRING([--disable-hal],[Disable optional HAL support])) AS_IF([test "x$enable_hal" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)], [PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ], HAVE_HAL=1, HAVE_HAL=0)], HAVE_HAL=0) AS_IF([test "x$enable_hal" = "xyes" && test "x$HAVE_HAL" = "x0"], [AC_MSG_ERROR([*** HAL support not found])]) AC_SUBST(HAL_CFLAGS) AC_SUBST(HAL_LIBS) AC_SUBST(HAVE_HAL) AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1]) AS_IF([test "x$HAVE_HAL" = "x1"], AC_DEFINE([HAVE_HAL], 1, [Have HAL.])) #### UDEV support (optional) #### AC_ARG_ENABLE([udev], AS_HELP_STRING([--disable-udev],[Disable optional UDEV support])) AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)], [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)], HAVE_UDEV=0) AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"], [AC_MSG_ERROR([*** UDEV support not found])]) AC_SUBST(UDEV_CFLAGS) AC_SUBST(UDEV_LIBS) AC_SUBST(HAVE_UDEV) AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1]) AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])) #### BlueZ support (optional) #### AC_ARG_ENABLE([bluez], AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support])) AS_IF([test "x$enable_bluez" != "xno"], [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)], HAVE_BLUEZ=0) AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"], [AC_MSG_ERROR([*** BLUEZ support not found])]) AC_SUBST(BLUEZ_CFLAGS) AC_SUBST(BLUEZ_LIBS) AC_SUBST(HAVE_BLUEZ) AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1]) #### D-Bus support (optional) #### AC_ARG_ENABLE([dbus], AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support])) AS_IF([test "x$enable_dbus" != "xno"], [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ], HAVE_DBUS=1, HAVE_DBUS=0)], HAVE_DBUS=0) AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"], [AC_MSG_ERROR([*** D-Bus support not found])]) AS_IF([test "x$HAVE_DBUS" = "x1"], [ saved_LIBS="$LIBS" LIBS="$LIBS $DBUS_LIBS" CFLAGS="$CFLAGS $DBUS_CFLAGS" AC_CHECK_FUNCS(dbus_watch_get_unix_fd) LIBS="$saved_LIBS" ]) AC_SUBST(DBUS_CFLAGS) AC_SUBST(DBUS_LIBS) AC_SUBST(HAVE_DBUS) AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1]) AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])) # HAL and BlueZ depend on D-Bus: So double check if they were explicitly enabled. if test "x$HAVE_DBUS" != "x1" ; then HAVE_HAL=0 if test "x$enable_hal" = "xyes"; then AC_MSG_ERROR([*** D-Bus support is required by HAL]) fi HAVE_BLUEZ=0 if test "x$enable_bluez" = "xyes"; then AC_MSG_ERROR([*** D-Bus support is required by BLUEZ]) fi fi #### HAL compat support (optional) #### AC_ARG_ENABLE([hal-compat], AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support])) if test "x$enable_hal_compat" != "xno" -a "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1"; then HAVE_HAL_COMPAT=1 AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]) else HAVE_HAL_COMPAT=0 fi AC_SUBST(HAVE_HAL_COMPAT) AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1]) ### IPv6 connection support (optional) ### AC_ARG_ENABLE([ipv6], AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support])) if test "x$enable_ipv6" != "xno"; then AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support]) HAVE_IPV6=1 else HAVE_IPV6=0 fi #### OpenSSL support (optional) #### AC_ARG_ENABLE([openssl], AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)])) AS_IF([test "x$enable_openssl" != "xno"], [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)], HAVE_OPENSSL=0) AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"], [AC_MSG_ERROR([*** OpenSSL support not found])]) AC_SUBST(OPENSSL_CFLAGS) AC_SUBST(OPENSSL_LIBS) AC_SUBST(HAVE_OPENSSL) AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1]) AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])) #### FFTW (optional) #### AC_ARG_WITH([fftw], AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)])) AS_IF([test "x$with_fftw" != "xno"], [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)], HAVE_FFTW=0) AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"]) ### ORC (optional) ### ORC_CHECK([0.4.11]) ### Build and Install man pages ### AC_ARG_ENABLE([manpages], AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages])) AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"]) #### PulseAudio system group & user ##### AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=],[User for running the PulseAudio daemon as a system-wide instance (pulse)])) if test -z "$with_system_user" ; then PA_SYSTEM_USER=pulse else PA_SYSTEM_USER=$with_system_user fi AC_SUBST(PA_SYSTEM_USER) AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon]) AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=],[Group for running the PulseAudio daemon as a system-wide instance (pulse)])) if test -z "$with_system_group" ; then PA_SYSTEM_GROUP=pulse else PA_SYSTEM_GROUP=$with_system_group fi AC_SUBST(PA_SYSTEM_GROUP) AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon]) AC_ARG_WITH(access_group,AS_HELP_STRING([--with-access-group=],[Group which is allowed access to a system-wide PulseAudio daemon (pulse-access)])) if test -z "$with_access_group" ; then PA_ACCESS_GROUP=pulse-access else PA_ACCESS_GROUP=$with_access_group fi AC_SUBST(PA_ACCESS_GROUP) AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group]) AC_ARG_ENABLE([per-user-esound-socket], AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.])) if test "x$enable_per_user_esound_socket" != "xno"; then USE_PER_USER_ESOUND_SOCKET=1 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories]) else USE_PER_USER_ESOUND_SOCKET=0 fi #### PulseAudio system runtime dir #### PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse" AC_SUBST(PA_SYSTEM_RUNTIME_PATH) PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse" AC_SUBST(PA_SYSTEM_CONFIG_PATH) PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse" AC_SUBST(PA_SYSTEM_STATE_PATH) ################################### # Output # ################################### AC_ARG_ENABLE([legacy-runtime-dir], AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.])) if test "x$enable_legacy_runtime_dir" != "xno" ; then AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir]) fi AC_ARG_ENABLE([static-bins], AS_HELP_STRING([--enable-static-bins],[Statically link executables.])) if test "x$enable_static_bins" = "xyes"; then STATIC_BINS=1 else STATIC_BINS=0 fi AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"]) AC_ARG_WITH( [preopen-mods], AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]), [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"]) AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"]) if test "x$PREOPEN_MODS" != "xall" ; then tmpLIBS="" for mod in $PREOPEN_MODS; do tmpLIBS="$tmpLIBS module-$mod.la" done PREOPEN_MODS="$tmpLIBS" AC_SUBST(PREOPEN_MODS) fi AC_ARG_WITH( [module-dir], AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]), [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"]) AC_SUBST(modlibexecdir) 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) AC_ARG_ENABLE([force-preopen], AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.])) if test "x$enable_force_preopen" = "xyes"; then FORCE_PREOPEN=yes else FORCE_PREOPEN=no fi AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"]) AC_CONFIG_FILES([ Makefile src/Makefile man/Makefile libpulse.pc libpulse-simple.pc libpulse-browse.pc libpulse-mainloop-glib.pc doxygen/Makefile doxygen/doxygen.conf src/pulse/version.h po/Makefile.in ]) AC_OUTPUT # ========================================================================== AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no) AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no) AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no) AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no) AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no) AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no) AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no) AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no) AS_IF([test "x$HAVE_GTK20" = "x1"], ENABLE_GTK20=yes, ENABLE_GTK20=no) AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no) AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no) AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no) AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no) AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no) AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no) AS_IF([test "x$HAVE_HAL" = "x1"], ENABLE_HAL=yes, ENABLE_HAL=no) AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no) AS_IF([test "x$HAVE_BLUEZ" = "x1"], ENABLE_BLUEZ=yes, ENABLE_BLUEZ=no) AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no) AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no) AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no) AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no) AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no) AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no) AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no) AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no) AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no) AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no) AS_IF([test "x$USE_PER_USER_ESOUND_SOCKET" = "x1"], ENABLE_PER_USER_ESOUND_SOCKET=yes, ENABLE_PER_USER_ESOUND_SOCKET=no) echo " ---{ $PACKAGE_NAME $VERSION }--- prefix: ${prefix} sysconfdir: ${sysconfdir} localstatedir: ${localstatedir} System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH} System State Path: ${PA_SYSTEM_STATE_PATH} System Config Path: ${PA_SYSTEM_CONFIG_PATH} Compiler: ${CC} CFLAGS: ${CFLAGS} LIBS: ${LIBS} Enable X11: ${ENABLE_X11} Enable OSS Output: ${ENABLE_OSS_OUTPUT} Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER} Enable Alsa: ${ENABLE_ALSA} Enable CoreAudio: ${ENABLE_COREAUDIO} Enable Solaris: ${ENABLE_SOLARIS} Enable WaveOut: ${ENABLE_WAVEOUT} Enable GLib 2.0: ${ENABLE_GLIB20} Enable Gtk+ 2.0: ${ENABLE_GTK20} Enable GConf: ${ENABLE_GCONF} Enable Avahi: ${ENABLE_AVAHI} Enable Jack: ${ENABLE_JACK} Enable Async DNS: ${ENABLE_LIBASYNCNS} Enable LIRC: ${ENABLE_LIRC} Enable D-Bus: ${ENABLE_DBUS} Enable HAL: ${ENABLE_HAL} Enable BlueZ: ${ENABLE_BLUEZ} Enable udev: ${ENABLE_UDEV} Enable HAL->udev compat: ${ENABLE_HAL_COMPAT} Enable TCP Wrappers: ${ENABLE_TCPWRAP} Enable libsamplerate: ${ENABLE_LIBSAMPLERATE} Enable IPv6: ${ENABLE_IPV6} Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL} Enable fftw: ${ENABLE_FFTW} Enable orc: ${ENABLE_ORC} Database tdb: ${ENABLE_TDB} gdbm: ${ENABLE_GDBM} simple database: ${ENABLE_SIMPLEDB} System User: ${PA_SYSTEM_USER} System Group: ${PA_SYSTEM_GROUP} Access Group: ${PA_ACCESS_GROUP} Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET} Force preopen: ${FORCE_PREOPEN} Preopened modules: ${PREOPEN_MODS} " if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then echo " ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING ===== You do not have D-Bus support enabled. It is strongly recommended that you enable D-Bus support if your platform supports it. Many parts of PulseAudio use D-Bus, from ConsoleKit interaction to the Device Reservation Protocol to speak to JACK, Bluetooth support and even a native control protocol for communicating and controling the PulseAudio daemon itself. ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING ===== " fi if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then echo " ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING ===== You do not have udev support enabled. It is strongly recommended that you enable udev support if your platform supports it as it is the primary method used to detect hardware audio devices (on Linux) and is thus a critical part of PulseAudio on that platform. ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING ===== " fi