2 # Process this file with autoconf to produce a configure script.
4 # This file is part of PulseAudio.
6 # Copyright 2004-2008 Lennart Poettering
7 # Copyright 2006-2007 Pierre Ossman <ossman@cendio.se> for Cendio AB
9 # PulseAudio is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU Lesser General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
14 # PulseAudio is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # General Public License for more details.
19 # You should have received a copy of the GNU Lesser General Public License
20 # along with PulseAudio; if not, write to the Free Software Foundation,
21 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25 AC_INIT([pulseaudio],[m4_esyscmd(./git-version-gen .tarball-version)],[pulseaudio-discuss (at) lists (dot) freedesktop (dot) org],[pulseaudio],[http://pulseaudio.org/])
26 AC_CONFIG_SRCDIR([src/daemon/main.c])
27 AC_CONFIG_MACRO_DIR([m4])
28 AC_CONFIG_HEADERS([config.h])
29 AC_CONFIG_AUX_DIR([build-aux])
30 AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability subdir-objects silent-rules color-tests dist-xz tar-ustar])
32 AS_IF([! test -n "$VERSION"], [
33 AC_MSG_ERROR([git-version-gen failed])
36 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
37 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
39 AC_SUBST(PA_MAJOR, pa_major)
40 AC_SUBST(PA_MINOR, pa_minor)
41 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
43 AC_SUBST(PA_API_VERSION, 12)
44 AC_SUBST(PA_PROTOCOL_VERSION, 29)
46 # The stable ABI for client applications, for the version info x:y:z
47 # always will hold y=z
48 AC_SUBST(LIBPULSE_VERSION_INFO, [17:3:17])
50 # A simplified, synchronous, ABI-stable interface for client
51 # applications, for the version info x:y:z always will hold y=z
52 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [1:0:1])
54 # The ABI-stable GLib adapter for client applications, for the version
55 # info x:y:z always will hold y=z
56 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:5:0])
59 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
61 AC_CHECK_PROG([STOW], [stow], [yes], [no])
63 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
64 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
65 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
68 AM_SILENT_RULES([yes])
71 #### Checks for programs. ####
82 # Only required if you want the WebRTC canceller -- no runtime dep on
85 AC_PROG_GCC_TRADITIONAL
86 AC_USE_SYSTEM_EXTENSIONS
90 AC_CHECK_PROGS([M4], gm4 m4, no)
91 AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
99 if test "x$enable_nls" != "xno"; then
100 IT_PROG_INTLTOOL([0.35.0])
102 AM_GNU_GETTEXT_VERSION([0.18.1])
103 AM_GNU_GETTEXT([external])
105 GETTEXT_PACKAGE=pulseaudio
106 AC_SUBST([GETTEXT_PACKAGE])
107 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
109 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
110 AX_DEFINE_DIR(PULSE_LOCALEDIR, pulselocaledir, [Gettext locale dir])
112 # workaround till an intltool m4 bug is fixed upstream
113 # (https://bugs.launchpad.net/intltool/+bug/904647)
119 #### Determine host OS ####
121 # if the host has the possibility of sys/capability.h for dropping privileges
122 # used to determine if we should error out if it is not found
129 AC_MSG_CHECKING([host operating system])
132 AC_MSG_RESULT([linux])
137 AC_MSG_RESULT([freebsd])
141 AC_MSG_RESULT([darwin])
143 AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
146 AC_MSG_RESULT([win32])
148 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
151 AC_MSG_RESULT([unknown])
155 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
156 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
157 AC_SUBST([OS_IS_WIN32], [$os_is_win32])
159 # Platform specific hacks
162 AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
165 AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
168 AC_DEFINE(_XOPEN_SOURCE, 600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
169 AC_DEFINE(__EXTENSIONS__, 1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
174 #### Compiler flags ####
176 AX_APPEND_COMPILE_FLAGS(
177 [-Wall -W -Wextra -pipe -Wno-long-long -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 -fno-common -fdiagnostics-show-option],
178 [], [-pedantic -Werror])
180 # Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
181 AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [AX_APPEND_FLAG(["-DFASTPATH"], [CPPFLAGS])])
183 # Only set _FORTIFY_SOURCE when optimizations are enabled. If optimizations
184 # are disabled, _FORTIFY_SOURCE doesn't do anything, and causes tons of
185 # warnings during compiling on some distributions (at least Fedora).
186 AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [AX_APPEND_FLAG(["-D_FORTIFY_SOURCE=2"], [CPPFLAGS])])
189 #### Linker flags ####
191 # Check whether the linker supports the -version-script option.
192 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
193 # so that it is expanded the right way in every subdir.
194 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
195 [VERSIONING_LDFLAGS='-Wl,-version-script=$(abs_top_srcdir)/src/map-file'])
196 AC_SUBST([VERSIONING_LDFLAGS])
198 # Use immediate (now) bindings; avoids the funky re-call in itself.
199 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
200 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
201 AC_SUBST([IMMEDIATE_LDFLAGS])
203 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
204 # so we request the nodelete flag to be enabled.
205 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
206 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
207 AC_SUBST([NODELETE_LDFLAGS])
209 # Check for the proper way to build libraries that have no undefined symbols
211 # FreeBSD (et al.) does not complete linking for shared objects when pthreads
212 # are requested, as different implementations are present.
213 *-freebsd* | *-openbsd*) ;;
215 for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
216 AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
220 AC_SUBST([NOUNDEFINED_LDFLAGS])
223 #### Atomic operations ####
225 # Native atomic operation support
226 AC_ARG_ENABLE([atomic-arm-linux-helpers],
227 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
229 AC_ARG_ENABLE([atomic-arm-memory-barrier],
230 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
232 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
233 AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
236 # If everything else fails use libatomic_ops
237 need_libatomic_ops=yes
239 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
240 pulseaudio_cv_sync_bool_compare_and_swap, [
242 [AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]])],
243 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
244 [pulseaudio_cv_sync_bool_compare_and_swap=no])
247 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
248 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
249 need_libatomic_ops=no
251 # HW specific atomic ops stuff
252 AC_MSG_CHECKING([architecture for native atomic operations])
256 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
257 # The Linux kernel helper functions have been there since 2.6.16. However
258 # compile time checking for kernel version in cross compile environment
259 # (which is usually the case for arm cpu) is tricky (or impossible).
260 if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
262 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
263 need_libatomic_ops=no
266 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
267 pulseaudio_cv_support_arm_atomic_ops, [
269 [AC_LANG_PROGRAM([], [[
272 asm volatile ("ldrex %0, [%1]\n"
274 "strexeq %0, %3, [%1]\n"
276 : "r" (&a), "Ir" (o), "r" (n)
278 return (a==1 ? 0 : -1);
280 [pulseaudio_cv_support_arm_atomic_ops=yes],
281 [pulseaudio_cv_support_arm_atomic_ops=no])
283 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
284 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
285 need_libatomic_ops=no
291 need_libatomic_ops=no
295 need_libatomic_ops=no
298 AC_MSG_RESULT([unknown])
303 # If we're on ARM, check for the ARMV6 instructions we need */
306 AC_CACHE_CHECK([support for required armv6 instructions],
307 pulseaudio_cv_support_armv6,
310 [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
311 asm volatile ("ldr r0, %2 \n"
316 "pkhbt r1, r3, r2, LSL #8 \n"
319 : "m" (a), "m" (b), "m" (c)
320 : "r0", "r1", "r2", "r3", "cc");
321 return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
323 [pulseaudio_cv_support_armv6=yes],
324 [pulseaudio_cv_support_armv6=no])
326 AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
327 AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
334 #### NEON optimisations ####
335 AC_ARG_ENABLE([neon-opt],
336 AS_HELP_STRING([--enable-neon-opt], [Enable NEON optimisations on ARM CPUs that support it]))
338 AS_IF([test "x$enable_neon_opt" != "xno"],
339 [save_CFLAGS="$CFLAGS"; CFLAGS="-mfpu=neon $CFLAGS"
341 [AC_LANG_PROGRAM([[#include <arm_neon.h>]], [])],
344 NEON_CFLAGS="-mfpu=neon"
350 CFLAGS="$save_CFLAGS"
354 AS_IF([test "x$enable_neon_opt" = "xyes" && test "x$HAVE_NEON" = "x0"],
355 [AC_MSG_ERROR([*** Compiler does not support -mfpu=neon or CFLAGS override -mfpu])])
358 AC_SUBST(NEON_CFLAGS)
359 AM_CONDITIONAL([HAVE_NEON], [test "x$HAVE_NEON" = x1])
360 AS_IF([test "x$HAVE_NEON" = "x1"], AC_DEFINE([HAVE_NEON], 1, [Have NEON support?]))
363 #### libtool stuff ####
366 LT_INIT([dlopen win32-dll disable-static])
368 dnl As an extra safety device, check for lt_dladvise_init() which is
369 dnl only implemented in libtool 2.x, and refine as we go if we have
370 dnl refined requirements.
372 dnl Check the header files first since the system may have a
373 dnl libltdl.so for runtime, but no headers, and we want to bail out as
374 dnl soon as possible.
376 dnl We don't need any special variable for this though, since the user
377 dnl can give the proper place to find libltdl through the standard
378 dnl variables like LDFLAGS and CPPFLAGS.
380 AC_CHECK_HEADER([ltdl.h],
381 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
384 AS_IF([test "x$LIBLTDL" = "x"],
385 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.4 or later installed.])])
389 ###################################
390 # Basic environment checks #
391 ###################################
393 #### Checks for header files. ####
399 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
400 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
401 sys/mman.h sys/select.h sys/socket.h sys/wait.h \
402 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
403 AC_CHECK_HEADERS([netinet/ip.h], [], [],
404 [#include <sys/types.h>
405 #if HAVE_NETINET_IN_H
406 # include <netinet/in.h>
408 #if HAVE_NETINET_IN_SYSTM_H
409 # include <netinet/in_systm.h>
412 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
413 AC_SUBST(HAVE_SYS_RESOURCE_H)
414 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
415 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
416 AC_SUBST(HAVE_AF_UNIX)
419 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
420 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
422 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
425 AC_CHECK_HEADERS_ONCE([sys/filio.h])
428 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
431 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
434 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
435 AC_CHECK_HEADERS_ONCE([byteswap.h])
436 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
437 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
438 AC_CHECK_HEADERS_ONCE([execinfo.h])
439 AC_CHECK_HEADERS_ONCE([langinfo.h])
440 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
443 #### Typdefs, structures, etc. ####
449 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
453 AC_CHECK_DECLS(environ)
456 AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
457 AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
458 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
460 # INADDR_NONE, Solaris lacks this
461 AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
462 [AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
463 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
467 AC_CACHE_CHECK([whether $CC knows _Bool],
470 [AC_LANG_PROGRAM([], [[_Bool b;]])],
471 [pulseaudio_cv__Bool=yes],
472 [pulseaudio_cv__Bool=no])
475 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
478 #### Thread support ####
481 AS_IF([test "$ac_cv_tls" == "__thread"],
482 AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
484 # Win32 build breaks with win32 pthread installed
485 AS_IF([test "x$os_is_win32" != "x1"],
488 AS_IF([test "x$ax_pthread_ok" == "xyes"],
489 AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
492 #### Check for libs ####
495 AC_SEARCH_LIBS([pow], [m])
498 AC_SEARCH_LIBS([sched_setscheduler], [rt])
499 AC_SEARCH_LIBS([dlopen], [dl])
500 AC_SEARCH_LIBS([shm_open], [rt])
501 AC_SEARCH_LIBS([inet_ntop], [nsl])
502 AC_SEARCH_LIBS([timer_create], [rt])
503 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
504 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
505 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
508 AC_SEARCH_LIBS([connect], [socket])
509 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
512 if test "x$os_is_darwin" = "x1" ; then
513 AC_MSG_CHECKING([looking for Apple CoreService Framework])
514 # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
515 AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
516 [LIBS="$LIBS -framework CoreServices"],
517 [AC_CHECK_HEADERS([/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h],
518 [LIBS="$LIBS -framework CoreServices"],
519 [AC_MSG_ERROR([CoreServices.h header file not found])]
524 AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
528 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
531 AC_SEARCH_LIBS([regexec], [pcreposix])
532 # This magic is needed so we do not needlessly add static libs to the win32 build, disabling its ability to make dlls.
533 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
536 #### Check for functions ####
539 AC_CHECK_FUNCS_ONCE([lrintf strtof])
544 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
545 getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
546 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
547 sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
548 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
549 AC_SUBST(HAVE_MKFIFO)
550 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
553 AC_CHECK_FUNCS_ONCE([readlink])
556 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
559 AC_CHECK_FUNCS_ONCE([strerror_r])
562 AC_CHECK_FUNCS_ONCE([lstat])
565 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
569 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
570 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
572 # Large File-Support (LFS)
574 # Check for open64 to know if the current system does have open64() and similar functions
575 AC_CHECK_FUNCS_ONCE([open64])
578 ###################################
579 # External libraries #
580 ###################################
586 #### X11 (optional) ####
589 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
591 AS_IF([test "x$enable_x11" != "xno"],
592 [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
595 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
596 [AC_MSG_ERROR([*** X11 not found])])
599 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
600 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
602 #### Capabilities (optional) ####
607 AS_HELP_STRING([--without-caps],[Omit support for dropping capabilities.]))
609 if test "x${with_caps}" != "xno"; then
610 AC_SEARCH_LIBS([cap_init], [cap], [], [])
612 # Only give an error on hosts that we know could support capabilities
613 AC_CHECK_HEADERS([sys/capability.h], [], [
614 if test "${host_has_caps}" = "1"; then
615 AC_MSG_ERROR([*** sys/capability.h not found. Use --without-caps to disable capabilities support.])
619 #### Valgrind (optional) ####
621 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
623 #### check unit tests ####
625 AC_ARG_ENABLE([tests],
626 AS_HELP_STRING([--disable-tests],[Disable unit tests]))
628 AS_IF([test "x$enable_tests" != "xno"],
629 [PKG_CHECK_MODULES(LIBCHECK, [ check ], HAVE_LIBCHECK=1, HAVE_LIBCHECK=0)],
632 AS_IF([test "x$enable_tests" = "xyes" && test "x$HAVE_LIBCHECK" = "x0"],
633 [AC_MSG_ERROR([*** check library not found])])
635 AM_CONDITIONAL([HAVE_TESTS], [test "x$HAVE_LIBCHECK" = x1])
637 #### json parsing ####
639 PKG_CHECK_MODULES(LIBJSON, [ json-c >= 0.11 ])
643 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
645 PKG_CHECK_MODULES(VCONF, vconf)
646 AC_SUBST(VCONF_CFLAGS)
649 dnl use dlog --------------------------------------------------------------------------
650 AC_ARG_ENABLE(dlog, AC_HELP_STRING([--enable-dlog], [using dlog]),
652 case "${enableval}" in
655 *) AC_MSG_ERROR(bad value ${enableval} for --enable-dlog) ;;
659 if test "x$USE_DLOG" = "xyes"; then
660 PKG_CHECK_MODULES(DLOG, dlog)
661 AC_SUBST(DLOG_CFLAGS)
664 AM_CONDITIONAL(USE_DLOG, test "x$USE_DLOG" = "xyes")
665 dnl end --------------------------------------------------------------------
667 dnl use bt-profile-set --------------------------------------------------------------------------
668 AC_ARG_ENABLE(bt-profile-set, AC_HELP_STRING([--enable-bt-profile-set], [enable bt profile param]),
670 case "${enableval}" in
671 yes) USE_BT_PROFILE_SET=yes ;;
672 no) USE_BT_PROFILE_SET=no ;;
673 *) AC_MSG_ERROR(bad value ${enableval} for --enable-bt-profile-set) ;;
675 ],[USE_BT_PROFILE_SET=no])
677 AM_CONDITIONAL(USE_BT_PROFILE_SET, test "x$USE_BT_PROFILE_SET" = "xyes")
678 dnl end --------------------------------------------------------------------
682 AC_MSG_CHECKING([whether we need libatomic_ops])
683 if test "x$need_libatomic_ops" = "xyes"; then
685 AC_CHECK_HEADERS([atomic_ops.h],
686 [CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
687 [AC_MSG_ERROR([*** libatomic-ops headers not found])])
689 # Win32 does not need the lib and breaks horribly if we try to include it
690 AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
695 #### Libsamplerate support (optional) ####
697 AC_ARG_ENABLE([samplerate],
698 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]))
700 AS_IF([test "x$enable_samplerate" != "xno"],
701 [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
702 HAVE_LIBSAMPLERATE=0)
704 AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
705 [AC_MSG_ERROR([*** Libsamplerate not found])])
707 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
708 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
710 #### samsung PM API support ####
712 AC_ARG_ENABLE(pmlock, AC_HELP_STRING([--enable-pmlock], [using Samsung power management api]),
714 case "${enableval}" in
715 yes) USE_PM_LOCK=yes ;;
716 no) USE_PM_LOCK=no ;;
717 *) AC_MSG_ERROR(bad value ${enableval} for --enable-pmlock) ;;
720 AM_CONDITIONAL(USE_PM_LOCK, test "x$USE_PM_LOCK" = "xyes")
722 #### pre-link option ####
723 AC_ARG_ENABLE(prelink, AC_HELP_STRING([--enable-prelink], [enable pre-link feature]),
725 case "${enableval}" in
726 yes) USE_PRELINK=yes ;;
727 no) USE_PRELINK=no ;;
728 *) AC_MSG_ERROR(bad value ${enableval} for --enable-prelink) ;;
731 AM_CONDITIONAL([USE_PRELINK], [test "x$USE_PRELINK" = "xyes"])
733 #### pulseaudio-ready option ####
734 AC_ARG_ENABLE(paready, AC_HELP_STRING([--enable-paready], [enable pulseaudio-ready feature]),
736 case "${enableval}" in
737 yes) USE_PA_READY=yes ;;
738 no) USE_PA_READY=no ;;
739 *) AC_MSG_ERROR(bad value ${enableval} for --enable-paready) ;;
742 AM_CONDITIONAL([USE_PA_READY], [test "x$USE_PA_READY" = "xyes"])
744 #### light-weight ipc support ####
745 AC_ARG_ENABLE(lwipc, AC_HELP_STRING([--enable-lwipc], [enable light weight ipc]),
747 case "${enableval}" in
748 yes) USE_LWIPC=yes ;;
750 *) AC_MSG_ERROR(bad value ${enableval} for --enable-lwipc) ;;
753 if test "x$USE_LWIPC" = "xyes"; then
754 PKG_CHECK_MODULES(LWIPC, lwipc)
755 AC_SUBST(LWIPC_CFLAGS)
758 AM_CONDITIONAL([USE_LWIPC], [test "x$USE_LWIPC" = "xyes"])
760 #### Database support ####
762 AC_ARG_WITH([database],
763 AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
766 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
767 [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
769 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
771 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
772 [AC_MSG_ERROR([*** tdb not found])])
775 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
778 AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
779 AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
782 AS_IF([test "x$HAVE_GDBM" = "x1"],
789 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
790 [AC_MSG_ERROR([*** gdbm not found])])
793 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
796 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
798 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
799 AC_MSG_ERROR([*** missing database backend]))
802 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
803 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
805 AC_SUBST(GDBM_CFLAGS)
807 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
808 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
810 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
811 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
813 #### OSS support (optional) ####
815 AC_ARG_ENABLE([oss-output],
816 AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
818 AC_ARG_ENABLE([oss-wrapper],
819 AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
821 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
822 [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
825 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
826 [AC_MSG_ERROR([*** OSS support not found])])
828 AS_IF([test "x$enable_oss_output" != "xno"],
829 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
832 AS_IF([test "x$enable_oss_wrapper" != "xno"],
833 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
836 AC_SUBST(HAVE_OSS_OUTPUT)
837 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
838 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
839 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
840 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
842 #### CoreAudio support (optional) ####
844 AC_ARG_ENABLE([coreaudio-output],
845 AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
847 AS_IF([test "x$enable_coreaudio_output" != "xno"],
848 [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
851 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
852 [AC_MSG_ERROR([*** CoreAudio output support not found])])
854 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
856 #### ALSA support (optional) ####
858 AC_ARG_ENABLE([alsa],
859 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
861 AS_IF([test "x$enable_alsa" != "xno"],
862 [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
865 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
866 [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
868 AS_IF([test "x$HAVE_ALSA" = "x1"],
870 save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS"
871 AC_CHECK_HEADERS([use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
872 CPPFLAGS="$save_CPPFLAGS"
876 AC_SUBST(ASOUNDLIB_CFLAGS)
877 AC_SUBST(ASOUNDLIB_LIBS)
879 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
880 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
881 AS_IF([test "x$HAVE_ALSA_UCM" = "x1"], AC_DEFINE([HAVE_ALSA_UCM], 1, [Have ALSA UCM?]))
883 #### EsounD support (optional) ####
885 AC_ARG_ENABLE([esound],
886 AS_HELP_STRING([--disable-esound],[Disable optional EsounD support]))
887 AM_CONDITIONAL([HAVE_ESOUND], [test "x$enable_esound" != "xno"])
888 AS_IF([test "x$enable_esound" != "xno"], [HAVE_ESOUND=1])
890 #### Solaris audio support (optional) ####
892 AC_ARG_ENABLE([solaris],
893 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
895 AS_IF([test "x$enable_solaris" != "xno"],
896 [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
899 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
900 [AC_MSG_ERROR([*** Solaris audio support not found])])
902 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
903 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
905 #### WaveOut audio support (optional) ####
907 AC_ARG_ENABLE([waveout],
908 AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
910 AS_IF([test "x$enable_waveout" != "xno"],
911 [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
914 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
915 [AC_MSG_ERROR([*** WaveOut audio support not found])])
917 AC_SUBST(HAVE_WAVEOUT)
918 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
919 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
921 #### GLib 2 support (optional) ####
923 AC_ARG_ENABLE([glib2],
924 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
926 AS_IF([test "x$enable_glib2" != "xno"],
927 [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
930 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
931 [AC_MSG_ERROR([*** GLib 2 support not found])])
933 AC_SUBST(HAVE_GLIB20)
934 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
935 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
937 #### GTK3 support (optional) ####
939 AC_ARG_ENABLE([gtk3],
940 AS_HELP_STRING([--disable-gtk3],[Disable optional Gtk+ 3 support]))
942 AS_IF([test "x$enable_gtk3" != "xno"],
943 [PKG_CHECK_MODULES(GTK30, [ gtk+-3.0 ], HAVE_GTK30=1, HAVE_GTK30=0)],
946 AS_IF([test "x$enable_gtk3" = "xyes" && test "x$HAVE_GTK30" = "x0"],
947 [AC_MSG_ERROR([*** Gtk+ 3 support not found])])
949 AM_CONDITIONAL([HAVE_GTK30], [test "x$HAVE_GTK30" = x1])
950 AS_IF([test "x$HAVE_GTK30" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
952 #### GConf support (optional) ####
954 AC_ARG_ENABLE([gconf],
955 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
957 AS_IF([test "x$enable_gconf" != "xno"],
958 [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
961 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
962 [AC_MSG_ERROR([*** GConf support not found])])
964 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
966 #### Avahi support (optional) ####
968 AC_ARG_ENABLE([avahi],
969 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
971 AS_IF([test "x$enable_avahi" != "xno"],
972 [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
975 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
976 [AC_MSG_ERROR([*** Avahi support not found])])
979 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
981 #### JACK (optional) ####
983 AC_ARG_ENABLE([jack],
984 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
986 AS_IF([test "x$enable_jack" != "xno"],
987 [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
990 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
991 [AC_MSG_ERROR([*** JACK support not found])])
993 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
995 #### Async DNS support (optional) ####
997 AC_ARG_ENABLE([asyncns],
998 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
1000 AS_IF([test "x$enable_asyncns" != "xno"],
1001 [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
1004 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
1005 [AC_MSG_ERROR([*** Async DNS support not found])])
1007 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
1008 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
1010 #### TCP wrappers (optional) ####
1012 AC_ARG_ENABLE([tcpwrap],
1013 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
1015 AS_IF([test "x$enable_tcpwrap" != "xno"],
1018 AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
1022 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
1023 [AC_MSG_ERROR([*** TCP wrappers support not found])])
1025 AC_SUBST(LIBWRAP_LIBS)
1027 #### LIRC support (optional) ####
1029 AC_ARG_ENABLE([lirc],
1030 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
1035 AS_IF([test "x$enable_lirc" != "xno"],
1038 AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
1039 AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
1043 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
1044 [AC_MSG_ERROR([*** LIRC support not found])])
1046 AC_SUBST(LIRC_CFLAGS)
1048 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1050 #### D-Bus support (optional) ####
1052 AC_ARG_ENABLE([dbus],
1053 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
1055 AS_IF([test "x$enable_dbus" != "xno"],
1056 [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.4.12 ], HAVE_DBUS=1, HAVE_DBUS=0)],
1059 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
1060 [AC_MSG_ERROR([*** D-Bus not available or too old version])])
1062 AS_IF([test "x$HAVE_DBUS" = "x1"],
1064 save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
1065 save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
1066 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1067 CFLAGS="$save_CFLAGS"
1072 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1073 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
1075 PA_MACHINE_ID="${sysconfdir}/machine-id"
1076 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
1077 PA_MACHINE_ID_FALLBACK="${localstatedir}/lib/dbus/machine-id"
1078 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
1079 [Fallback machine-id file])
1081 #### BlueZ support (optional, dependent on D-Bus and SBC) ####
1083 AC_ARG_ENABLE([bluez4],
1084 AS_HELP_STRING([--disable-bluez4],[Disable optional BlueZ 4 support]))
1085 AC_ARG_ENABLE([bluez5],
1086 AS_HELP_STRING([--disable-bluez5],[Disable optional BlueZ 5 support]))
1089 AS_IF([test "x$enable_bluez4" != "xno" || test "x$enable_bluez5" != "xno"],
1090 [PKG_CHECK_MODULES(SBC, [ sbc >= 1.0 ], HAVE_SBC=1, HAVE_SBC=0)],
1094 AS_IF([test "x$enable_bluez4" != "xno" && test "x$HAVE_DBUS" = "x1" && test "x$HAVE_SBC" = "x1"], HAVE_BLUEZ_4=1)
1095 AS_IF([test "x$enable_bluez4" = "xyes" && test "x$HAVE_BLUEZ_4" != "x1"],
1096 [AC_MSG_ERROR([*** BLUEZ 4 support not found (requires sbc and D-Bus)])])
1097 AC_SUBST(HAVE_BLUEZ_4)
1098 AM_CONDITIONAL([HAVE_BLUEZ_4], [test "x$HAVE_BLUEZ_4" = x1])
1101 AS_IF([test "x$enable_bluez5" != "xno" && test "x$HAVE_DBUS" = "x1" && test "x$HAVE_SBC" = "x1"], HAVE_BLUEZ_5=1)
1102 AS_IF([test "x$enable_bluez5" = "xyes" && test "x$HAVE_BLUEZ_5" != "x1"],
1103 [AC_MSG_ERROR([*** BLUEZ 5 support not found (requires sbc and D-Bus)])])
1104 AC_SUBST(HAVE_BLUEZ_5)
1105 AM_CONDITIONAL([HAVE_BLUEZ_5], [test "x$HAVE_BLUEZ_5" = x1])
1107 AS_IF([test "x$HAVE_BLUEZ_4" = "x1" || test "x$HAVE_BLUEZ_5" = "x1"], HAVE_BLUEZ=1)
1108 AC_SUBST(HAVE_BLUEZ)
1109 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1111 ## Headset profiles backend ##
1112 AC_ARG_WITH(bluetooth_headset_backend, AS_HELP_STRING([--with-bluetooth-headset-backend=<null|ofono>],[Backend for Bluetooth headset profiles (null)]))
1113 if test -z "$with_bluetooth_headset_backend" ; then
1114 BLUETOOTH_HEADSET_BACKEND=null
1116 BLUETOOTH_HEADSET_BACKEND=$with_bluetooth_headset_backend
1118 AC_SUBST(BLUETOOTH_HEADSET_BACKEND)
1120 #### Bluetooth A2DP aptx codec support(optional) ####
1121 AC_ARG_ENABLE([bt_a2dp_aptx],
1122 AS_HELP_STRING([--enable-bt-a2dp-aptx],[Enable optional Bluetooth A2DP aptx codec support(arm only)]),
1124 case "${enableval}" in
1125 yes) bt_a2dp_aptx=yes ;;
1126 no) bt_a2dp_aptx=no ;;
1127 *) AC_MSG_ERROR(bad value ${enableval} for --enable-bt-a2dp-aptx) ;;
1130 [bt_a2dp_aptx=false])
1131 if test "x${bt_a2dp_aptx}" == xyes ; then
1137 AC_SUBST(HAVE_BT_A2DP_APTX)
1138 AM_CONDITIONAL([HAVE_BT_A2DP_APTX], [test "x$HAVE_BT_A2DP_APTX" = x1])
1140 #### UDEV support (optional) ####
1142 AC_ARG_ENABLE([udev],
1143 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
1145 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
1146 [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
1149 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
1150 [AC_MSG_ERROR([*** UDEV support not found])])
1153 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1154 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
1156 #### udev for usb _only_ support (optional, dependant on UDEV) ####
1157 AC_ARG_ENABLE([udev_with_usb_only],
1158 AS_HELP_STRING([--enable-udev-with-usb-only],[Enable UDEV with only USB support]))
1160 AS_IF([test "x$enable_udev_with_usb_only" != "xyes"],
1161 [AS_IF([test "x$HAVE_UDEV" = "x1"], HAVE_UDEV_ONLY_USB=0, HAVE_UDEV_ONLY_USB=1)],
1162 HAVE_UDEV_ONLY_USB=1)
1164 AM_CONDITIONAL([HAVE_UDEV_ONLY_USB], [test "x$HAVE_UDEV_ONLY_USB" = x1])
1165 AS_IF([test "x$HAVE_UDEV_ONLY_USB" = "x1"], AC_DEFINE([HAVE_UDEV_ONLY_USB], 1, [Have usb only with udev.]))
1166 AS_IF([test "x$HAVE_UDEV_ONLY_USB" = "x1"], AC_DEFINE([ENABLE_UDEV_ONLY_USB], 1, [Enable usb only with udev.]))
1168 #### HAL compat support (optional, dependent on UDEV) ####
1169 AC_ARG_ENABLE([hal-compat],
1170 AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1172 AS_IF([test "x$enable_hal_compat" != "xno"],
1173 [AS_IF([test "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1176 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1177 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1179 #### IPv6 connection support (optional) ####
1181 AC_ARG_ENABLE([ipv6],
1182 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1184 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1186 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1188 #### OpenSSL support (optional) ####
1190 AC_ARG_ENABLE([openssl],
1191 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1193 AS_IF([test "x$enable_openssl" != "xno"],
1194 [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1197 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1198 [AC_MSG_ERROR([*** OpenSSL support not found])])
1200 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1201 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1203 #### FFTW (optional) ####
1206 AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1208 AS_IF([test "x$with_fftw" != "xno"],
1209 [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1212 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1213 [AC_MSG_ERROR([*** FFTW support not found])])
1215 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1217 #### speex (optional) ####
1219 AC_ARG_WITH([speex],
1220 AS_HELP_STRING([--without-speex],[Omit speex (resampling, AEC)]))
1222 AS_IF([test "x$with_speex" != "xno"],
1223 [PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ], HAVE_SPEEX=1, HAVE_SPEEX=0)],
1226 AS_IF([test "x$with_speex" = "xyes" && test "x$HAVE_SPEEX" = "x0"],
1227 [AC_MSG_ERROR([*** speex support not found])])
1229 AM_CONDITIONAL([HAVE_SPEEX], [test "x$HAVE_SPEEX" = "x1"])
1230 AS_IF([test "x$HAVE_SPEEX" = "x1"], AC_DEFINE([HAVE_SPEEX], 1, [Have speex]))
1232 #### Xen support (optional) ####
1234 AC_ARG_ENABLE([xen],
1235 AS_HELP_STRING([--disable-xen],[Disable optional Xen paravirtualized driver]))
1240 AS_IF([test "x$enable_xen" != "xno"],
1243 AC_CHECK_HEADER(xenctrl.h, [], [HAVE_XEN=0])
1244 AC_CHECK_HEADER(xs.h, [], [HAVE_XEN=0])
1245 AC_CHECK_LIB(xenctrl, xc_interface_open, [XEN_LIBS="$XEN_LIBS -lxenctrl"], [HAVE_XEN=0])
1246 AC_CHECK_LIB(xenstore, xs_domain_open, [XEN_LIBS="$XEN_LIBS -lxenstore"], [HAVE_XEN=0])
1250 AS_IF([test "x$enable_xen" = "xyes" && test "x$HAVE_XEN" = "x0"],
1251 [AC_MSG_ERROR([*** Xen development headers or libraries not found])])
1253 AC_SUBST(XEN_CFLAGS)
1255 AM_CONDITIONAL([HAVE_XEN], [test "x$HAVE_XEN" = x1])
1257 #### gcov support (optional) #####
1259 AC_ARG_ENABLE([gcov],
1260 AS_HELP_STRING([--enable-gcov],[Enable optional gcov coverage analysis]))
1265 AS_IF([test "x$enable_gcov" = "xyes"],
1268 GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs -ftest-coverage"
1269 GCOV_LIBS="$GCOV_LIBS -fprofile-arcs"
1273 AC_SUBST(GCOV_CFLAGS)
1275 AM_CONDITIONAL([HAVE_GCOV], [test "x$HAVE_GCOV" = x1])
1277 #### ORC (optional) ####
1281 #### systemd support (optional) ####
1283 AC_ARG_ENABLE([systemd-daemon],
1284 AS_HELP_STRING([--disable-systemd-daemon],[Disable optional systemd daemon (socket activation) support]))
1286 AC_ARG_ENABLE([systemd-login],
1287 AS_HELP_STRING([--disable-systemd-login],[Disable optional systemd login support]))
1289 AC_ARG_ENABLE([systemd-journal],
1290 AS_HELP_STRING([--disable-systemd-journal],[Disable optional systemd journal support]))
1292 # Newer systemd's combine their subcomponent libraries into one
1293 # If it exists, we should use it for the further checks
1295 AS_IF([test "x$enable_systemd_daemon" != "xno" || test "x$enable_systemd_login" != "xno" || test "x$enable_systemd_journal" != "xno"],
1296 [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
1299 AS_IF([test "x$HAVE_SYSTEMD" = "x1"],
1301 HAVE_SYSTEMD_DAEMON=1
1302 HAVE_SYSTEMD_LOGIN=1
1303 HAVE_SYSTEMD_JOURNAL=1
1306 AC_ARG_WITH([systemdsystemunitdir],
1307 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd system service files]),
1308 [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
1309 if test "x$with_systemdsystemunitdir" != xno; then
1310 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1313 AC_ARG_WITH([systemduserunitdir],
1314 AS_HELP_STRING([--with-systemduserunitdir=DIR], [Directory for systemd user service files]),
1315 [], [with_systemduserunitdir=$($PKG_CONFIG --variable=systemduserunitdir systemd)])
1316 if test "x$with_systemduserunitdir" != xno; then
1317 AC_SUBST([systemduserunitdir], [$with_systemduserunitdir])
1320 #### systemd daemon support (optional) ####
1322 AS_IF([test "x$enable_systemd_daemon" != "xno"],
1323 [AS_IF([test "x$HAVE_SYSTEMD_DAEMON" != "x1"], [PKG_CHECK_MODULES(SYSTEMDDAEMON, [ libsystemd-daemon ], HAVE_SYSTEMD_DAEMON=1, HAVE_SYSTEMD_DAEMON=0)])],
1324 HAVE_SYSTEMD_DAEMON=0)
1326 AS_IF([test "x$enable_systemd_daemon" = "xyes" && test "x$HAVE_SYSTEMD_DAEMON" = "x0"],
1327 [AC_MSG_ERROR([*** Needed systemd daemon support not found])])
1329 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], [ PA_DEFAULT_AUTOSPAWN=no ], [ PA_DEFAULT_AUTOSPAWN=yes ])
1330 AC_SUBST(PA_DEFAULT_AUTOSPAWN)
1332 AC_SUBST(HAVE_SYSTEMD_DAEMON)
1333 AM_CONDITIONAL([HAVE_SYSTEMD_DAEMON], [test "x$HAVE_SYSTEMD_DAEMON" = x1])
1334 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], AC_DEFINE([HAVE_SYSTEMD_DAEMON], 1, [Have SYSTEMDDAEMON?]))
1336 #### systemd login support (optional) ####
1338 AS_IF([test "x$enable_systemd_login" != "xno"],
1339 [AS_IF([test "x$HAVE_SYSTEMD_LOGIN" != "x1"], [PKG_CHECK_MODULES(SYSTEMDLOGIN, [ libsystemd-login ], HAVE_SYSTEMD_LOGIN=1, HAVE_SYSTEMD_LOGIN=0)])],
1340 HAVE_SYSTEMD_LOGIN=0)
1342 AS_IF([test "x$enable_systemd_login" = "xyes" && test "x$HAVE_SYSTEMD_LOGIN" = "x0"],
1343 [AC_MSG_ERROR([*** Needed systemd login support not found])])
1345 AC_SUBST(HAVE_SYSTEMD_LOGIN)
1346 AM_CONDITIONAL([HAVE_SYSTEMD_LOGIN], [test "x$HAVE_SYSTEMD_LOGIN" = x1])
1347 AS_IF([test "x$HAVE_SYSTEMD_LOGIN" = "x1"], AC_DEFINE([HAVE_SYSTEMD_LOGIN], 1, [Have SYSTEMDLOGIN?]))
1349 #### systemd journal support (optional) ####
1351 AS_IF([test "x$enable_systemd_journal" != "xno"],
1352 [AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" != "x1"], [PKG_CHECK_MODULES(SYSTEMDJOURNAL, [ libsystemd-journal ], HAVE_SYSTEMD_JOURNAL=1, HAVE_SYSTEMD_JOURNAL=0)])],
1353 HAVE_SYSTEMD_JOURNAL=0)
1355 AS_IF([test "x$enable_systemd_journal" = "xyes" && test "x$HAVE_SYSTEMD_JOURNAL" = "x0"],
1356 [AC_MSG_ERROR([*** Needed systemd journal support not found])])
1358 AC_SUBST(HAVE_SYSTEMD_JOURNAL)
1359 AM_CONDITIONAL([HAVE_SYSTEMD_JOURNAL], [test "x$HAVE_SYSTEMD_JOURNAL" = x1])
1360 AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" = "x1"], AC_DEFINE([HAVE_SYSTEMD_JOURNAL], 1, [Have SYSTEMDJOURNAL?]))
1362 #### Build and Install man pages ####
1364 AC_ARG_ENABLE([manpages],
1365 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1367 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1369 #### PulseAudio system group & user #####
1371 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1372 if test -z "$with_system_user" ; then
1373 PA_SYSTEM_USER=pulse
1375 PA_SYSTEM_USER=$with_system_user
1377 AC_SUBST(PA_SYSTEM_USER)
1378 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1380 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1381 if test -z "$with_system_group" ; then
1382 PA_SYSTEM_GROUP=pulse
1384 PA_SYSTEM_GROUP=$with_system_group
1386 AC_SUBST(PA_SYSTEM_GROUP)
1387 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1389 AC_ARG_WITH(access_group,AS_HELP_STRING([--with-access-group=<group>],[Group which is allowed access to a system-wide PulseAudio daemon (pulse-access)]))
1390 if test -z "$with_access_group" ; then
1391 PA_ACCESS_GROUP=pulse-access
1393 PA_ACCESS_GROUP=$with_access_group
1395 AC_SUBST(PA_ACCESS_GROUP)
1396 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1398 AC_ARG_ENABLE([per-user-esound-socket],
1399 AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1401 if test "x$enable_per_user_esound_socket" != "xno"; then
1402 USE_PER_USER_ESOUND_SOCKET=1
1403 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1405 USE_PER_USER_ESOUND_SOCKET=0
1409 dnl use security ---------------------------------------------------------------
1410 AC_ARG_ENABLE(security, AC_HELP_STRING([--enable-security], [using security]),
1412 case "${enableval}" in
1413 yes) USE_SECURITY=yes ;;
1414 no) USE_SECURITY=no ;;
1415 *) AC_MSG_ERROR(bad value ${enableval} for --enable-security) ;;
1417 ],[USE_SECURITY=no])
1418 if test "x$USE_SECURITY" = "xyes"; then
1419 PKG_CHECK_MODULES(CYNARA, [cynara-client, cynara-creds-socket, cynara-session])
1420 AC_SUBST(CYNARA_CFLAGS)
1421 AC_SUBST(CYNARA_LIBS)
1423 AM_CONDITIONAL(USE_SECURITY, test "x$USE_SECURITY" = "xyes")
1424 dnl end ------------------------------------------------------------------------
1426 #### PulseAudio system runtime dir ####
1428 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1429 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1430 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1431 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1432 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1433 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1435 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1436 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1438 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1439 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1441 AC_SUBST(PA_SOEXT, [.so])
1442 AC_DEFINE(PA_SOEXT, [".so"], [Shared object extension])
1444 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1445 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1447 #### Mac OSX specific stuff #####
1449 AC_ARG_ENABLE(mac-universal,
1450 AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1451 enable_mac_universal=$enableval, enable_mac_universal="no")
1453 AC_ARG_WITH(mac-version-min,
1454 AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1455 mac_version_min=$withval, mac_version_min="10.5")
1457 AC_ARG_WITH(mac-sysroot,
1458 AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1459 mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
1461 if test "x$os_is_darwin" = "x1" ; then
1462 LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1463 CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1465 if test "x$enable_mac_universal" = "xyes" ; then
1466 mac_arches="-arch i386 -arch x86_64"
1467 LDFLAGS="$LDFLAGS $mac_arches"
1468 CFLAGS="$CFLAGS $mac_arches"
1472 AC_ARG_ENABLE([webrtc-aec],
1473 AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1475 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1476 [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1479 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1480 [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1482 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1484 AC_ARG_ENABLE([adrian-aec],
1485 AS_HELP_STRING([--enable-adrian-aec], [Enable Adrian's optional echo canceller]))
1486 AS_IF([test "x$enable_adrian_aec" != "xno"],
1488 AM_CONDITIONAL([HAVE_ADRIAN_EC], [test "x$HAVE_ADRIAN_EC" = "x1"])
1492 ###################################
1494 ###################################
1496 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1498 # Check whether to build tests by default (as compile-test) or not
1499 AC_ARG_ENABLE([default-build-tests],
1500 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1501 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1503 AC_ARG_ENABLE([legacy-database-entry-format],
1504 AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1505 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1506 AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1508 AC_DEFINE([WIBBLE], 1, [Just a test.])
1510 AC_ARG_ENABLE([static-bins],
1511 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1512 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1516 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1517 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1518 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1519 if test "x$PREOPEN_MODS" != "xall" ; then
1521 for mod in $PREOPEN_MODS; do
1522 tmpLIBS="$tmpLIBS module-$mod.la"
1524 PREOPEN_MODS="$tmpLIBS"
1525 AC_SUBST(PREOPEN_MODS)
1530 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1531 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1533 AC_SUBST(modlibexecdir)
1534 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1538 AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1539 [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1541 AC_SUBST(udevrulesdir)
1543 AC_ARG_ENABLE([force-preopen],
1544 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1546 if test "x$enable_force_preopen" = "xyes"; then
1552 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1560 libpulse-mainloop-glib.pc
1563 doxygen/doxygen.conf
1566 man/pulseaudio.1.xml
1568 man/pax11publish.1.xml
1573 man/pasuspender.1.xml
1575 man/pulse-daemon.conf.5.xml
1576 man/pulse-client.conf.5.xml
1577 man/default.pa.5.xml
1578 man/pulse-cli-syntax.5.xml
1579 man/start-pulseaudio-kde.1.xml
1580 man/start-pulseaudio-x11.1.xml
1581 pulseaudio-module-devel.pc
1584 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1585 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1586 AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
1587 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1588 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1589 [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1590 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1591 [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1592 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1593 [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1594 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"],
1596 AC_CONFIG_FILES([src/daemon/systemd/user/pulseaudio.service:src/daemon/systemd/user/pulseaudio.service.in])
1597 AC_CONFIG_FILES([src/daemon/systemd/system/pulseaudio.service:src/daemon/systemd/system/pulseaudio.service.in])
1600 # CMake related ProjectConfig files
1602 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1603 PA_INCDIR="$includedir"
1604 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1606 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1607 [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1608 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1612 # ==========================================================================
1614 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1615 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1616 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1617 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1618 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1619 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1620 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1621 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1622 AS_IF([test "x$HAVE_GTK30" = "x1"], ENABLE_GTK30=yes, ENABLE_GTK30=no)
1623 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1624 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1625 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1626 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1627 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1628 AS_IF([test "x$HAVE_XEN" = "x1"], ENABLE_XEN=yes, ENABLE_XEN=no)
1629 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1630 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1631 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], ENABLE_SYSTEMD_DAEMON=yes, ENABLE_SYSTEMD_DAEMON=no)
1632 AS_IF([test "x$HAVE_SYSTEMD_LOGIN" = "x1"], ENABLE_SYSTEMD_LOGIN=yes, ENABLE_SYSTEMD_LOGIN=no)
1633 AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" = "x1"], ENABLE_SYSTEMD_JOURNAL=yes, ENABLE_SYSTEMD_JOURNAL=no)
1634 AS_IF([test "x$HAVE_BLUEZ_4" = "x1"], ENABLE_BLUEZ_4=yes, ENABLE_BLUEZ_4=no)
1635 AS_IF([test "x$HAVE_BLUEZ_5" = "x1"], ENABLE_BLUEZ_5=yes, ENABLE_BLUEZ_5=no)
1636 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1637 AS_IF([test "x$HAVE_UDEV_ONLY_USB" = "x1"], ENABLE_UDEV_ONLY_USB=yes, ENABLE_UDEV_ONLY_USB=no)
1638 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1639 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
1640 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1641 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1642 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1643 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1644 AS_IF([test "x$HAVE_ADRIAN_EC" = "x1"], ENABLE_ADRIAN_EC=yes, ENABLE_ADRIAN_EC=no)
1645 AS_IF([test "x$HAVE_SPEEX" = "x1"], ENABLE_SPEEX=yes, ENABLE_SPEEX=no)
1646 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1647 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1648 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1649 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1650 AS_IF([test "x$HAVE_ESOUND" = "x1"], ENABLE_ESOUND=yes, ENABLE_ESOUND=no)
1651 AS_IF([test "x$HAVE_ESOUND" = "x1" -a "x$USE_PER_USER_ESOUND_SOCKET" = "x1"], ENABLE_PER_USER_ESOUND_SOCKET=yes, ENABLE_PER_USER_ESOUND_SOCKET=no)
1652 AS_IF([test "x$HAVE_GCOV" = "x1"], ENABLE_GCOV=yes, ENABLE_GCOV=no)
1653 AS_IF([test "x$HAVE_LIBCHECK" = "x1"], ENABLE_TESTS=yes, ENABLE_TESTS=no)
1654 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1655 AS_IF([test "x$USE_DLOG" = "xyes"], ENABLE_DLOG=yes, ENABLE_DLOG=no)
1656 AS_IF([test "x$USE_PM_LOCK" = "xyes"], ENABLE_PM_LOCK=yes, ENABLE_PM_LOCK=no)
1657 AS_IF([test "x$USE_BT_PROFILE_SET" = "xyes"], ENABLE_BT_PROFILE_SET=yes, ENABLE_BT_PROFILE_SET=no)
1658 AS_IF([test "x$HAVE_BT_A2DP_APTX" = "x1"], HAVE_BT_A2DP_APTX=yes, HAVE_BT_A2DP_APTX=no)
1661 ---{ $PACKAGE_NAME $VERSION }---
1664 sysconfdir: ${sysconfdir}
1665 localstatedir: ${localstatedir}
1666 modlibexecdir: ${modlibexecdir}
1667 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1668 System State Path: ${PA_SYSTEM_STATE_PATH}
1669 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1672 CPPFLAGS: ${CPPFLAGS}
1675 Enable X11: ${ENABLE_X11}
1676 Enable OSS Output: ${ENABLE_OSS_OUTPUT}
1677 Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
1678 Enable EsounD: ${ENABLE_ESOUND}
1679 Enable Alsa: ${ENABLE_ALSA}
1680 Enable CoreAudio: ${ENABLE_COREAUDIO}
1681 Enable Solaris: ${ENABLE_SOLARIS}
1682 Enable WaveOut: ${ENABLE_WAVEOUT}
1683 Enable GLib 2.0: ${ENABLE_GLIB20}
1684 Enable Gtk+ 3.0: ${ENABLE_GTK30}
1685 Enable GConf: ${ENABLE_GCONF}
1686 Enable Avahi: ${ENABLE_AVAHI}
1687 Enable Jack: ${ENABLE_JACK}
1688 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1689 Enable LIRC: ${ENABLE_LIRC}
1690 Enable Xen PV driver: ${ENABLE_XEN}
1691 Enable D-Bus: ${ENABLE_DBUS}
1692 Enable BlueZ 4: ${ENABLE_BLUEZ_4}
1693 Enable BlueZ 5: ${ENABLE_BLUEZ_5}
1694 headset backed: ${BLUETOOTH_HEADSET_BACKEND}
1695 Enable udev: ${ENABLE_UDEV}
1696 Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
1698 Daemon (Socket Activation): ${ENABLE_SYSTEMD_DAEMON}
1699 Login (Session Tracking): ${ENABLE_SYSTEMD_LOGIN}
1700 Journal (Logging): ${ENABLE_SYSTEMD_JOURNAL}
1701 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1702 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1703 Enable IPv6: ${ENABLE_IPV6}
1704 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1705 Enable fftw: ${ENABLE_FFTW}
1706 Enable orc: ${ENABLE_ORC}
1707 Enable Adrian echo canceller: ${ENABLE_ADRIAN_EC}
1708 Enable speex (resampler, AEC): ${ENABLE_SPEEX}
1709 Enable WebRTC echo canceller: ${ENABLE_WEBRTC}
1710 Enable gcov coverage: ${ENABLE_GCOV}
1711 Enable unit tests: ${ENABLE_TESTS}
1714 gdbm: ${ENABLE_GDBM}
1715 simple database: ${ENABLE_SIMPLEDB}
1717 System User: ${PA_SYSTEM_USER}
1718 System Group: ${PA_SYSTEM_GROUP}
1719 Access Group: ${PA_ACCESS_GROUP}
1720 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1721 Force preopen: ${FORCE_PREOPEN}
1722 Preopened modules: ${PREOPEN_MODS}
1724 Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1727 dlog: ${ENABLE_DLOG}
1728 pmapi: ${ENABLE_PM_LOCK}
1729 bluetooth profile set: ${ENABLE_BT_PROFILE_SET}
1730 bluetooth aptx codec: ${HAVE_BT_A2DP_APTX}
1731 udev with usb only: ${ENABLE_UDEV_ONLY_USB}
1734 if test "${ENABLE_SPEEX}" = "no" && test "${ENABLE_WEBRTC}" = "no" && test "${ENABLE_ADRIAN_EC}" = "no" ; then
1735 AC_MSG_ERROR([At least one echo canceller implementation must be available.])
1738 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1740 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1741 You do not have D-Bus support enabled. It is strongly recommended
1742 that you enable D-Bus support if your platform supports it.
1743 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1744 to the Device Reservation Protocol to speak to JACK, Bluetooth
1745 support and even a native control protocol for communicating and
1746 controling the PulseAudio daemon itself.
1747 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1751 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1753 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1754 You do not have udev support enabled. It is strongly recommended
1755 that you enable udev support if your platform supports it as it is
1756 the primary method used to detect hardware audio devices (on Linux)
1757 and is thus a critical part of PulseAudio on that platform.
1758 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1762 if test "${ENABLE_SPEEX}" = "no" && test "x$os_is_win32" != "x1" ; then
1764 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1765 You do not have speex support enabled. It is strongly recommended
1766 that you enable speex support if your platform supports it as it is
1767 the primary method used for audio resampling and is thus a critical
1768 part of PulseAudio on that platform.
1769 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====