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, see <http://www.gnu.org/licenses/>.
24 AC_INIT([pulseaudio],[m4_esyscmd(./git-version-gen .tarball-version)],[pulseaudio-discuss (at) lists (dot) freedesktop (dot) org],[pulseaudio],[http://pulseaudio.org/])
25 AC_CONFIG_SRCDIR([src/daemon/main.c])
26 AC_CONFIG_MACRO_DIR([m4])
27 AC_CONFIG_HEADERS([config.h])
28 AC_CONFIG_AUX_DIR([build-aux])
29 AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability subdir-objects silent-rules color-tests dist-xz tar-ustar])
31 AM_MAINTAINER_MODE([enable])
33 AS_IF([! test -n "$VERSION"], [
34 AC_MSG_ERROR([git-version-gen failed])
37 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
38 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
40 AC_SUBST(PA_MAJOR, pa_major)
41 AC_SUBST(PA_MINOR, pa_minor)
42 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
44 AC_SUBST(PA_API_VERSION, 12)
45 AC_SUBST(PA_PROTOCOL_VERSION, 33)
47 # The stable ABI for client applications, for the version info x:y:z
48 # always will hold y=z
49 AC_SUBST(LIBPULSE_VERSION_INFO, [21:0:21])
51 # A simplified, synchronous, ABI-stable interface for client
52 # applications, for the version info x:y:z always will hold y=z
53 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [1:1:1])
55 # The ABI-stable GLib adapter for client applications, for the version
56 # info x:y:z always will hold y=z
57 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:5:0])
60 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
62 AC_CHECK_PROG([STOW], [stow], [yes], [no])
64 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
65 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
66 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
69 AM_SILENT_RULES([yes])
72 #### Checks for programs. ####
86 # Only required if you want the WebRTC canceller -- no runtime dep on
89 AC_PROG_GCC_TRADITIONAL
90 AC_USE_SYSTEM_EXTENSIONS
91 AX_CXX_COMPILE_STDCXX_11([ext],[optional])
95 AC_CHECK_PROGS([M4], gm4 m4, no)
96 AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
104 AM_GNU_GETTEXT_VERSION([0.19.3])
105 AM_GNU_GETTEXT([external])
107 GETTEXT_PACKAGE=pulseaudio
108 AC_SUBST([GETTEXT_PACKAGE])
109 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
112 #### Determine host OS ####
114 # if the host has the possibility of sys/capability.h for dropping privileges
115 # used to determine if we should error out if it is not found
122 AC_MSG_CHECKING([host operating system])
125 AC_MSG_RESULT([linux])
130 AC_MSG_RESULT([freebsd])
134 AC_MSG_RESULT([netbsd])
137 AC_MSG_RESULT([darwin])
139 AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
142 AC_MSG_RESULT([win32])
144 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
147 AC_MSG_RESULT([unknown])
151 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
152 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
153 AC_SUBST([OS_IS_WIN32], [$os_is_win32])
155 # Platform specific hacks
158 AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
161 AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
164 AC_DEFINE(_XOPEN_SOURCE, 600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
165 AC_DEFINE(__EXTENSIONS__, 1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
170 #### Compiler flags ####
172 AX_CHECK_COMPILE_FLAG([-std=gnu11],
174 [AC_MSG_ERROR([*** Compiler does not support -std=gnu11])],
177 AX_APPEND_COMPILE_FLAGS(
178 [-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 -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto],
179 [], [-pedantic -Werror])
181 AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [
182 # Don't append the flag if it already exists.
183 # Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
184 AX_APPEND_FLAG([-DFASTPATH], [CPPFLAGS])
186 # Cannot use AX_APPEND_FLAG here, as it assumes no space inside the added flags.
187 # Cannot append flags with AX_APPEND_FLAG one by one, as this would destroy all fortifications
188 # if CPPFLAGS already contain -D_FORTIFY_SOURCE=2.
190 # Warnings to be aware of that appear with -D_FORTIFY_SOURCE=2 but without -U_FORTIFY_SOURCE:
191 # On Fedora 20 with -O0: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
192 # On Gentoo with -O2: "_FORTIFY_SOURCE" redefined [enabled by default]
193 AS_VAR_APPEND([CPPFLAGS],[" -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2"])
196 #### Linker flags ####
198 # Check whether the linker supports the -version-script option.
199 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
200 # so that it is expanded the right way in every subdir.
201 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
202 [VERSIONING_LDFLAGS='-Wl,-version-script=$(abs_top_srcdir)/src/map-file'])
203 AC_SUBST([VERSIONING_LDFLAGS])
205 # Use immediate (now) bindings; avoids the funky re-call in itself.
206 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
207 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
208 AC_SUBST([IMMEDIATE_LDFLAGS])
209 AS_CASE([$IMMEDIATE_LDFLAGS],[*-z,now*],
210 [AC_DEFINE([HAVE_BIND_NOW],[1],
211 [Define to 1 if immediate binding is available])])
213 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
214 # so we request the nodelete flag to be enabled.
215 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
216 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS], [-shared])
217 AC_SUBST([NODELETE_LDFLAGS])
219 # Check for the proper way to build libraries that have no undefined symbols
221 # FreeBSD (et al.) does not complete linking for shared objects when pthreads
222 # are requested, as different implementations are present.
223 *-freebsd* | *-openbsd*) ;;
225 for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
226 AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
230 AC_SUBST([NOUNDEFINED_LDFLAGS])
233 #### Atomic operations ####
235 # Native atomic operation support
236 AC_ARG_ENABLE([atomic-arm-linux-helpers],
237 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
239 AC_ARG_ENABLE([atomic-arm-memory-barrier],
240 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
242 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
243 AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
246 # If everything else fails use libatomic_ops
247 need_libatomic_ops=yes
249 AC_CACHE_CHECK([whether $CC knows __atomic_store_n()],
250 pulseaudio_cv_atomic_store_n, [
252 [AC_LANG_PROGRAM([], [[int c = 0; __atomic_store_n(&c, 4, __ATOMIC_SEQ_CST);]])],
253 [pulseaudio_cv_atomic_store_n=yes],
254 [pulseaudio_cv_atomic_store_n=no])
258 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
259 pulseaudio_cv_sync_bool_compare_and_swap, [
261 [AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]])],
262 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
263 [pulseaudio_cv_sync_bool_compare_and_swap=no])
266 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
267 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
268 if test "$pulseaudio_cv_atomic_store_n" = "yes" ; then
269 AC_DEFINE([HAVE_ATOMIC_BUILTINS_MEMORY_MODEL], 1, [Have __atomic_store_n() and friends.])
271 need_libatomic_ops=no
273 # HW specific atomic ops stuff
274 AC_MSG_CHECKING([architecture for native atomic operations])
278 need_libatomic_ops=no
282 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
283 # The Linux kernel helper functions have been there since 2.6.16. However
284 # compile time checking for kernel version in cross compile environment
285 # (which is usually the case for arm cpu) is tricky (or impossible).
286 if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
288 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
289 need_libatomic_ops=no
292 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
293 pulseaudio_cv_support_arm_atomic_ops, [
295 [AC_LANG_PROGRAM([], [[
298 asm volatile ("ldrex %0, [%1]\n"
300 "strexeq %0, %3, [%1]\n"
302 : "r" (&a), "Ir" (o), "r" (n)
304 return (a==1 ? 0 : -1);
306 [pulseaudio_cv_support_arm_atomic_ops=yes],
307 [pulseaudio_cv_support_arm_atomic_ops=no])
309 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
310 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
311 need_libatomic_ops=no
317 need_libatomic_ops=no
320 AC_MSG_RESULT([unknown])
325 # If we're on ARM, check for the ARMV6 instructions we need */
328 AC_CACHE_CHECK([support for required armv6 instructions],
329 pulseaudio_cv_support_armv6,
332 [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
333 asm volatile ("ldr r0, %2 \n"
338 "pkhbt r1, r3, r2, LSL #8 \n"
341 : "m" (a), "m" (b), "m" (c)
342 : "r0", "r1", "r2", "r3", "cc");
343 return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
345 [pulseaudio_cv_support_armv6=yes],
346 [pulseaudio_cv_support_armv6=no])
348 AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
349 AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
356 #### NEON optimisations ####
357 AC_ARG_ENABLE([neon-opt],
358 AS_HELP_STRING([--enable-neon-opt], [Enable NEON optimisations on ARM CPUs that support it]))
360 AS_IF([test "x$enable_neon_opt" != "xno"],
361 [save_CFLAGS="$CFLAGS"; CFLAGS="-mfpu=neon $CFLAGS"
363 [AC_LANG_PROGRAM([[#include <arm_neon.h>]], [])],
366 NEON_CFLAGS="-mfpu=neon"
372 CFLAGS="$save_CFLAGS"
376 AS_IF([test "x$enable_neon_opt" = "xyes" && test "x$HAVE_NEON" = "x0"],
377 [AC_MSG_ERROR([*** Compiler does not support -mfpu=neon or CFLAGS override -mfpu])])
380 AC_SUBST(NEON_CFLAGS)
381 AM_CONDITIONAL([HAVE_NEON], [test "x$HAVE_NEON" = x1])
382 AS_IF([test "x$HAVE_NEON" = "x1"], AC_DEFINE([HAVE_NEON], 1, [Have NEON support?]))
385 #### libtool stuff ####
388 LT_INIT([dlopen win32-dll disable-static])
390 dnl As an extra safety device, check for lt_dladvise_init() which is
391 dnl only implemented in libtool 2.x, and refine as we go if we have
392 dnl refined requirements.
394 dnl Check the header files first since the system may have a
395 dnl libltdl.so for runtime, but no headers, and we want to bail out as
396 dnl soon as possible.
398 dnl We don't need any special variable for this though, since the user
399 dnl can give the proper place to find libltdl through the standard
400 dnl variables like LDFLAGS and CPPFLAGS.
402 AC_CHECK_HEADER([ltdl.h],
403 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
406 AS_IF([test "x$LIBLTDL" = "x"],
407 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.4 or later installed.])])
411 ###################################
412 # Basic environment checks #
413 ###################################
415 #### Checks for header files. ####
421 AC_CHECK_HEADERS_ONCE([arpa/inet.h cpuid.h glob.h grp.h netdb.h netinet/in.h \
422 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
423 sys/mman.h sys/select.h sys/socket.h sys/wait.h \
424 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
425 AC_CHECK_HEADERS([netinet/ip.h], [], [],
426 [#include <sys/types.h>
427 #if HAVE_NETINET_IN_H
428 # include <netinet/in.h>
430 #if HAVE_NETINET_IN_SYSTM_H
431 # include <netinet/in_systm.h>
434 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
435 AC_SUBST(HAVE_SYS_RESOURCE_H)
436 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
437 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
438 AC_SUBST(HAVE_AF_UNIX)
441 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
442 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
444 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
447 AC_CHECK_HEADERS_ONCE([sys/conf.h sys/filio.h])
450 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
453 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
456 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
457 AC_CHECK_HEADERS_ONCE([byteswap.h])
458 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
459 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
460 AC_CHECK_HEADERS_ONCE([execinfo.h])
461 AC_CHECK_HEADERS_ONCE([langinfo.h])
462 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
463 AC_CHECK_HEADERS_ONCE([locale.h xlocale.h])
465 AM_CONDITIONAL(HAVE_SYS_EVENTFD_H, test "x$ac_cv_header_sys_eventfd_h" = "xyes")
467 #### Typdefs, structures, etc. ####
473 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
477 AC_CHECK_DECLS(environ)
479 AC_CHECK_SIZEOF(void*)
481 fast_64bit_operations="no"
482 # This check covers x32-ABI
483 AC_CHECK_DECL([__x86_64__], [fast_64bit_operations="yes"], [], [])
484 if test "x$fast_64bit_operations" = "xno"; then
485 AS_IF([test $ac_cv_sizeof_voidp -ge 8], [fast_64bit_operations="yes"])
488 AS_IF([test "x$fast_64bit_operations" = "xyes"], AC_DEFINE([HAVE_FAST_64BIT_OPERATIONS], 1, [Have CPU with fast 64-bit operations?]))
491 AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
492 AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
493 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
495 # INADDR_NONE, Solaris lacks this
496 AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
497 [AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
498 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
502 AC_CACHE_CHECK([whether $CC knows _Bool],
505 [AC_LANG_PROGRAM([], [[_Bool b;]])],
506 [pulseaudio_cv__Bool=yes],
507 [pulseaudio_cv__Bool=no])
510 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
513 #### Check for libs ####
516 AC_SEARCH_LIBS([pow], [m])
519 AC_SEARCH_LIBS([sched_setscheduler], [rt])
520 AC_SEARCH_LIBS([dlopen], [dl])
521 AC_SEARCH_LIBS([shm_open], [rt])
522 AC_SEARCH_LIBS([inet_ntop], [nsl])
523 AC_SEARCH_LIBS([timer_create], [rt])
524 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
525 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
526 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
529 AC_SEARCH_LIBS([connect], [socket])
530 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
533 if test "x$os_is_darwin" = "x1" ; then
534 AC_MSG_CHECKING([looking for Apple CoreService Framework])
535 AC_CHECK_HEADER([CoreServices/CoreServices.h],
536 [LIBS="$LIBS -framework CoreServices"],
537 [AC_MSG_ERROR([CoreServices.h header file not found])]
541 AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
545 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
548 AC_SEARCH_LIBS([regexec], [pcreposix])
549 # This magic is needed so we do not needlessly add static libs to the win32 build, disabling its ability to make dlls.
550 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
553 #### Check for functions ####
556 AC_CHECK_FUNCS_ONCE([lrintf strtof])
561 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
562 getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
563 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
564 sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
565 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
566 AC_SUBST(HAVE_MKFIFO)
567 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
570 AC_CHECK_FUNCS_ONCE([readlink])
573 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
576 AC_CHECK_FUNCS_ONCE([strerror_r])
579 AC_CHECK_FUNCS_ONCE([lstat paccept])
582 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtod_l pipe2 accept4])
586 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
587 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
589 # Large File-Support (LFS)
591 # Check for open64 to know if the current system does have open64() and similar functions
592 AC_CHECK_FUNCS_ONCE([open64])
594 AC_SEARCH_LIBS([dladdr], [dl], [HAVE_DLADDR=1], [HAVE_DLADDR=0])
595 AC_DEFINE(HAVE_DLADDR, [1], [Have dladdr?])
597 ###################################
598 # External libraries #
599 ###################################
605 #### Linux memfd_create(2) SHM support ####
607 AC_ARG_ENABLE([memfd],
608 AS_HELP_STRING([--disable-memfd], [Disable Linux memfd shared memory]))
610 AS_IF([test "x$enable_memfd" != "xno"],
611 AC_CHECK_DECL(SYS_memfd_create, [HAVE_MEMFD=1], [HAVE_MEMFD=0], [#include <sys/syscall.h>]),
614 AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"],
615 [AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory.
616 *** Use linux v3.17 or higher for such a feature.])])
618 AS_IF([test "x$HAVE_MEMFD" = "x1"],
619 AC_CHECK_FUNCS([memfd_create]))
622 AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1])
623 AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.]))
625 #### X11 (optional) ####
628 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
630 AS_IF([test "x$enable_x11" != "xno"],
631 [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
634 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
635 [AC_MSG_ERROR([*** X11 not found])])
638 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
639 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
641 #### Capabilities (optional) ####
646 AS_HELP_STRING([--without-caps],[Omit support for dropping capabilities.]))
648 if test "x${with_caps}" != "xno"; then
649 AC_SEARCH_LIBS([cap_init], [cap], [], [])
651 # Only give an error on hosts that we know could support capabilities
652 AC_CHECK_HEADERS([sys/capability.h], [], [
653 if test "${host_has_caps}" = "1"; then
654 AC_MSG_ERROR([*** sys/capability.h not found. Use --without-caps to disable capabilities support.])
658 #### Valgrind (optional) ####
660 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
662 #### check unit tests ####
664 AC_ARG_ENABLE([tests],
665 AS_HELP_STRING([--disable-tests],[Disable unit tests]))
667 AS_IF([test "x$enable_tests" != "xno"],
668 [PKG_CHECK_MODULES(LIBCHECK, [ check >= 0.9.10 ], HAVE_LIBCHECK=1, HAVE_LIBCHECK=0)],
671 AS_IF([test "x$enable_tests" = "xyes" && test "x$HAVE_LIBCHECK" = "x0"],
672 [AC_MSG_ERROR([*** check library not found or too old])])
674 AM_CONDITIONAL([HAVE_TESTS], [test "x$HAVE_LIBCHECK" = x1])
678 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
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([--enable-samplerate],[Enable optional libsamplerate support (DEPRECATED)]))
700 AS_IF([test "x$enable_samplerate" = "xyes"],
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 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_MSG_WARN([Support for libsamplerate is DEPRECATED]))
712 #### Database support ####
714 AC_ARG_WITH([database],
715 AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
718 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
719 [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
721 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
723 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
724 [AC_MSG_ERROR([*** tdb not found])])
727 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
730 AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
731 AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
734 AS_IF([test "x$HAVE_GDBM" = "x1"],
741 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
742 [AC_MSG_ERROR([*** gdbm not found])])
745 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
748 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
750 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
751 AC_MSG_ERROR([*** missing database backend]))
754 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
755 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
757 AC_SUBST(GDBM_CFLAGS)
759 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
760 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
762 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
763 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
765 #### OSS support (optional) ####
767 AC_ARG_ENABLE([oss-output],
768 AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
770 AC_ARG_ENABLE([oss-wrapper],
771 AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
773 AC_ARG_WITH([pulsedsp-location],
774 AS_HELP_STRING([--with-pulsedsp-location],[Specify location where OSS wrapper will be installed]))
776 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
777 [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
780 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
781 [AC_MSG_ERROR([*** OSS support not found])])
783 AS_IF([test "x$enable_oss_output" != "xno"],
784 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
787 AS_IF([test "x$enable_oss_wrapper" != "xno"],
788 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
791 AS_IF([test "x$with_pulsedsp_location" != "x"],
792 [PULSEDSP_LOCATION="$with_pulsedsp_location"],
793 [PULSEDSP_LOCATION="\$(pkglibdir)"])
795 AC_SUBST(HAVE_OSS_OUTPUT)
796 AC_SUBST(PULSEDSP_LOCATION)
797 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
798 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
799 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
800 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
802 # Some platforms like SunOS (Illumos) may ship without SOUND_PCM_* functionality
803 if test "x$HAVE_OSS" = "x1"; then
804 AC_CHECK_DECLS([SOUND_PCM_READ_RATE], [], [], [[#include <sys/soundcard.h>]])
805 AC_CHECK_DECLS([SOUND_PCM_READ_CHANNELS], [], [], [[#include <sys/soundcard.h>]])
806 AC_CHECK_DECLS([SOUND_PCM_READ_BITS], [], [], [[#include <sys/soundcard.h>]])
809 #### CoreAudio support (optional) ####
811 AC_ARG_ENABLE([coreaudio-output],
812 AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
814 AS_IF([test "x$enable_coreaudio_output" != "xno"],
815 [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
818 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
819 [AC_MSG_ERROR([*** CoreAudio output support not found])])
821 AC_SUBST(HAVE_COREAUDIO)
822 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
824 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], AC_DEFINE([HAVE_COREAUDIO], 1, [Have CoreAudio?]))
826 #### ALSA support (optional) ####
828 AC_ARG_ENABLE([alsa],
829 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
831 AS_IF([test "x$enable_alsa" != "xno"],
832 [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
835 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
836 [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
838 AS_IF([test "x$HAVE_ALSA" = "x1"],
840 save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS"
841 AC_CHECK_HEADERS([alsa/use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
842 CPPFLAGS="$save_CPPFLAGS"
847 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
848 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
849 AS_IF([test "x$HAVE_ALSA_UCM" = "x1"], AC_DEFINE([HAVE_ALSA_UCM], 1, [Have ALSA UCM?]))
851 #### EsounD support (optional) ####
853 AC_ARG_ENABLE([esound],
854 AS_HELP_STRING([--disable-esound],[Disable optional EsounD support]))
855 AM_CONDITIONAL([HAVE_ESOUND], [test "x$enable_esound" != "xno"])
856 AS_IF([test "x$enable_esound" != "xno"], [HAVE_ESOUND=1])
858 #### Solaris audio support (optional) ####
860 AC_ARG_ENABLE([solaris],
861 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
863 AS_IF([test "x$enable_solaris" != "xno"],
864 [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
867 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
868 [AC_MSG_ERROR([*** Solaris audio support not found])])
870 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
871 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
873 #### WaveOut audio support (optional) ####
875 AC_ARG_ENABLE([waveout],
876 AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
878 AS_IF([test "x$enable_waveout" != "xno"],
879 [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
882 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
883 [AC_MSG_ERROR([*** WaveOut audio support not found])])
885 AC_SUBST(HAVE_WAVEOUT)
886 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
887 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
889 #### GLib 2 support (optional) ####
891 AC_ARG_ENABLE([glib2],
892 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
894 AS_IF([test "x$enable_glib2" != "xno"],
895 [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
898 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
899 [AC_MSG_ERROR([*** GLib 2 support not found])])
901 AC_SUBST(HAVE_GLIB20)
902 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
903 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
905 #### GTK3 support (optional) ####
907 AC_ARG_ENABLE([gtk3],
908 AS_HELP_STRING([--disable-gtk3],[Disable optional Gtk+ 3 support]))
910 AS_IF([test "x$enable_gtk3" != "xno"],
911 [PKG_CHECK_MODULES(GTK30, [ gtk+-3.0 ], HAVE_GTK30=1, HAVE_GTK30=0)],
914 AS_IF([test "x$enable_gtk3" = "xyes" && test "x$HAVE_GTK30" = "x0"],
915 [AC_MSG_ERROR([*** Gtk+ 3 support not found])])
917 AM_CONDITIONAL([HAVE_GTK30], [test "x$HAVE_GTK30" = x1])
918 AS_IF([test "x$HAVE_GTK30" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
920 #### GSettings and GConf support (optional) ####
922 AC_ARG_ENABLE([gsettings],
923 AS_HELP_STRING([--disable-gsettings],[Disable optional GSettings support]))
925 AC_ARG_ENABLE([gconf],
926 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
928 AS_IF([test "x$enable_gsettings" != "xno"],
929 [PKG_CHECK_MODULES(GSETTINGS, [ gio-2.0 >= 2.26.0 ], [HAVE_GSETTINGS=1], [HAVE_GSETTINGS=0])],
932 AS_IF([test "x$enable_gsettings" = "xyes" && test "x$HAVE_GSETTINGS" = "x0"],
933 [AC_MSG_ERROR([*** GSettings support not found])])
935 AS_IF([test "x$enable_gconf" != "xno"],
936 [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
939 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
940 [AC_MSG_ERROR([*** GConf support not found])])
942 # Enable only one of GSettings and GConf, unless both were explicitly
943 # requested. If neither was explicitly requested and both are available, prefer
944 # GSettings. This is done, because if module-gsettings and module-gconf are
945 # both loaded, they can cause conflicting or at least confusing configuration.
946 # Distributions may want to enable both modules when building PulseAudio, if
947 # they ensure that both modules are never installed at the same time.
948 AS_IF([test "x$HAVE_GSETTINGS" = "x1" && test "x$enable_gconf" != "xyes"],
950 AS_IF([test "x$HAVE_GCONF" = "x1" && test "x$enable_gsettings" != "xyes"],
953 AM_CONDITIONAL([HAVE_GSETTINGS], [test "x$HAVE_GSETTINGS" = "x1"])
954 AC_SUBST([HAVE_GSETTINGS])
955 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = "x1"])
956 AC_SUBST([HAVE_GCONF])
958 if test "x$HAVE_GSETTINGS" = "x1" ; then
962 #### Avahi support (optional) ####
964 AC_ARG_ENABLE([avahi],
965 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
967 AS_IF([test "x$enable_avahi" != "xno"],
968 [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
971 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
972 [AC_MSG_ERROR([*** Avahi support not found])])
975 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
977 #### JACK (optional) ####
979 AC_ARG_ENABLE([jack],
980 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
982 AS_IF([test "x$enable_jack" != "xno"],
983 [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
986 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
987 [AC_MSG_ERROR([*** JACK support not found])])
989 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
991 #### Async DNS support (optional) ####
993 AC_ARG_ENABLE([asyncns],
994 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
996 AS_IF([test "x$enable_asyncns" != "xno"],
997 [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
1000 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
1001 [AC_MSG_ERROR([*** Async DNS support not found])])
1003 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
1004 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
1006 #### Running from build tree (optional) ####
1008 AC_ARG_ENABLE([running-from-build-tree],
1009 AS_HELP_STRING([--disable-running-from-build-tree],[Disable running from build tree]))
1011 AS_IF([test "x$enable_running_from_build_tree" != "xno"],
1012 AC_DEFINE([HAVE_RUNNING_FROM_BUILD_TREE], 1, [Have running from build tree]))
1014 AC_SUBST(HAVE_RUNNING_FROM_BUILD_TREE)
1016 #### TCP wrappers (optional) ####
1018 AC_ARG_ENABLE([tcpwrap],
1019 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
1021 AS_IF([test "x$enable_tcpwrap" != "xno"],
1024 AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
1028 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
1029 [AC_MSG_ERROR([*** TCP wrappers support not found])])
1031 AC_SUBST(LIBWRAP_LIBS)
1033 #### LIRC support (optional) ####
1035 AC_ARG_ENABLE([lirc],
1036 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
1041 AS_IF([test "x$enable_lirc" != "xno"],
1044 AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
1045 AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
1049 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
1050 [AC_MSG_ERROR([*** LIRC support not found])])
1052 AC_SUBST(LIRC_CFLAGS)
1054 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1056 #### D-Bus support (optional) ####
1058 AC_ARG_ENABLE([dbus],
1059 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
1061 AS_IF([test "x$enable_dbus" != "xno"],
1062 [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.4.12 ], HAVE_DBUS=1, HAVE_DBUS=0)],
1065 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
1066 [AC_MSG_ERROR([*** D-Bus not available or too old version])])
1069 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1070 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
1072 PA_MACHINE_ID="${sysconfdir}/machine-id"
1073 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
1074 PA_MACHINE_ID_FALLBACK="${localstatedir}/lib/dbus/machine-id"
1075 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
1076 [Fallback machine-id file])
1078 #### BlueZ support (optional, dependent on D-Bus and SBC) ####
1080 AC_ARG_ENABLE([bluez5],
1081 AS_HELP_STRING([--disable-bluez5],[Disable optional BlueZ 5 support]))
1084 AS_IF([test "x$enable_bluez5" != "xno"],
1085 [PKG_CHECK_MODULES(SBC, [ sbc >= 1.0 ], HAVE_SBC=1, HAVE_SBC=0)],
1089 AS_IF([test "x$enable_bluez5" != "xno" && test "x$HAVE_DBUS" = "x1" && test "x$HAVE_SBC" = "x1"], HAVE_BLUEZ_5=1,
1091 AS_IF([test "x$enable_bluez5" = "xyes" && test "x$HAVE_BLUEZ_5" != "x1"],
1092 [AC_MSG_ERROR([*** BLUEZ 5 support not found (requires sbc and D-Bus)])])
1093 AC_SUBST(HAVE_BLUEZ_5)
1094 AM_CONDITIONAL([HAVE_BLUEZ_5], [test "x$HAVE_BLUEZ_5" = x1])
1096 AS_IF([test "x$HAVE_BLUEZ_5" = "x1"], HAVE_BLUEZ=1, HAVE_BLUEZ=0)
1097 AC_SUBST(HAVE_BLUEZ)
1098 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1100 ## Bluetooth Headset profiles backend ##
1102 AC_ARG_ENABLE([bluez5-ofono-headset],
1103 AS_HELP_STRING([--disable-bluez5-ofono-headset],[Disable optional ofono headset backend support (Bluez 5)]))
1104 AS_IF([test "x$HAVE_BLUEZ_5" = "x1" && test "x$enable_bluez5_ofono_headset" != "xno"], HAVE_BLUEZ_5_OFONO_HEADSET=1,
1105 HAVE_BLUEZ_5_OFONO_HEADSET=0)
1106 AC_SUBST(HAVE_BLUEZ_5_OFONO_HEADSET)
1107 AM_CONDITIONAL([HAVE_BLUEZ_5_OFONO_HEADSET], [test "x$HAVE_BLUEZ_5_OFONO_HEADSET" = x1])
1108 AS_IF([test "x$HAVE_BLUEZ_5_OFONO_HEADSET" = "x1"], AC_DEFINE([HAVE_BLUEZ_5_OFONO_HEADSET], 1, [Bluez 5 ofono headset backend enabled]))
1110 AC_ARG_ENABLE([bluez5-native-headset],
1111 AS_HELP_STRING([--disable-bluez5-native-headset],[Disable optional native headset backend support (Bluez 5)]))
1112 AS_IF([test "x$HAVE_BLUEZ_5" = "x1" && test "x$enable_bluez5_native_headset" != "xno"],
1113 [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 4.101 ], HAVE_BLUEZ_5_NATIVE_HEADSET=1, HAVE_BLUEZ_5_NATIVE_HEADSET=0)],
1114 HAVE_BLUEZ_5_NATIVE_HEADSET=0)
1115 AS_IF([test "x$enable_bluez5_native_headset" = "xyes" && test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = "x0"],
1116 [AC_MSG_ERROR([*** BlueZ 5 native headset backend support not available (requires the libbluetooth headers)])])
1117 AC_SUBST(HAVE_BLUEZ_5_NATIVE_HEADSET)
1118 AM_CONDITIONAL([HAVE_BLUEZ_5_NATIVE_HEADSET], [test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = x1])
1119 AS_IF([test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = "x1"], AC_DEFINE([HAVE_BLUEZ_5_NATIVE_HEADSET], 1, [Bluez 5 native headset backend enabled]))
1121 #### UDEV support (optional) ####
1123 AC_ARG_ENABLE([udev],
1124 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
1126 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
1127 [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
1130 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
1131 [AC_MSG_ERROR([*** UDEV support not found])])
1134 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1135 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
1137 #### HAL compat support (optional, dependent on UDEV) ####
1139 AC_ARG_ENABLE([hal-compat],
1140 AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1142 AS_IF([test "x$enable_hal_compat" != "xno"],
1143 [AS_IF([test "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1146 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1147 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1149 #### IPv6 connection support (optional) ####
1151 AC_ARG_ENABLE([ipv6],
1152 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1154 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1156 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1158 #### OpenSSL support (optional) ####
1160 AC_ARG_ENABLE([openssl],
1161 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1163 AS_IF([test "x$enable_openssl" != "xno"],
1164 [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1167 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1168 [AC_MSG_ERROR([*** OpenSSL support not found])])
1170 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1171 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1173 #### FFTW (optional) ####
1176 AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1178 AS_IF([test "x$with_fftw" != "xno"],
1179 [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1182 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1183 [AC_MSG_ERROR([*** FFTW support not found])])
1185 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1187 #### speex (optional) ####
1189 AC_ARG_WITH([speex],
1190 AS_HELP_STRING([--without-speex],[Omit speex (resampling, AEC)]))
1192 AS_IF([test "x$with_speex" != "xno"],
1193 [PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ], HAVE_SPEEX=1, HAVE_SPEEX=0)],
1196 AS_IF([test "x$with_speex" = "xyes" && test "x$HAVE_SPEEX" = "x0"],
1197 [AC_MSG_ERROR([*** speex support not found])])
1199 AM_CONDITIONAL([HAVE_SPEEX], [test "x$HAVE_SPEEX" = "x1"])
1200 AS_IF([test "x$HAVE_SPEEX" = "x1"], AC_DEFINE([HAVE_SPEEX], 1, [Have speex]))
1202 #### soxr (optional) ####
1205 AS_HELP_STRING([--without-soxr],[Omit soxr (resampling)]))
1207 AS_IF([test "x$with_soxr" != "xno"],
1208 [PKG_CHECK_MODULES(LIBSOXR, [ soxr >= 0.1.1 ], HAVE_SOXR=1, HAVE_SOXR=0)],
1211 AS_IF([test "x$with_soxr" = "xyes" && test "x$HAVE_SOXR" = "x0"],
1212 [AC_MSG_ERROR([*** soxr support not found])])
1214 AM_CONDITIONAL([HAVE_SOXR], [test "x$HAVE_SOXR" = "x1"])
1215 AS_IF([test "x$HAVE_SOXR" = "x1"], AC_DEFINE([HAVE_SOXR], 1, [Have soxr]))
1218 #### gcov support (optional) #####
1220 AC_ARG_ENABLE([gcov],
1221 AS_HELP_STRING([--enable-gcov],[Enable optional gcov coverage analysis]))
1226 AS_IF([test "x$enable_gcov" = "xyes"],
1229 GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs -ftest-coverage"
1230 GCOV_LIBS="$GCOV_LIBS -fprofile-arcs"
1234 AC_SUBST(GCOV_CFLAGS)
1236 AM_CONDITIONAL([HAVE_GCOV], [test "x$HAVE_GCOV" = x1])
1238 #### ORC (optional) ####
1242 #### systemd support (optional) ####
1244 AC_ARG_ENABLE([systemd-daemon],
1245 AS_HELP_STRING([--disable-systemd-daemon],[Disable optional systemd daemon (socket activation) support]))
1247 AC_ARG_ENABLE([systemd-login],
1248 AS_HELP_STRING([--disable-systemd-login],[Disable optional systemd login support]))
1250 AC_ARG_ENABLE([systemd-journal],
1251 AS_HELP_STRING([--disable-systemd-journal],[Disable optional systemd journal support]))
1253 # Newer systemd's combine their subcomponent libraries into one
1254 # If it exists, we should use it for the further checks
1256 AS_IF([test "x$enable_systemd_daemon" != "xno" || test "x$enable_systemd_login" != "xno" || test "x$enable_systemd_journal" != "xno"],
1257 [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
1260 AS_IF([test "x$HAVE_SYSTEMD" = "x1"],
1262 HAVE_SYSTEMD_DAEMON=1
1263 HAVE_SYSTEMD_LOGIN=1
1264 HAVE_SYSTEMD_JOURNAL=1
1267 AC_ARG_WITH([systemduserunitdir],
1268 AS_HELP_STRING([--with-systemduserunitdir=DIR], [Directory for systemd user service files]),
1269 [], [with_systemduserunitdir=$($PKG_CONFIG --variable=systemduserunitdir systemd)])
1270 if test "x$with_systemduserunitdir" != xno; then
1271 AC_SUBST([systemduserunitdir], [$with_systemduserunitdir])
1274 #### systemd daemon support (optional) ####
1276 AS_IF([test "x$enable_systemd_daemon" != "xno"],
1277 [AS_IF([test "x$HAVE_SYSTEMD_DAEMON" != "x1"], [PKG_CHECK_MODULES(SYSTEMDDAEMON, [ libsystemd-daemon ], HAVE_SYSTEMD_DAEMON=1, HAVE_SYSTEMD_DAEMON=0)])],
1278 HAVE_SYSTEMD_DAEMON=0)
1280 AS_IF([test "x$enable_systemd_daemon" = "xyes" && test "x$HAVE_SYSTEMD_DAEMON" = "x0"],
1281 [AC_MSG_ERROR([*** Needed systemd daemon support not found])])
1283 AC_SUBST(HAVE_SYSTEMD_DAEMON)
1284 AM_CONDITIONAL([HAVE_SYSTEMD_DAEMON], [test "x$HAVE_SYSTEMD_DAEMON" = x1])
1285 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], AC_DEFINE([HAVE_SYSTEMD_DAEMON], 1, [Have SYSTEMDDAEMON?]))
1287 #### systemd login support (optional) ####
1289 AS_IF([test "x$enable_systemd_login" != "xno"],
1290 [AS_IF([test "x$HAVE_SYSTEMD_LOGIN" != "x1"], [PKG_CHECK_MODULES(SYSTEMDLOGIN, [ libsystemd-login ], HAVE_SYSTEMD_LOGIN=1, HAVE_SYSTEMD_LOGIN=0)])],
1291 HAVE_SYSTEMD_LOGIN=0)
1293 AS_IF([test "x$enable_systemd_login" = "xyes" && test "x$HAVE_SYSTEMD_LOGIN" = "x0"],
1294 [AC_MSG_ERROR([*** Needed systemd login support not found])])
1296 AC_SUBST(HAVE_SYSTEMD_LOGIN)
1297 AM_CONDITIONAL([HAVE_SYSTEMD_LOGIN], [test "x$HAVE_SYSTEMD_LOGIN" = x1])
1298 AS_IF([test "x$HAVE_SYSTEMD_LOGIN" = "x1"], AC_DEFINE([HAVE_SYSTEMD_LOGIN], 1, [Have SYSTEMDLOGIN?]))
1300 #### systemd journal support (optional) ####
1302 AS_IF([test "x$enable_systemd_journal" != "xno"],
1303 [AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" != "x1"], [PKG_CHECK_MODULES(SYSTEMDJOURNAL, [ libsystemd-journal ], HAVE_SYSTEMD_JOURNAL=1, HAVE_SYSTEMD_JOURNAL=0)])],
1304 HAVE_SYSTEMD_JOURNAL=0)
1306 AS_IF([test "x$enable_systemd_journal" = "xyes" && test "x$HAVE_SYSTEMD_JOURNAL" = "x0"],
1307 [AC_MSG_ERROR([*** Needed systemd journal support not found])])
1309 AC_SUBST(HAVE_SYSTEMD_JOURNAL)
1310 AM_CONDITIONAL([HAVE_SYSTEMD_JOURNAL], [test "x$HAVE_SYSTEMD_JOURNAL" = x1])
1311 AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" = "x1"], AC_DEFINE([HAVE_SYSTEMD_JOURNAL], 1, [Have SYSTEMDJOURNAL?]))
1313 #### Build and Install man pages ####
1315 AC_ARG_ENABLE([manpages],
1316 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1318 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1320 #### PulseAudio system group & user #####
1322 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1323 if test -z "$with_system_user" ; then
1324 PA_SYSTEM_USER=pulse
1326 PA_SYSTEM_USER=$with_system_user
1328 AC_SUBST(PA_SYSTEM_USER)
1329 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1331 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1332 if test -z "$with_system_group" ; then
1333 PA_SYSTEM_GROUP=pulse
1335 PA_SYSTEM_GROUP=$with_system_group
1337 AC_SUBST(PA_SYSTEM_GROUP)
1338 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1340 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)]))
1341 if test -z "$with_access_group" ; then
1342 PA_ACCESS_GROUP=pulse-access
1344 PA_ACCESS_GROUP=$with_access_group
1346 AC_SUBST(PA_ACCESS_GROUP)
1347 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1349 AC_ARG_ENABLE([per-user-esound-socket],
1350 AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1352 if test "x$enable_per_user_esound_socket" != "xno"; then
1353 USE_PER_USER_ESOUND_SOCKET=1
1354 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1356 USE_PER_USER_ESOUND_SOCKET=0
1359 #### PulseAudio system runtime dir ####
1361 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1362 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1363 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1364 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1365 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1366 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1368 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1369 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1371 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1372 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1374 AC_SUBST(PA_SOEXT, [.so])
1375 AC_DEFINE(PA_SOEXT, [".so"], [Shared object extension])
1377 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1378 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1380 #### Mac OSX specific stuff #####
1382 AC_ARG_ENABLE(mac-universal,
1383 AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1384 enable_mac_universal=$enableval, enable_mac_universal="no")
1386 AC_ARG_WITH(mac-version-min,
1387 AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1388 mac_version_min=$withval, mac_version_min="10.5")
1390 AC_ARG_WITH(mac-sysroot,
1391 AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1392 mac_sysroot=$withval)
1394 if test "x$os_is_darwin" = "x1" ; then
1395 LDFLAGS="$LDFLAGS -mmacosx-version-min=$mac_version_min"
1396 CFLAGS="$CFLAGS -mmacosx-version-min=$mac_version_min"
1398 if test "x$mac_sysroot" != "x" ; then
1399 LDFLAGS="$LDFLAGS -isysroot $mac_sysroot"
1400 CFLAGS="$CFLAGS -isysroot $mac_sysroot"
1403 if test "x$enable_mac_universal" = "xyes" ; then
1404 mac_arches="-arch i386 -arch x86_64"
1405 LDFLAGS="$LDFLAGS $mac_arches"
1406 CFLAGS="$CFLAGS $mac_arches"
1410 AC_ARG_ENABLE([webrtc-aec],
1411 AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1413 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "$HAVE_CXX11" = "0"],
1414 [AC_MSG_ERROR([*** webrtc-audio-processing needs C++11 support])])
1416 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1417 [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing >= 0.2 ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1420 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1421 [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1423 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1425 AC_ARG_ENABLE([adrian-aec],
1426 AS_HELP_STRING([--enable-adrian-aec], [Enable Adrian's optional echo canceller]))
1427 AS_IF([test "x$enable_adrian_aec" != "xno"],
1429 AM_CONDITIONAL([HAVE_ADRIAN_EC], [test "x$HAVE_ADRIAN_EC" = "x1"])
1432 #### Thread support ####
1435 AS_IF([test "$ac_cv_tls" = "__thread"],
1436 AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
1438 # Win32 build breaks with win32 pthread installed
1439 AS_IF([test "x$os_is_win32" != "x1"],
1442 AS_IF([test "x$ax_pthread_ok" = "xyes"],
1443 AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
1447 ###################################
1449 ###################################
1451 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1453 # Check whether to build tests by default (as compile-test) or not
1454 AC_ARG_ENABLE([default-build-tests],
1455 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1456 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1458 AC_ARG_ENABLE([legacy-database-entry-format],
1459 AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1460 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1461 AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1464 AC_ARG_ENABLE([static-bins],
1465 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1466 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1470 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1471 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1472 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1473 if test "x$PREOPEN_MODS" != "xall" ; then
1475 for mod in $PREOPEN_MODS; do
1476 tmpLIBS="$tmpLIBS module-$mod.la"
1478 PREOPEN_MODS="$tmpLIBS"
1479 AC_SUBST(PREOPEN_MODS)
1484 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1485 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1487 AC_SUBST(modlibexecdir)
1488 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1492 AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1493 [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1495 AC_SUBST(udevrulesdir)
1497 AC_ARG_WITH([bash-completion-dir],
1498 AS_HELP_STRING([--with-bash-completion-dir=DIR], [Directory for bash completion files]),
1499 [bashcompletiondir=$withval], [bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)])
1500 if test "x$bashcompletionsdir" = "x"; then
1501 bashcompletiondir="${datadir}/bash-completion/completions"
1504 AC_SUBST(bashcompletiondir)
1507 [zsh-completion-dir],
1508 AS_HELP_STRING([--with-zsh-completion-dir], [Zsh completions directory (defaults to ${datadir}/zsh/site-functions)]),
1509 [zshcompletiondir=$withval], [zshcompletiondir="${datadir}/zsh/site-functions"])
1511 AC_SUBST(zshcompletiondir)
1513 AC_ARG_ENABLE([force-preopen],
1514 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1516 if test "x$enable_force_preopen" = "xyes"; then
1522 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1530 libpulse-mainloop-glib.pc
1532 doxygen/doxygen.conf
1535 man/pulseaudio.1.xml
1536 man/pax11publish.1.xml
1540 man/pasuspender.1.xml
1542 man/pulse-daemon.conf.5.xml
1543 man/pulse-client.conf.5.xml
1544 man/default.pa.5.xml
1545 man/pulse-cli-syntax.5.xml
1546 man/start-pulseaudio-x11.1.xml
1549 AS_IF([test "x$HAVE_ESOUND" = "x1"],
1551 AC_CONFIG_FILES([man/esdcompat.1.xml])
1552 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1555 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1556 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1557 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1558 [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1559 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1560 [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1561 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1562 [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1563 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"],
1565 AC_CONFIG_FILES([src/pulseaudio.service:src/daemon/systemd/user/pulseaudio.service.in])
1568 # CMake related ProjectConfig files
1570 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1571 PA_INCDIR="$includedir"
1572 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1574 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1575 [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1576 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1580 # ==========================================================================
1582 AS_IF([test "x$HAVE_MEMFD" = "x1"], ENABLE_MEMFD=yes, ENABLE_MEMFD=no)
1583 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1584 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1585 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1586 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1587 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1588 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1589 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1590 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1591 AS_IF([test "x$HAVE_GTK30" = "x1"], ENABLE_GTK30=yes, ENABLE_GTK30=no)
1592 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1593 AS_IF([test "x$HAVE_GSETTINGS" = "x1"], ENABLE_GSETTINGS=yes, ENABLE_GSETTINGS=no)
1594 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1595 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1596 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1597 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1598 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1599 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1600 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], ENABLE_SYSTEMD_DAEMON=yes, ENABLE_SYSTEMD_DAEMON=no)
1601 AS_IF([test "x$HAVE_SYSTEMD_LOGIN" = "x1"], ENABLE_SYSTEMD_LOGIN=yes, ENABLE_SYSTEMD_LOGIN=no)
1602 AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" = "x1"], ENABLE_SYSTEMD_JOURNAL=yes, ENABLE_SYSTEMD_JOURNAL=no)
1603 AS_IF([test "x$HAVE_BLUEZ_5" = "x1"], ENABLE_BLUEZ_5=yes, ENABLE_BLUEZ_5=no)
1604 AS_IF([test "x$HAVE_BLUEZ_5_OFONO_HEADSET" = "x1"], ENABLE_BLUEZ_5_OFONO_HEADSET=yes, ENABLE_BLUEZ_5_OFONO_HEADSET=no)
1605 AS_IF([test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = "x1"], ENABLE_BLUEZ_5_NATIVE_HEADSET=yes, ENABLE_BLUEZ_5_NATIVE_HEADSET=no)
1606 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1607 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1608 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE="yes (DEPRECATED)", ENABLE_LIBSAMPLERATE=no)
1609 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1610 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1611 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1612 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1613 AS_IF([test "x$HAVE_ADRIAN_EC" = "x1"], ENABLE_ADRIAN_EC=yes, ENABLE_ADRIAN_EC=no)
1614 AS_IF([test "x$HAVE_SPEEX" = "x1"], ENABLE_SPEEX=yes, ENABLE_SPEEX=no)
1615 AS_IF([test "x$HAVE_SOXR" = "x1"], ENABLE_SOXR=yes, ENABLE_SOXR=no)
1616 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1617 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1618 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1619 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1620 AS_IF([test "x$HAVE_ESOUND" = "x1"], ENABLE_ESOUND=yes, ENABLE_ESOUND=no)
1621 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)
1622 AS_IF([test "x$HAVE_GCOV" = "x1"], ENABLE_GCOV=yes, ENABLE_GCOV=no)
1623 AS_IF([test "x$HAVE_LIBCHECK" = "x1"], ENABLE_TESTS=yes, ENABLE_TESTS=no)
1624 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1627 ---{ $PACKAGE_NAME $VERSION }---
1630 sysconfdir: ${sysconfdir}
1631 localstatedir: ${localstatedir}
1632 modlibexecdir: ${modlibexecdir}
1633 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1634 System State Path: ${PA_SYSTEM_STATE_PATH}
1635 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1636 Zsh completions directory: ${zshcompletiondir}
1637 Bash completions directory: ${bashcompletiondir}
1640 CPPFLAGS: ${CPPFLAGS}
1643 Enable memfd shared memory: ${ENABLE_MEMFD}
1644 Enable X11: ${ENABLE_X11}
1645 Enable OSS Output: ${ENABLE_OSS_OUTPUT}
1646 Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
1647 Enable EsounD: ${ENABLE_ESOUND}
1648 Enable Alsa: ${ENABLE_ALSA}
1649 Enable CoreAudio: ${ENABLE_COREAUDIO}
1650 Enable Solaris: ${ENABLE_SOLARIS}
1651 Enable WaveOut: ${ENABLE_WAVEOUT}
1652 Enable GLib 2.0: ${ENABLE_GLIB20}
1653 Enable Gtk+ 3.0: ${ENABLE_GTK30}
1654 Enable GConf: ${ENABLE_GCONF}
1655 Enable GSettings: ${ENABLE_GSETTINGS}
1656 Enable Avahi: ${ENABLE_AVAHI}
1657 Enable Jack: ${ENABLE_JACK}
1658 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1659 Enable LIRC: ${ENABLE_LIRC}
1660 Enable D-Bus: ${ENABLE_DBUS}
1661 Enable BlueZ 5: ${ENABLE_BLUEZ_5}
1662 Enable ofono headsets: ${ENABLE_BLUEZ_5_OFONO_HEADSET}
1663 Enable native headsets: ${ENABLE_BLUEZ_5_NATIVE_HEADSET}
1664 Enable udev: ${ENABLE_UDEV}
1665 Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
1667 Daemon (Socket Activation): ${ENABLE_SYSTEMD_DAEMON}
1668 Login (Session Tracking): ${ENABLE_SYSTEMD_LOGIN}
1669 Journal (Logging): ${ENABLE_SYSTEMD_JOURNAL}
1670 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1671 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1672 Enable IPv6: ${ENABLE_IPV6}
1673 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1674 Enable fftw: ${ENABLE_FFTW}
1675 Enable orc: ${ENABLE_ORC}
1676 Enable Adrian echo canceller: ${ENABLE_ADRIAN_EC}
1677 Enable speex (resampler, AEC): ${ENABLE_SPEEX}
1678 Enable soxr (resampler): ${ENABLE_SOXR}
1679 Enable WebRTC echo canceller: ${ENABLE_WEBRTC}
1680 Enable gcov coverage: ${ENABLE_GCOV}
1681 Enable unit tests: ${ENABLE_TESTS}
1684 gdbm: ${ENABLE_GDBM}
1685 simple database: ${ENABLE_SIMPLEDB}
1687 System User: ${PA_SYSTEM_USER}
1688 System Group: ${PA_SYSTEM_GROUP}
1689 Access Group: ${PA_ACCESS_GROUP}
1690 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1691 Force preopen: ${FORCE_PREOPEN}
1692 Preopened modules: ${PREOPEN_MODS}
1694 Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1697 if test "${ENABLE_SPEEX}" = "no" && test "${ENABLE_WEBRTC}" = "no" && test "${ENABLE_ADRIAN_EC}" = "no" ; then
1698 AC_MSG_ERROR([At least one echo canceller implementation must be available.])
1701 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1703 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1704 You do not have D-Bus support enabled. It is strongly recommended
1705 that you enable D-Bus support if your platform supports it.
1706 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1707 to the Device Reservation Protocol to speak to JACK, Bluetooth
1708 support and even a native control protocol for communicating and
1709 controlling the PulseAudio daemon itself.
1710 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1714 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1716 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1717 You do not have udev support enabled. It is strongly recommended
1718 that you enable udev support if your platform supports it as it is
1719 the primary method used to detect hardware audio devices (on Linux)
1720 and is thus a critical part of PulseAudio on that platform.
1721 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1725 if test "${ENABLE_SPEEX}" = "no" && test "x$os_is_win32" != "x1" ; then
1727 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1728 You do not have speex support enabled. It is strongly recommended
1729 that you enable speex support if your platform supports it as it is
1730 the primary method used for audio resampling and is thus a critical
1731 part of PulseAudio on that platform.
1732 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====