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 AS_IF([! test -n "$VERSION"], [
32 AC_MSG_ERROR([git-version-gen failed])
35 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
36 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
38 AC_SUBST(PA_MAJOR, pa_major)
39 AC_SUBST(PA_MINOR, pa_minor)
40 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
42 AC_SUBST(PA_API_VERSION, 12)
43 AC_SUBST(PA_PROTOCOL_VERSION, 32)
45 # The stable ABI for client applications, for the version info x:y:z
46 # always will hold y=z
47 AC_SUBST(LIBPULSE_VERSION_INFO, [20:2:20])
49 # A simplified, synchronous, ABI-stable interface for client
50 # applications, for the version info x:y:z always will hold y=z
51 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [1:1:1])
53 # The ABI-stable GLib adapter for client applications, for the version
54 # info x:y:z always will hold y=z
55 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:5:0])
58 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
60 AC_CHECK_PROG([STOW], [stow], [yes], [no])
62 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
63 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
64 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
67 AM_SILENT_RULES([yes])
70 #### Checks for programs. ####
84 # Only required if you want the WebRTC canceller -- no runtime dep on
87 AX_CXX_COMPILE_STDCXX_11([ext],[optional])
88 AC_PROG_GCC_TRADITIONAL
89 AC_USE_SYSTEM_EXTENSIONS
93 AC_CHECK_PROGS([M4], gm4 m4, no)
94 AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
102 if test "x$enable_nls" != "xno"; then
103 IT_PROG_INTLTOOL([0.35.0])
105 AM_GNU_GETTEXT_VERSION([0.18.1])
106 AM_GNU_GETTEXT([external])
108 GETTEXT_PACKAGE=pulseaudio
109 AC_SUBST([GETTEXT_PACKAGE])
110 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
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([netbsd])
144 AC_MSG_RESULT([darwin])
146 AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
149 AC_MSG_RESULT([win32])
151 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
154 AC_MSG_RESULT([unknown])
158 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
159 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
160 AC_SUBST([OS_IS_WIN32], [$os_is_win32])
162 # Platform specific hacks
165 AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
168 AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
171 AC_DEFINE(_XOPEN_SOURCE, 600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
172 AC_DEFINE(__EXTENSIONS__, 1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
177 #### Compiler flags ####
179 AX_CHECK_COMPILE_FLAG([-std=gnu11],
181 [AC_MSG_ERROR([*** Compiler does not support -std=gnu11])],
184 AX_APPEND_COMPILE_FLAGS(
185 [-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 -fdiagnostics-color=auto],
186 [], [-pedantic -Werror])
188 AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [
189 # Don't append the flag if it already exists.
190 # Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
191 AX_APPEND_FLAG([-DFASTPATH], [CPPFLAGS])
193 # Cannot use AX_APPEND_FLAG here, as it assumes no space inside the added flags.
194 # Cannot append flags with AX_APPEND_FLAG one by one, as this would destroy all fortifications
195 # if CPPFLAGS already contain -D_FORTIFY_SOURCE=2.
197 # Warnings to be aware of that appear with -D_FORTIFY_SOURCE=2 but without -U_FORTIFY_SOURCE:
198 # On Fedora 20 with -O0: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
199 # On Gentoo with -O2: "_FORTIFY_SOURCE" redefined [enabled by default]
200 AS_VAR_APPEND([CPPFLAGS],[" -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2"])
203 #### Linker flags ####
205 # Check whether the linker supports the -version-script option.
206 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
207 # so that it is expanded the right way in every subdir.
208 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
209 [VERSIONING_LDFLAGS='-Wl,-version-script=$(abs_top_srcdir)/src/map-file'])
210 AC_SUBST([VERSIONING_LDFLAGS])
212 # Use immediate (now) bindings; avoids the funky re-call in itself.
213 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
214 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
215 AC_SUBST([IMMEDIATE_LDFLAGS])
217 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
218 # so we request the nodelete flag to be enabled.
219 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
220 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS], [-shared])
221 AC_SUBST([NODELETE_LDFLAGS])
223 # Check for the proper way to build libraries that have no undefined symbols
225 # FreeBSD (et al.) does not complete linking for shared objects when pthreads
226 # are requested, as different implementations are present.
227 *-freebsd* | *-openbsd*) ;;
229 for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
230 AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
234 AC_SUBST([NOUNDEFINED_LDFLAGS])
237 #### Atomic operations ####
239 # Native atomic operation support
240 AC_ARG_ENABLE([atomic-arm-linux-helpers],
241 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
243 AC_ARG_ENABLE([atomic-arm-memory-barrier],
244 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
246 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
247 AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
250 # If everything else fails use libatomic_ops
251 need_libatomic_ops=yes
253 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
254 pulseaudio_cv_sync_bool_compare_and_swap, [
256 [AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]])],
257 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
258 [pulseaudio_cv_sync_bool_compare_and_swap=no])
261 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
262 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
263 need_libatomic_ops=no
265 # HW specific atomic ops stuff
266 AC_MSG_CHECKING([architecture for native atomic operations])
270 need_libatomic_ops=no
274 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
275 # The Linux kernel helper functions have been there since 2.6.16. However
276 # compile time checking for kernel version in cross compile environment
277 # (which is usually the case for arm cpu) is tricky (or impossible).
278 if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
280 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
281 need_libatomic_ops=no
284 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
285 pulseaudio_cv_support_arm_atomic_ops, [
287 [AC_LANG_PROGRAM([], [[
290 asm volatile ("ldrex %0, [%1]\n"
292 "strexeq %0, %3, [%1]\n"
294 : "r" (&a), "Ir" (o), "r" (n)
296 return (a==1 ? 0 : -1);
298 [pulseaudio_cv_support_arm_atomic_ops=yes],
299 [pulseaudio_cv_support_arm_atomic_ops=no])
301 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
302 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
303 need_libatomic_ops=no
309 need_libatomic_ops=no
312 AC_MSG_RESULT([unknown])
317 # If we're on ARM, check for the ARMV6 instructions we need */
320 AC_CACHE_CHECK([support for required armv6 instructions],
321 pulseaudio_cv_support_armv6,
324 [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
325 asm volatile ("ldr r0, %2 \n"
330 "pkhbt r1, r3, r2, LSL #8 \n"
333 : "m" (a), "m" (b), "m" (c)
334 : "r0", "r1", "r2", "r3", "cc");
335 return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
337 [pulseaudio_cv_support_armv6=yes],
338 [pulseaudio_cv_support_armv6=no])
340 AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
341 AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
348 #### NEON optimisations ####
349 AC_ARG_ENABLE([neon-opt],
350 AS_HELP_STRING([--enable-neon-opt], [Enable NEON optimisations on ARM CPUs that support it]))
352 AS_IF([test "x$enable_neon_opt" != "xno"],
353 [save_CFLAGS="$CFLAGS"; CFLAGS="-mfpu=neon $CFLAGS"
355 [AC_LANG_PROGRAM([[#include <arm_neon.h>]], [])],
358 NEON_CFLAGS="-mfpu=neon"
364 CFLAGS="$save_CFLAGS"
368 AS_IF([test "x$enable_neon_opt" = "xyes" && test "x$HAVE_NEON" = "x0"],
369 [AC_MSG_ERROR([*** Compiler does not support -mfpu=neon or CFLAGS override -mfpu])])
372 AC_SUBST(NEON_CFLAGS)
373 AM_CONDITIONAL([HAVE_NEON], [test "x$HAVE_NEON" = x1])
374 AS_IF([test "x$HAVE_NEON" = "x1"], AC_DEFINE([HAVE_NEON], 1, [Have NEON support?]))
377 #### libtool stuff ####
380 LT_INIT([dlopen win32-dll disable-static])
382 dnl As an extra safety device, check for lt_dladvise_init() which is
383 dnl only implemented in libtool 2.x, and refine as we go if we have
384 dnl refined requirements.
386 dnl Check the header files first since the system may have a
387 dnl libltdl.so for runtime, but no headers, and we want to bail out as
388 dnl soon as possible.
390 dnl We don't need any special variable for this though, since the user
391 dnl can give the proper place to find libltdl through the standard
392 dnl variables like LDFLAGS and CPPFLAGS.
394 AC_CHECK_HEADER([ltdl.h],
395 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
398 AS_IF([test "x$LIBLTDL" = "x"],
399 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.4 or later installed.])])
403 ###################################
404 # Basic environment checks #
405 ###################################
407 #### Checks for header files. ####
413 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
414 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
415 sys/mman.h sys/select.h sys/socket.h sys/wait.h \
416 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
417 AC_CHECK_HEADERS([netinet/ip.h], [], [],
418 [#include <sys/types.h>
419 #if HAVE_NETINET_IN_H
420 # include <netinet/in.h>
422 #if HAVE_NETINET_IN_SYSTM_H
423 # include <netinet/in_systm.h>
426 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
427 AC_SUBST(HAVE_SYS_RESOURCE_H)
428 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
429 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
430 AC_SUBST(HAVE_AF_UNIX)
433 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
434 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
436 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
439 AC_CHECK_HEADERS_ONCE([sys/conf.h sys/filio.h])
442 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
445 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
448 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
449 AC_CHECK_HEADERS_ONCE([byteswap.h])
450 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
451 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
452 AC_CHECK_HEADERS_ONCE([execinfo.h])
453 AC_CHECK_HEADERS_ONCE([langinfo.h])
454 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
455 AC_CHECK_HEADERS_ONCE([locale.h xlocale.h])
457 AM_CONDITIONAL(HAVE_SYS_EVENTFD_H, test "x$ac_cv_header_sys_eventfd_h" = "xyes")
459 #### Typdefs, structures, etc. ####
465 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
469 AC_CHECK_DECLS(environ)
471 AC_CHECK_SIZEOF(void*)
473 fast_64bit_operations="no"
474 # This check covers x32-ABI
475 AC_CHECK_DECL([__x86_64__], [fast_64bit_operations="yes"], [], [])
476 if test "x$fast_64bit_operations" = "xno"; then
477 AS_IF([test $ac_cv_sizeof_voidp -ge 8], [fast_64bit_operations="yes"])
480 AS_IF([test "x$fast_64bit_operations" = "xyes"], AC_DEFINE([HAVE_FAST_64BIT_OPERATIONS], 1, [Have CPU with fast 64-bit operations?]))
483 AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
484 AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
485 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
487 # INADDR_NONE, Solaris lacks this
488 AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
489 [AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
490 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
494 AC_CACHE_CHECK([whether $CC knows _Bool],
497 [AC_LANG_PROGRAM([], [[_Bool b;]])],
498 [pulseaudio_cv__Bool=yes],
499 [pulseaudio_cv__Bool=no])
502 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
505 #### Check for libs ####
508 AC_SEARCH_LIBS([pow], [m])
511 AC_SEARCH_LIBS([sched_setscheduler], [rt])
512 AC_SEARCH_LIBS([dlopen], [dl])
513 AC_SEARCH_LIBS([shm_open], [rt])
514 AC_SEARCH_LIBS([inet_ntop], [nsl])
515 AC_SEARCH_LIBS([timer_create], [rt])
516 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
517 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
518 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
521 AC_SEARCH_LIBS([connect], [socket])
522 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
525 if test "x$os_is_darwin" = "x1" ; then
526 AC_MSG_CHECKING([looking for Apple CoreService Framework])
527 AC_CHECK_HEADER([CoreServices/CoreServices.h],
528 [LIBS="$LIBS -framework CoreServices"],
529 [AC_MSG_ERROR([CoreServices.h header file not found])]
533 AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
537 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
540 AC_SEARCH_LIBS([regexec], [pcreposix])
541 # This magic is needed so we do not needlessly add static libs to the win32 build, disabling its ability to make dlls.
542 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
545 #### Check for functions ####
548 AC_CHECK_FUNCS_ONCE([lrintf strtof])
553 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
554 getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
555 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
556 sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
557 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
558 AC_SUBST(HAVE_MKFIFO)
559 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
562 AC_CHECK_FUNCS_ONCE([readlink])
565 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
568 AC_CHECK_FUNCS_ONCE([strerror_r])
571 AC_CHECK_FUNCS_ONCE([lstat paccept])
574 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtod_l pipe2 accept4])
578 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
579 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
581 # Large File-Support (LFS)
583 # Check for open64 to know if the current system does have open64() and similar functions
584 AC_CHECK_FUNCS_ONCE([open64])
586 AC_SEARCH_LIBS([dladdr], [dl], [HAVE_DLADDR=1], [HAVE_DLADDR=0])
587 AC_DEFINE(HAVE_DLADDR, [1], [Have dladdr?])
589 ###################################
590 # External libraries #
591 ###################################
597 #### Linux memfd_create(2) SHM support ####
599 AC_ARG_ENABLE([memfd],
600 AS_HELP_STRING([--disable-memfd], [Disable Linux memfd shared memory]))
602 AS_IF([test "x$enable_memfd" != "xno"],
603 AC_CHECK_DECL(SYS_memfd_create, [HAVE_MEMFD=1], [HAVE_MEMFD=0], [#include <sys/syscall.h>]),
606 AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"],
607 [AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory.
608 *** Use linux v3.17 or higher for such a feature.])])
611 AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1])
612 AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.]))
614 #### X11 (optional) ####
617 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
619 AS_IF([test "x$enable_x11" != "xno"],
620 [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
623 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
624 [AC_MSG_ERROR([*** X11 not found])])
627 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
628 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
630 #### Capabilities (optional) ####
635 AS_HELP_STRING([--without-caps],[Omit support for dropping capabilities.]))
637 if test "x${with_caps}" != "xno"; then
638 AC_SEARCH_LIBS([cap_init], [cap], [], [])
640 # Only give an error on hosts that we know could support capabilities
641 AC_CHECK_HEADERS([sys/capability.h], [], [
642 if test "${host_has_caps}" = "1"; then
643 AC_MSG_ERROR([*** sys/capability.h not found. Use --without-caps to disable capabilities support.])
647 #### Valgrind (optional) ####
649 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
651 #### check unit tests ####
653 AC_ARG_ENABLE([tests],
654 AS_HELP_STRING([--disable-tests],[Disable unit tests]))
656 AS_IF([test "x$enable_tests" != "xno"],
657 [PKG_CHECK_MODULES(LIBCHECK, [ check >= 0.9.10 ], HAVE_LIBCHECK=1, HAVE_LIBCHECK=0)],
660 AS_IF([test "x$enable_tests" = "xyes" && test "x$HAVE_LIBCHECK" = "x0"],
661 [AC_MSG_ERROR([*** check library not found or too old])])
663 AM_CONDITIONAL([HAVE_TESTS], [test "x$HAVE_LIBCHECK" = x1])
667 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
671 AC_MSG_CHECKING([whether we need libatomic_ops])
672 if test "x$need_libatomic_ops" = "xyes"; then
674 AC_CHECK_HEADERS([atomic_ops.h],
675 [CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
676 [AC_MSG_ERROR([*** libatomic-ops headers not found])])
678 # Win32 does not need the lib and breaks horribly if we try to include it
679 AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
684 #### Libsamplerate support (optional) ####
686 AC_ARG_ENABLE([samplerate],
687 AS_HELP_STRING([--enable-samplerate],[Enable optional libsamplerate support (DEPRECATED)]))
689 AS_IF([test "x$enable_samplerate" = "xyes"],
690 [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
691 HAVE_LIBSAMPLERATE=0)
693 AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
694 [AC_MSG_ERROR([*** Libsamplerate not found])])
696 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
697 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
699 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_MSG_WARN([Support for libsamplerate is DEPRECATED]))
701 #### Database support ####
703 AC_ARG_WITH([database],
704 AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
707 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
708 [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
710 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
712 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
713 [AC_MSG_ERROR([*** tdb not found])])
716 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
719 AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
720 AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
723 AS_IF([test "x$HAVE_GDBM" = "x1"],
730 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
731 [AC_MSG_ERROR([*** gdbm not found])])
734 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
737 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
739 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
740 AC_MSG_ERROR([*** missing database backend]))
743 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
744 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
746 AC_SUBST(GDBM_CFLAGS)
748 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
749 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
751 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
752 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
754 #### OSS support (optional) ####
756 AC_ARG_ENABLE([oss-output],
757 AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
759 AC_ARG_ENABLE([oss-wrapper],
760 AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
762 AC_ARG_WITH([pulsedsp-location],
763 AS_HELP_STRING([--with-pulsedsp-location],[Specify location where OSS wrapper will be installed]))
765 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
766 [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
769 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
770 [AC_MSG_ERROR([*** OSS support not found])])
772 AS_IF([test "x$enable_oss_output" != "xno"],
773 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
776 AS_IF([test "x$enable_oss_wrapper" != "xno"],
777 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
780 AS_IF([test "x$with_pulsedsp_location" != "x"],
781 [PULSEDSP_LOCATION="$with_pulsedsp_location"],
782 [PULSEDSP_LOCATION="\$(pkglibdir)"])
784 AC_SUBST(HAVE_OSS_OUTPUT)
785 AC_SUBST(PULSEDSP_LOCATION)
786 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
787 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
788 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
789 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
791 # Some platforms like SunOS (Illumos) may ship without SOUND_PCM_* functionality
792 if test "x$HAVE_OSS" = "x1"; then
793 AC_CHECK_DECLS([SOUND_PCM_READ_RATE], [], [], [[#include <sys/soundcard.h>]])
794 AC_CHECK_DECLS([SOUND_PCM_READ_CHANNELS], [], [], [[#include <sys/soundcard.h>]])
795 AC_CHECK_DECLS([SOUND_PCM_READ_BITS], [], [], [[#include <sys/soundcard.h>]])
798 #### CoreAudio support (optional) ####
800 AC_ARG_ENABLE([coreaudio-output],
801 AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
803 AS_IF([test "x$enable_coreaudio_output" != "xno"],
804 [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
807 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
808 [AC_MSG_ERROR([*** CoreAudio output support not found])])
810 AC_SUBST(HAVE_COREAUDIO)
811 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
813 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], AC_DEFINE([HAVE_COREAUDIO], 1, [Have CoreAudio?]))
815 #### ALSA support (optional) ####
817 AC_ARG_ENABLE([alsa],
818 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
820 AS_IF([test "x$enable_alsa" != "xno"],
821 [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
824 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
825 [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
827 AS_IF([test "x$HAVE_ALSA" = "x1"],
829 save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS"
830 AC_CHECK_HEADERS([use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
831 CPPFLAGS="$save_CPPFLAGS"
836 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
837 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
838 AS_IF([test "x$HAVE_ALSA_UCM" = "x1"], AC_DEFINE([HAVE_ALSA_UCM], 1, [Have ALSA UCM?]))
840 #### EsounD support (optional) ####
842 AC_ARG_ENABLE([esound],
843 AS_HELP_STRING([--disable-esound],[Disable optional EsounD support]))
844 AM_CONDITIONAL([HAVE_ESOUND], [test "x$enable_esound" != "xno"])
845 AS_IF([test "x$enable_esound" != "xno"], [HAVE_ESOUND=1])
847 #### Solaris audio support (optional) ####
849 AC_ARG_ENABLE([solaris],
850 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
852 AS_IF([test "x$enable_solaris" != "xno"],
853 [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
856 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
857 [AC_MSG_ERROR([*** Solaris audio support not found])])
859 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
860 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
862 #### WaveOut audio support (optional) ####
864 AC_ARG_ENABLE([waveout],
865 AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
867 AS_IF([test "x$enable_waveout" != "xno"],
868 [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
871 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
872 [AC_MSG_ERROR([*** WaveOut audio support not found])])
874 AC_SUBST(HAVE_WAVEOUT)
875 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
876 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
878 #### GLib 2 support (optional) ####
880 AC_ARG_ENABLE([glib2],
881 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
883 AS_IF([test "x$enable_glib2" != "xno"],
884 [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
887 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
888 [AC_MSG_ERROR([*** GLib 2 support not found])])
890 AC_SUBST(HAVE_GLIB20)
891 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
892 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
894 #### GTK3 support (optional) ####
896 AC_ARG_ENABLE([gtk3],
897 AS_HELP_STRING([--disable-gtk3],[Disable optional Gtk+ 3 support]))
899 AS_IF([test "x$enable_gtk3" != "xno"],
900 [PKG_CHECK_MODULES(GTK30, [ gtk+-3.0 ], HAVE_GTK30=1, HAVE_GTK30=0)],
903 AS_IF([test "x$enable_gtk3" = "xyes" && test "x$HAVE_GTK30" = "x0"],
904 [AC_MSG_ERROR([*** Gtk+ 3 support not found])])
906 AM_CONDITIONAL([HAVE_GTK30], [test "x$HAVE_GTK30" = x1])
907 AS_IF([test "x$HAVE_GTK30" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
909 #### GConf support (optional) ####
911 AC_ARG_ENABLE([gconf],
912 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
914 AS_IF([test "x$enable_gconf" != "xno"],
915 [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
918 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
919 [AC_MSG_ERROR([*** GConf support not found])])
921 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
923 #### Avahi support (optional) ####
925 AC_ARG_ENABLE([avahi],
926 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
928 AS_IF([test "x$enable_avahi" != "xno"],
929 [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
932 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
933 [AC_MSG_ERROR([*** Avahi support not found])])
936 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
938 #### JACK (optional) ####
940 AC_ARG_ENABLE([jack],
941 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
943 AS_IF([test "x$enable_jack" != "xno"],
944 [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
947 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
948 [AC_MSG_ERROR([*** JACK support not found])])
950 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
952 #### Async DNS support (optional) ####
954 AC_ARG_ENABLE([asyncns],
955 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
957 AS_IF([test "x$enable_asyncns" != "xno"],
958 [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
961 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
962 [AC_MSG_ERROR([*** Async DNS support not found])])
964 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
965 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
967 #### TCP wrappers (optional) ####
969 AC_ARG_ENABLE([tcpwrap],
970 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
972 AS_IF([test "x$enable_tcpwrap" != "xno"],
975 AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
979 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
980 [AC_MSG_ERROR([*** TCP wrappers support not found])])
982 AC_SUBST(LIBWRAP_LIBS)
984 #### LIRC support (optional) ####
986 AC_ARG_ENABLE([lirc],
987 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
992 AS_IF([test "x$enable_lirc" != "xno"],
995 AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
996 AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
1000 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
1001 [AC_MSG_ERROR([*** LIRC support not found])])
1003 AC_SUBST(LIRC_CFLAGS)
1005 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1007 #### D-Bus support (optional) ####
1009 AC_ARG_ENABLE([dbus],
1010 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
1012 AS_IF([test "x$enable_dbus" != "xno"],
1013 [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.4.12 ], HAVE_DBUS=1, HAVE_DBUS=0)],
1016 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
1017 [AC_MSG_ERROR([*** D-Bus not available or too old version])])
1019 AS_IF([test "x$HAVE_DBUS" = "x1"],
1021 save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
1022 save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
1023 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1024 CFLAGS="$save_CFLAGS"
1029 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1030 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
1032 PA_MACHINE_ID="${sysconfdir}/machine-id"
1033 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
1034 PA_MACHINE_ID_FALLBACK="${localstatedir}/lib/dbus/machine-id"
1035 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
1036 [Fallback machine-id file])
1038 #### BlueZ support (optional, dependent on D-Bus and SBC) ####
1040 AC_ARG_ENABLE([bluez4],
1041 AS_HELP_STRING([--disable-bluez4],[Disable optional BlueZ 4 support]))
1042 AC_ARG_ENABLE([bluez5],
1043 AS_HELP_STRING([--disable-bluez5],[Disable optional BlueZ 5 support]))
1046 AS_IF([test "x$enable_bluez4" != "xno" || test "x$enable_bluez5" != "xno"],
1047 [PKG_CHECK_MODULES(SBC, [ sbc >= 1.0 ], HAVE_SBC=1, HAVE_SBC=0)],
1051 AS_IF([test "x$enable_bluez4" != "xno" && test "x$HAVE_DBUS" = "x1" && test "x$HAVE_SBC" = "x1"], HAVE_BLUEZ_4=1,
1053 AS_IF([test "x$enable_bluez4" = "xyes" && test "x$HAVE_BLUEZ_4" != "x1"],
1054 [AC_MSG_ERROR([*** BLUEZ 4 support not found (requires sbc and D-Bus)])])
1055 AC_SUBST(HAVE_BLUEZ_4)
1056 AM_CONDITIONAL([HAVE_BLUEZ_4], [test "x$HAVE_BLUEZ_4" = x1])
1059 AS_IF([test "x$enable_bluez5" != "xno" && test "x$HAVE_DBUS" = "x1" && test "x$HAVE_SBC" = "x1"], HAVE_BLUEZ_5=1,
1061 AS_IF([test "x$enable_bluez5" = "xyes" && test "x$HAVE_BLUEZ_5" != "x1"],
1062 [AC_MSG_ERROR([*** BLUEZ 5 support not found (requires sbc and D-Bus)])])
1063 AC_SUBST(HAVE_BLUEZ_5)
1064 AM_CONDITIONAL([HAVE_BLUEZ_5], [test "x$HAVE_BLUEZ_5" = x1])
1066 AS_IF([test "x$HAVE_BLUEZ_4" = "x1" || test "x$HAVE_BLUEZ_5" = "x1"], HAVE_BLUEZ=1, HAVE_BLUEZ=0)
1067 AC_SUBST(HAVE_BLUEZ)
1068 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1070 ## Bluetooth Headset profiles backend ##
1072 AC_ARG_ENABLE([bluez5-ofono-headset],
1073 AS_HELP_STRING([--disable-bluez5-ofono-headset],[Disable optional ofono headset backend support (Bluez 5)]))
1074 AS_IF([test "x$HAVE_BLUEZ_5" = "x1" && test "x$enable_bluez5_ofono_headset" != "xno"], HAVE_BLUEZ_5_OFONO_HEADSET=1,
1075 HAVE_BLUEZ_5_OFONO_HEADSET=0)
1076 AC_SUBST(HAVE_BLUEZ_5_OFONO_HEADSET)
1077 AM_CONDITIONAL([HAVE_BLUEZ_5_OFONO_HEADSET], [test "x$HAVE_BLUEZ_5_OFONO_HEADSET" = x1])
1078 AS_IF([test "x$HAVE_BLUEZ_5_OFONO_HEADSET" = "x1"], AC_DEFINE([HAVE_BLUEZ_5_OFONO_HEADSET], 1, [Bluez 5 ofono headset backend enabled]))
1080 AC_ARG_ENABLE([bluez5-native-headset],
1081 AS_HELP_STRING([--disable-bluez5-native-headset],[Disable optional native headset backend support (Bluez 5)]))
1082 AS_IF([test "x$HAVE_BLUEZ_5" = "x1" && test "x$enable_bluez5_native_headset" != "xno"],
1083 [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 4.101 ], HAVE_BLUEZ_5_NATIVE_HEADSET=1, HAVE_BLUEZ_5_NATIVE_HEADSET=0)],
1084 HAVE_BLUEZ_5_NATIVE_HEADSET=0)
1085 AS_IF([test "x$enable_bluez5_native_headset" = "xyes" && test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = "x0"],
1086 [AC_MSG_ERROR([*** BlueZ 5 native headset backend support not available (requires the libbluetooth headers)])])
1087 AC_SUBST(HAVE_BLUEZ_5_NATIVE_HEADSET)
1088 AM_CONDITIONAL([HAVE_BLUEZ_5_NATIVE_HEADSET], [test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = x1])
1089 AS_IF([test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = "x1"], AC_DEFINE([HAVE_BLUEZ_5_NATIVE_HEADSET], 1, [Bluez 5 native headset backend enabled]))
1091 #### UDEV support (optional) ####
1093 AC_ARG_ENABLE([udev],
1094 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
1096 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
1097 [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
1100 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
1101 [AC_MSG_ERROR([*** UDEV support not found])])
1104 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1105 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
1107 #### HAL compat support (optional, dependent on UDEV) ####
1109 AC_ARG_ENABLE([hal-compat],
1110 AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1112 AS_IF([test "x$enable_hal_compat" != "xno"],
1113 [AS_IF([test "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1116 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1117 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1119 #### IPv6 connection support (optional) ####
1121 AC_ARG_ENABLE([ipv6],
1122 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1124 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1126 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1128 #### OpenSSL support (optional) ####
1130 AC_ARG_ENABLE([openssl],
1131 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1133 AS_IF([test "x$enable_openssl" != "xno"],
1134 [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1137 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1138 [AC_MSG_ERROR([*** OpenSSL support not found])])
1140 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1141 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1143 #### FFTW (optional) ####
1146 AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1148 AS_IF([test "x$with_fftw" != "xno"],
1149 [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1152 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1153 [AC_MSG_ERROR([*** FFTW support not found])])
1155 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1157 #### speex (optional) ####
1159 AC_ARG_WITH([speex],
1160 AS_HELP_STRING([--without-speex],[Omit speex (resampling, AEC)]))
1162 AS_IF([test "x$with_speex" != "xno"],
1163 [PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ], HAVE_SPEEX=1, HAVE_SPEEX=0)],
1166 AS_IF([test "x$with_speex" = "xyes" && test "x$HAVE_SPEEX" = "x0"],
1167 [AC_MSG_ERROR([*** speex support not found])])
1169 AM_CONDITIONAL([HAVE_SPEEX], [test "x$HAVE_SPEEX" = "x1"])
1170 AS_IF([test "x$HAVE_SPEEX" = "x1"], AC_DEFINE([HAVE_SPEEX], 1, [Have speex]))
1172 #### soxr (optional) ####
1175 AS_HELP_STRING([--without-soxr],[Omit soxr (resampling)]))
1177 AS_IF([test "x$with_soxr" != "xno"],
1178 [PKG_CHECK_MODULES(LIBSOXR, [ soxr >= 0.1.1 ], HAVE_SOXR=1, HAVE_SOXR=0)],
1181 AS_IF([test "x$with_soxr" = "xyes" && test "x$HAVE_SOXR" = "x0"],
1182 [AC_MSG_ERROR([*** soxr support not found])])
1184 AM_CONDITIONAL([HAVE_SOXR], [test "x$HAVE_SOXR" = "x1"])
1185 AS_IF([test "x$HAVE_SOXR" = "x1"], AC_DEFINE([HAVE_SOXR], 1, [Have soxr]))
1188 #### gcov support (optional) #####
1190 AC_ARG_ENABLE([gcov],
1191 AS_HELP_STRING([--enable-gcov],[Enable optional gcov coverage analysis]))
1196 AS_IF([test "x$enable_gcov" = "xyes"],
1199 GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs -ftest-coverage"
1200 GCOV_LIBS="$GCOV_LIBS -fprofile-arcs"
1204 AC_SUBST(GCOV_CFLAGS)
1206 AM_CONDITIONAL([HAVE_GCOV], [test "x$HAVE_GCOV" = x1])
1208 #### ORC (optional) ####
1212 #### systemd support (optional) ####
1214 AC_ARG_ENABLE([systemd-daemon],
1215 AS_HELP_STRING([--disable-systemd-daemon],[Disable optional systemd daemon (socket activation) support]))
1217 AC_ARG_ENABLE([systemd-login],
1218 AS_HELP_STRING([--disable-systemd-login],[Disable optional systemd login support]))
1220 AC_ARG_ENABLE([systemd-journal],
1221 AS_HELP_STRING([--disable-systemd-journal],[Disable optional systemd journal support]))
1223 # Newer systemd's combine their subcomponent libraries into one
1224 # If it exists, we should use it for the further checks
1226 AS_IF([test "x$enable_systemd_daemon" != "xno" || test "x$enable_systemd_login" != "xno" || test "x$enable_systemd_journal" != "xno"],
1227 [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
1230 AS_IF([test "x$HAVE_SYSTEMD" = "x1"],
1232 HAVE_SYSTEMD_DAEMON=1
1233 HAVE_SYSTEMD_LOGIN=1
1234 HAVE_SYSTEMD_JOURNAL=1
1237 AC_ARG_WITH([systemduserunitdir],
1238 AS_HELP_STRING([--with-systemduserunitdir=DIR], [Directory for systemd user service files]),
1239 [], [with_systemduserunitdir=$($PKG_CONFIG --variable=systemduserunitdir systemd)])
1240 if test "x$with_systemduserunitdir" != xno; then
1241 AC_SUBST([systemduserunitdir], [$with_systemduserunitdir])
1244 #### systemd daemon support (optional) ####
1246 AS_IF([test "x$enable_systemd_daemon" != "xno"],
1247 [AS_IF([test "x$HAVE_SYSTEMD_DAEMON" != "x1"], [PKG_CHECK_MODULES(SYSTEMDDAEMON, [ libsystemd-daemon ], HAVE_SYSTEMD_DAEMON=1, HAVE_SYSTEMD_DAEMON=0)])],
1248 HAVE_SYSTEMD_DAEMON=0)
1250 AS_IF([test "x$enable_systemd_daemon" = "xyes" && test "x$HAVE_SYSTEMD_DAEMON" = "x0"],
1251 [AC_MSG_ERROR([*** Needed systemd daemon support not found])])
1253 AC_SUBST(HAVE_SYSTEMD_DAEMON)
1254 AM_CONDITIONAL([HAVE_SYSTEMD_DAEMON], [test "x$HAVE_SYSTEMD_DAEMON" = x1])
1255 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], AC_DEFINE([HAVE_SYSTEMD_DAEMON], 1, [Have SYSTEMDDAEMON?]))
1257 #### systemd login support (optional) ####
1259 AS_IF([test "x$enable_systemd_login" != "xno"],
1260 [AS_IF([test "x$HAVE_SYSTEMD_LOGIN" != "x1"], [PKG_CHECK_MODULES(SYSTEMDLOGIN, [ libsystemd-login ], HAVE_SYSTEMD_LOGIN=1, HAVE_SYSTEMD_LOGIN=0)])],
1261 HAVE_SYSTEMD_LOGIN=0)
1263 AS_IF([test "x$enable_systemd_login" = "xyes" && test "x$HAVE_SYSTEMD_LOGIN" = "x0"],
1264 [AC_MSG_ERROR([*** Needed systemd login support not found])])
1266 AC_SUBST(HAVE_SYSTEMD_LOGIN)
1267 AM_CONDITIONAL([HAVE_SYSTEMD_LOGIN], [test "x$HAVE_SYSTEMD_LOGIN" = x1])
1268 AS_IF([test "x$HAVE_SYSTEMD_LOGIN" = "x1"], AC_DEFINE([HAVE_SYSTEMD_LOGIN], 1, [Have SYSTEMDLOGIN?]))
1270 #### systemd journal support (optional) ####
1272 AS_IF([test "x$enable_systemd_journal" != "xno"],
1273 [AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" != "x1"], [PKG_CHECK_MODULES(SYSTEMDJOURNAL, [ libsystemd-journal ], HAVE_SYSTEMD_JOURNAL=1, HAVE_SYSTEMD_JOURNAL=0)])],
1274 HAVE_SYSTEMD_JOURNAL=0)
1276 AS_IF([test "x$enable_systemd_journal" = "xyes" && test "x$HAVE_SYSTEMD_JOURNAL" = "x0"],
1277 [AC_MSG_ERROR([*** Needed systemd journal support not found])])
1279 AC_SUBST(HAVE_SYSTEMD_JOURNAL)
1280 AM_CONDITIONAL([HAVE_SYSTEMD_JOURNAL], [test "x$HAVE_SYSTEMD_JOURNAL" = x1])
1281 AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" = "x1"], AC_DEFINE([HAVE_SYSTEMD_JOURNAL], 1, [Have SYSTEMDJOURNAL?]))
1283 #### Build and Install man pages ####
1285 AC_ARG_ENABLE([manpages],
1286 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1288 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1290 #### PulseAudio system group & user #####
1292 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1293 if test -z "$with_system_user" ; then
1294 PA_SYSTEM_USER=pulse
1296 PA_SYSTEM_USER=$with_system_user
1298 AC_SUBST(PA_SYSTEM_USER)
1299 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1301 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1302 if test -z "$with_system_group" ; then
1303 PA_SYSTEM_GROUP=pulse
1305 PA_SYSTEM_GROUP=$with_system_group
1307 AC_SUBST(PA_SYSTEM_GROUP)
1308 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1310 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)]))
1311 if test -z "$with_access_group" ; then
1312 PA_ACCESS_GROUP=pulse-access
1314 PA_ACCESS_GROUP=$with_access_group
1316 AC_SUBST(PA_ACCESS_GROUP)
1317 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1319 AC_ARG_ENABLE([per-user-esound-socket],
1320 AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1322 if test "x$enable_per_user_esound_socket" != "xno"; then
1323 USE_PER_USER_ESOUND_SOCKET=1
1324 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1326 USE_PER_USER_ESOUND_SOCKET=0
1329 #### PulseAudio system runtime dir ####
1331 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1332 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1333 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1334 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1335 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1336 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1338 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1339 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1341 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1342 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1344 AC_SUBST(PA_SOEXT, [.so])
1345 AC_DEFINE(PA_SOEXT, [".so"], [Shared object extension])
1347 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1348 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1350 #### Mac OSX specific stuff #####
1352 AC_ARG_ENABLE(mac-universal,
1353 AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1354 enable_mac_universal=$enableval, enable_mac_universal="no")
1356 AC_ARG_WITH(mac-version-min,
1357 AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1358 mac_version_min=$withval, mac_version_min="10.5")
1360 AC_ARG_WITH(mac-sysroot,
1361 AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1362 mac_sysroot=$withval)
1364 if test "x$os_is_darwin" = "x1" ; then
1365 LDFLAGS="$LDFLAGS -mmacosx-version-min=$mac_version_min"
1366 CFLAGS="$CFLAGS -mmacosx-version-min=$mac_version_min"
1368 if test "x$mac_sysroot" != "x" ; then
1369 LDFLAGS="$LDFLAGS -isysroot $mac_sysroot"
1370 CFLAGS="$CFLAGS -isysroot $mac_sysroot"
1373 if test "x$enable_mac_universal" = "xyes" ; then
1374 mac_arches="-arch i386 -arch x86_64"
1375 LDFLAGS="$LDFLAGS $mac_arches"
1376 CFLAGS="$CFLAGS $mac_arches"
1380 AC_ARG_ENABLE([webrtc-aec],
1381 AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1383 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "$HAVE_CXX11" = "0"],
1384 [AC_MSG_ERROR([*** webrtc-audio-processing needs C++11 support])])
1386 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1387 [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing >= 0.2 ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1390 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1391 [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1393 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1395 AC_ARG_ENABLE([adrian-aec],
1396 AS_HELP_STRING([--enable-adrian-aec], [Enable Adrian's optional echo canceller]))
1397 AS_IF([test "x$enable_adrian_aec" != "xno"],
1399 AM_CONDITIONAL([HAVE_ADRIAN_EC], [test "x$HAVE_ADRIAN_EC" = "x1"])
1402 #### Thread support ####
1405 AS_IF([test "$ac_cv_tls" = "__thread"],
1406 AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
1408 # Win32 build breaks with win32 pthread installed
1409 AS_IF([test "x$os_is_win32" != "x1"],
1412 AS_IF([test "x$ax_pthread_ok" = "xyes"],
1413 AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
1417 ###################################
1419 ###################################
1421 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1423 # Check whether to build tests by default (as compile-test) or not
1424 AC_ARG_ENABLE([default-build-tests],
1425 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1426 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1428 AC_ARG_ENABLE([legacy-database-entry-format],
1429 AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1430 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1431 AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1434 AC_ARG_ENABLE([static-bins],
1435 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1436 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1440 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1441 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1442 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1443 if test "x$PREOPEN_MODS" != "xall" ; then
1445 for mod in $PREOPEN_MODS; do
1446 tmpLIBS="$tmpLIBS module-$mod.la"
1448 PREOPEN_MODS="$tmpLIBS"
1449 AC_SUBST(PREOPEN_MODS)
1454 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1455 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1457 AC_SUBST(modlibexecdir)
1458 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1462 AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1463 [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1465 AC_SUBST(udevrulesdir)
1467 AC_ARG_WITH([bash-completion-dir],
1468 AS_HELP_STRING([--with-bash-completion-dir=DIR], [Directory for bash completion files]),
1469 [bashcompletiondir=$withval], [bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)])
1470 if test "x$bashcompletionsdir" = "x"; then
1471 bashcompletiondir="${datadir}/bash-completion/completions"
1474 AC_SUBST(bashcompletiondir)
1477 [zsh-completion-dir],
1478 AS_HELP_STRING([--with-zsh-completion-dir], [Zsh completions directory (defaults to ${datadir}/zsh/site-functions)]),
1479 [zshcompletiondir=$withval], [zshcompletiondir="${datadir}/zsh/site-functions"])
1481 AC_SUBST(zshcompletiondir)
1483 AC_ARG_ENABLE([force-preopen],
1484 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1486 if test "x$enable_force_preopen" = "xyes"; then
1492 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1500 libpulse-mainloop-glib.pc
1502 doxygen/doxygen.conf
1505 man/pulseaudio.1.xml
1507 man/pax11publish.1.xml
1511 man/pasuspender.1.xml
1513 man/pulse-daemon.conf.5.xml
1514 man/pulse-client.conf.5.xml
1515 man/default.pa.5.xml
1516 man/pulse-cli-syntax.5.xml
1517 man/start-pulseaudio-x11.1.xml
1520 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1521 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1522 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1523 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1524 [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1525 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1526 [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1527 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1528 [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1529 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"],
1531 AC_CONFIG_FILES([src/pulseaudio.service:src/daemon/systemd/user/pulseaudio.service.in])
1534 # CMake related ProjectConfig files
1536 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1537 PA_INCDIR="$includedir"
1538 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1540 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1541 [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1542 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1546 # ==========================================================================
1548 AS_IF([test "x$HAVE_MEMFD" = "x1"], ENABLE_MEMFD=yes, ENABLE_MEMFD=no)
1549 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1550 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1551 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1552 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1553 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1554 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1555 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1556 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1557 AS_IF([test "x$HAVE_GTK30" = "x1"], ENABLE_GTK30=yes, ENABLE_GTK30=no)
1558 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1559 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1560 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1561 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1562 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1563 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1564 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1565 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], ENABLE_SYSTEMD_DAEMON=yes, ENABLE_SYSTEMD_DAEMON=no)
1566 AS_IF([test "x$HAVE_SYSTEMD_LOGIN" = "x1"], ENABLE_SYSTEMD_LOGIN=yes, ENABLE_SYSTEMD_LOGIN=no)
1567 AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" = "x1"], ENABLE_SYSTEMD_JOURNAL=yes, ENABLE_SYSTEMD_JOURNAL=no)
1568 AS_IF([test "x$HAVE_BLUEZ_4" = "x1"], ENABLE_BLUEZ_4=yes, ENABLE_BLUEZ_4=no)
1569 AS_IF([test "x$HAVE_BLUEZ_5" = "x1"], ENABLE_BLUEZ_5=yes, ENABLE_BLUEZ_5=no)
1570 AS_IF([test "x$HAVE_BLUEZ_5_OFONO_HEADSET" = "x1"], ENABLE_BLUEZ_5_OFONO_HEADSET=yes, ENABLE_BLUEZ_5_OFONO_HEADSET=no)
1571 AS_IF([test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = "x1"], ENABLE_BLUEZ_5_NATIVE_HEADSET=yes, ENABLE_BLUEZ_5_NATIVE_HEADSET=no)
1572 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1573 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1574 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE="yes (DEPRECATED)", ENABLE_LIBSAMPLERATE=no)
1575 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1576 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1577 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1578 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1579 AS_IF([test "x$HAVE_ADRIAN_EC" = "x1"], ENABLE_ADRIAN_EC=yes, ENABLE_ADRIAN_EC=no)
1580 AS_IF([test "x$HAVE_SPEEX" = "x1"], ENABLE_SPEEX=yes, ENABLE_SPEEX=no)
1581 AS_IF([test "x$HAVE_SOXR" = "x1"], ENABLE_SOXR=yes, ENABLE_SOXR=no)
1582 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1583 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1584 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1585 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1586 AS_IF([test "x$HAVE_ESOUND" = "x1"], ENABLE_ESOUND=yes, ENABLE_ESOUND=no)
1587 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)
1588 AS_IF([test "x$HAVE_GCOV" = "x1"], ENABLE_GCOV=yes, ENABLE_GCOV=no)
1589 AS_IF([test "x$HAVE_LIBCHECK" = "x1"], ENABLE_TESTS=yes, ENABLE_TESTS=no)
1590 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1593 ---{ $PACKAGE_NAME $VERSION }---
1596 sysconfdir: ${sysconfdir}
1597 localstatedir: ${localstatedir}
1598 modlibexecdir: ${modlibexecdir}
1599 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1600 System State Path: ${PA_SYSTEM_STATE_PATH}
1601 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1602 Zsh completions directory: ${zshcompletiondir}
1603 Bash completions directory: ${bashcompletiondir}
1606 CPPFLAGS: ${CPPFLAGS}
1609 Enable memfd shared memory: ${ENABLE_MEMFD}
1610 Enable X11: ${ENABLE_X11}
1611 Enable OSS Output: ${ENABLE_OSS_OUTPUT}
1612 Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
1613 Enable EsounD: ${ENABLE_ESOUND}
1614 Enable Alsa: ${ENABLE_ALSA}
1615 Enable CoreAudio: ${ENABLE_COREAUDIO}
1616 Enable Solaris: ${ENABLE_SOLARIS}
1617 Enable WaveOut: ${ENABLE_WAVEOUT}
1618 Enable GLib 2.0: ${ENABLE_GLIB20}
1619 Enable Gtk+ 3.0: ${ENABLE_GTK30}
1620 Enable GConf: ${ENABLE_GCONF}
1621 Enable Avahi: ${ENABLE_AVAHI}
1622 Enable Jack: ${ENABLE_JACK}
1623 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1624 Enable LIRC: ${ENABLE_LIRC}
1625 Enable D-Bus: ${ENABLE_DBUS}
1626 Enable BlueZ 4: ${ENABLE_BLUEZ_4}
1627 Enable BlueZ 5: ${ENABLE_BLUEZ_5}
1628 Enable ofono headsets: ${ENABLE_BLUEZ_5_OFONO_HEADSET}
1629 Enable native headsets: ${ENABLE_BLUEZ_5_NATIVE_HEADSET}
1630 Enable udev: ${ENABLE_UDEV}
1631 Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
1633 Daemon (Socket Activation): ${ENABLE_SYSTEMD_DAEMON}
1634 Login (Session Tracking): ${ENABLE_SYSTEMD_LOGIN}
1635 Journal (Logging): ${ENABLE_SYSTEMD_JOURNAL}
1636 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1637 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1638 Enable IPv6: ${ENABLE_IPV6}
1639 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1640 Enable fftw: ${ENABLE_FFTW}
1641 Enable orc: ${ENABLE_ORC}
1642 Enable Adrian echo canceller: ${ENABLE_ADRIAN_EC}
1643 Enable speex (resampler, AEC): ${ENABLE_SPEEX}
1644 Enable soxr (resampler): ${ENABLE_SOXR}
1645 Enable WebRTC echo canceller: ${ENABLE_WEBRTC}
1646 Enable gcov coverage: ${ENABLE_GCOV}
1647 Enable unit tests: ${ENABLE_TESTS}
1650 gdbm: ${ENABLE_GDBM}
1651 simple database: ${ENABLE_SIMPLEDB}
1653 System User: ${PA_SYSTEM_USER}
1654 System Group: ${PA_SYSTEM_GROUP}
1655 Access Group: ${PA_ACCESS_GROUP}
1656 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1657 Force preopen: ${FORCE_PREOPEN}
1658 Preopened modules: ${PREOPEN_MODS}
1660 Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1663 if test "${ENABLE_SPEEX}" = "no" && test "${ENABLE_WEBRTC}" = "no" && test "${ENABLE_ADRIAN_EC}" = "no" ; then
1664 AC_MSG_ERROR([At least one echo canceller implementation must be available.])
1667 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1669 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1670 You do not have D-Bus support enabled. It is strongly recommended
1671 that you enable D-Bus support if your platform supports it.
1672 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1673 to the Device Reservation Protocol to speak to JACK, Bluetooth
1674 support and even a native control protocol for communicating and
1675 controling the PulseAudio daemon itself.
1676 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1680 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1682 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1683 You do not have udev support enabled. It is strongly recommended
1684 that you enable udev support if your platform supports it as it is
1685 the primary method used to detect hardware audio devices (on Linux)
1686 and is thus a critical part of PulseAudio on that platform.
1687 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1691 if test "${ENABLE_SPEEX}" = "no" && test "x$os_is_win32" != "x1" ; then
1693 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1694 You do not have speex support enabled. It is strongly recommended
1695 that you enable speex support if your platform supports it as it is
1696 the primary method used for audio resampling and is thus a critical
1697 part of PulseAudio on that platform.
1698 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====