win32: Fix format specifiers for DWORD values
[platform/upstream/pulseaudio.git] / configure.ac
1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 # This file is part of PulseAudio.
5 #
6 # Copyright 2004-2008 Lennart Poettering
7 # Copyright 2006-2007 Pierre Ossman <ossman@cendio.se> for Cendio AB
8 #
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.
13 #
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.
18 #
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/>.
21
22 AC_PREREQ(2.63)
23
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])
30
31 AM_MAINTAINER_MODE([enable])
32
33 AS_IF([! test -n "$VERSION"], [
34    AC_MSG_ERROR([git-version-gen failed])
35 ])
36
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`)
39
40 AC_SUBST(PA_MAJOR, pa_major)
41 AC_SUBST(PA_MINOR, pa_minor)
42 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
43
44 AC_SUBST(PA_API_VERSION, 12)
45 AC_SUBST(PA_PROTOCOL_VERSION, 35)
46
47 # The stable ABI for client applications, for the version info x:y:z
48 # always will hold x=z
49 AC_SUBST(LIBPULSE_VERSION_INFO, [23:0:23])
50
51 # A simplified, synchronous, ABI-stable interface for client
52 # applications, for the version info x:y:z always will hold x=z
53 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [1:1:1])
54
55 # The ABI-stable GLib adapter for client applications, for the version
56 # info x:y:z always will hold x=z
57 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:6:0])
58
59 AC_CHECK_PROG([STOW], [stow], [yes], [no])
60
61 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
62     AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
63     ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
64 ])
65
66 AM_SILENT_RULES([yes])
67
68
69 #### Checks for programs. ####
70
71 # mkdir -p
72
73 AC_PROG_MKDIR_P
74
75 # ln -s
76
77 AC_PROG_LN_S
78
79 # CC
80
81 AC_PROG_CC
82 AM_PROG_CC_C_O
83 # Only required if you want the WebRTC canceller -- no runtime dep on
84 # libstdc++ otherwise
85 AC_PROG_CXX
86 AC_PROG_GCC_TRADITIONAL
87 AC_USE_SYSTEM_EXTENSIONS
88 AX_CXX_COMPILE_STDCXX_11([ext],[optional])
89
90 # M4
91
92 AC_CHECK_PROGS([M4], gm4 m4, no)
93 AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
94
95 # pkg-config
96
97 PKG_PROG_PKG_CONFIG
98
99 # gettext
100
101 AM_GNU_GETTEXT_VERSION([0.19.8])
102 AM_GNU_GETTEXT([external])
103
104 GETTEXT_PACKAGE=pulseaudio
105 AC_SUBST([GETTEXT_PACKAGE])
106 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
107
108
109 #### Determine host OS ####
110
111 # if the host has the possibility of sys/capability.h for dropping privileges
112 # used to determine if we should error out if it is not found
113 host_has_caps=0
114
115 os_is_linux=0
116 os_is_win32=0
117 os_is_darwin=0
118
119 AC_MSG_CHECKING([host operating system])
120 case "$host_os" in
121     linux*)
122         AC_MSG_RESULT([linux])
123         host_has_caps=1
124         os_is_linux=1
125     ;;
126     freebsd*)
127         AC_MSG_RESULT([freebsd])
128         host_has_caps=1
129     ;;
130     netbsd*)
131         AC_MSG_RESULT([netbsd])
132     ;;
133     darwin*)
134         AC_MSG_RESULT([darwin])
135         os_is_darwin=1
136         AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
137     ;;
138     mingw*)
139         AC_MSG_RESULT([win32])
140         os_is_win32=1
141         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
142     ;;
143     *)
144         AC_MSG_RESULT([unknown])
145     ;;
146 esac
147
148 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
149 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
150 AC_SUBST([OS_IS_WIN32], [$os_is_win32])
151
152 # Platform specific hacks
153 case "$host_os" in
154     darwin* )
155         AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
156     ;;
157     mingw* )
158         AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
159     ;;
160     solaris* )
161         AC_DEFINE(_XOPEN_SOURCE,       600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
162         AC_DEFINE(__EXTENSIONS__,        1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
163     ;;
164 esac
165
166
167 #### Compiler flags ####
168
169 AX_CHECK_COMPILE_FLAG([-std=gnu11],
170    [],
171    [AC_MSG_ERROR([*** Compiler does not support -std=gnu11])],
172    [-pedantic -Werror])
173
174 AX_APPEND_COMPILE_FLAGS(
175     [-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],
176     [], [-pedantic -Werror])
177
178 AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [
179     # Don't append the flag if it already exists.
180     # Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
181     AX_APPEND_FLAG([-DFASTPATH], [CPPFLAGS])
182
183     # Cannot use AX_APPEND_FLAG here, as it assumes no space inside the added flags.
184     # Cannot append flags with AX_APPEND_FLAG one by one, as this would destroy all fortifications
185     # if CPPFLAGS already contain -D_FORTIFY_SOURCE=2.
186
187     # Warnings to be aware of that appear with -D_FORTIFY_SOURCE=2 but without -U_FORTIFY_SOURCE:
188     # On Fedora 20 with -O0: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
189     # On Gentoo with -O2:    "_FORTIFY_SOURCE" redefined [enabled by default]
190     AS_VAR_APPEND([CPPFLAGS],[" -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2"])
191 ])
192
193 #### Linker flags ####
194
195 # Check whether the linker supports the -version-script option.
196 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
197 # so that it is expanded the right way in every subdir.
198 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
199     [VERSIONING_LDFLAGS='-Wl,-version-script=$(abs_top_srcdir)/src/map-file'])
200 AC_SUBST([VERSIONING_LDFLAGS])
201
202 # Use immediate (now) bindings; avoids the funky re-call in itself.
203 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
204 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
205 AC_SUBST([IMMEDIATE_LDFLAGS])
206 AS_CASE([$IMMEDIATE_LDFLAGS],[*-z,now*],
207     [AC_DEFINE([HAVE_BIND_NOW],[1],
208                [Define to 1 if immediate binding is available])])
209
210 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
211 # so we request the nodelete flag to be enabled.
212 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
213 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS], [-shared])
214 AC_SUBST([NODELETE_LDFLAGS])
215
216 # Check for the proper way to build libraries that have no undefined symbols
217 case $host in
218     # FreeBSD (et al.) does not complete linking for shared objects when pthreads
219     # are requested, as different implementations are present.
220     *-freebsd* | *-openbsd*) ;;
221     *)
222         for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
223             AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
224         done
225     ;;
226 esac
227 AC_SUBST([NOUNDEFINED_LDFLAGS])
228
229
230 #### Atomic operations ####
231
232 # Native atomic operation support
233 AC_ARG_ENABLE([atomic-arm-linux-helpers],
234     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
235
236 AC_ARG_ENABLE([atomic-arm-memory-barrier],
237     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
238
239 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
240     AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
241 fi
242
243 # If everything else fails use libatomic_ops
244 need_libatomic_ops=yes
245
246 AC_CACHE_CHECK([whether $CC knows __atomic_store_n()],
247     pulseaudio_cv_atomic_store_n, [
248     AC_LINK_IFELSE(
249         [AC_LANG_PROGRAM([], [[int c = 0; __atomic_store_n(&c, 4, __ATOMIC_SEQ_CST);]])],
250         [pulseaudio_cv_atomic_store_n=yes],
251         [pulseaudio_cv_atomic_store_n=no])
252     ])
253
254
255 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
256     pulseaudio_cv_sync_bool_compare_and_swap, [
257     AC_LINK_IFELSE(
258         [AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]])],
259         [pulseaudio_cv_sync_bool_compare_and_swap=yes],
260         [pulseaudio_cv_sync_bool_compare_and_swap=no])
261     ])
262
263 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
264     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
265     if test "$pulseaudio_cv_atomic_store_n" = "yes" ; then
266          AC_DEFINE([HAVE_ATOMIC_BUILTINS_MEMORY_MODEL], 1, [Have __atomic_store_n() and friends.])
267     fi
268     need_libatomic_ops=no
269 else
270     # HW specific atomic ops stuff
271     AC_MSG_CHECKING([architecture for native atomic operations])
272     case $host in
273         *-netbsd*)
274             AC_MSG_RESULT([yes])
275             need_libatomic_ops=no
276         ;;
277         arm*)
278             AC_MSG_RESULT([arm])
279             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
280             # The Linux kernel helper functions have been there since 2.6.16. However
281             # compile time checking for kernel version in cross compile environment
282             # (which is usually the case for arm cpu) is tricky (or impossible).
283             if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
284                 AC_MSG_RESULT([yes])
285                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
286                 need_libatomic_ops=no
287             else
288                 AC_MSG_RESULT([no])
289                 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
290                     pulseaudio_cv_support_arm_atomic_ops, [
291                     AC_COMPILE_IFELSE(
292                         [AC_LANG_PROGRAM([], [[
293                             volatile int a=0;
294                             int o=0, n=1, r;
295                             asm volatile ("ldrex    %0, [%1]\n"
296                                           "subs  %0, %0, %2\n"
297                                           "strexeq %0, %3, [%1]\n"
298                                           : "=&r" (r)
299                                           : "r" (&a), "Ir" (o), "r" (n)
300                                           : "cc");
301                             return (a==1 ? 0 : -1);
302                         ]])],
303                         [pulseaudio_cv_support_arm_atomic_ops=yes],
304                         [pulseaudio_cv_support_arm_atomic_ops=no])
305                 ])
306                 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
307                     AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
308                     need_libatomic_ops=no
309                 ])
310             fi
311         ;;
312         *-freebsd*)
313             AC_MSG_RESULT([yes])
314             need_libatomic_ops=no
315         ;;
316         *)
317             AC_MSG_RESULT([unknown])
318         ;;
319     esac
320 fi
321
322 # If we're on ARM, check for the ARMV6 instructions we need */
323 case $host in
324   arm*)
325     AC_CACHE_CHECK([support for required armv6 instructions],
326       pulseaudio_cv_support_armv6,
327       [AC_COMPILE_IFELSE(
328          [AC_LANG_PROGRAM([],
329            [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
330              asm volatile ("ldr r0, %2 \n"
331                            "ldr r2, %3 \n"
332                            "ldr r3, %4 \n"
333                            "ssat r1, #8, r0 \n"
334                            "str r1, %0 \n"
335                            "pkhbt r1, r3, r2, LSL #8 \n"
336                            "str r1, %1 \n"
337                            : "=m" (a), "=m" (b)
338                            : "m" (a), "m" (b), "m" (c)
339                            : "r0", "r1", "r2", "r3", "cc");
340              return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
341            ]])],
342          [pulseaudio_cv_support_armv6=yes],
343          [pulseaudio_cv_support_armv6=no])
344       ])
345     AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
346         AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
347       ])
348   ;;
349   *)
350   ;;
351 esac
352
353 #### NEON optimisations ####
354 AC_ARG_ENABLE([neon-opt],
355     AS_HELP_STRING([--enable-neon-opt], [Enable NEON optimisations on ARM CPUs that support it]))
356
357 AS_IF([test "x$enable_neon_opt" != "xno"],
358     [save_CFLAGS="$CFLAGS"; CFLAGS="-mfpu=neon $CFLAGS"
359      AC_COMPILE_IFELSE(
360         [AC_LANG_PROGRAM([[#include <arm_neon.h>]], [])],
361         [
362          HAVE_NEON=1
363          NEON_CFLAGS="-mfpu=neon"
364         ],
365         [
366          HAVE_NEON=0
367          NEON_CFLAGS=
368         ])
369      CFLAGS="$save_CFLAGS"
370     ],
371     [HAVE_NEON=0])
372
373 AS_IF([test "x$enable_neon_opt" = "xyes" && test "x$HAVE_NEON" = "x0"],
374       [AC_MSG_ERROR([*** Compiler does not support -mfpu=neon or CFLAGS override -mfpu])])
375
376 AC_SUBST(HAVE_NEON)
377 AC_SUBST(NEON_CFLAGS)
378 AM_CONDITIONAL([HAVE_NEON], [test "x$HAVE_NEON" = x1])
379 AS_IF([test "x$HAVE_NEON" = "x1"], AC_DEFINE([HAVE_NEON], 1, [Have NEON support?]))
380
381
382 #### libtool stuff ####
383
384 LT_PREREQ(2.4)
385 LT_INIT([dlopen win32-dll disable-static])
386
387 dnl As an extra safety device, check for lt_dladvise_init() which is
388 dnl only implemented in libtool 2.x, and refine as we go if we have
389 dnl refined requirements.
390 dnl
391 dnl Check the header files first since the system may have a
392 dnl libltdl.so for runtime, but no headers, and we want to bail out as
393 dnl soon as possible.
394 dnl
395 dnl We don't need any special variable for this though, since the user
396 dnl can give the proper place to find libltdl through the standard
397 dnl variables like LDFLAGS and CPPFLAGS.
398
399 AC_CHECK_HEADER([ltdl.h],
400     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
401     [LIBLTDL=])
402
403 AS_IF([test "x$LIBLTDL" = "x"],
404     [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.4 or later installed.])])
405 AC_SUBST([LIBLTDL])
406
407
408 ###################################
409 #   Basic environment checks      #
410 ###################################
411
412 #### Checks for header files. ####
413
414 # ISO
415 AC_HEADER_STDC
416
417 # POSIX
418 AC_CHECK_HEADERS_ONCE([arpa/inet.h cpuid.h glob.h grp.h netdb.h netinet/in.h \
419     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
420     sys/mman.h sys/select.h sys/socket.h sys/wait.h \
421     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
422 AC_CHECK_HEADERS([netinet/ip.h], [], [],
423                  [#include <sys/types.h>
424                   #if HAVE_NETINET_IN_H
425                   # include <netinet/in.h>
426                   #endif
427                   #if HAVE_NETINET_IN_SYSTM_H
428                   # include <netinet/in_systm.h>
429                   #endif
430                  ])
431 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
432 AC_SUBST(HAVE_SYS_RESOURCE_H)
433 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
434 # In principle we would test for <afunix.h>, but that doesn't ship (yet) with the
435 # MinGW headers.
436 AC_CHECK_HEADERS([winsock2.h], [HAVE_AF_UNIX=1], [])
437 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
438 AC_SUBST(HAVE_AF_UNIX)
439
440 # Linux
441 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
442 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
443
444 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
445
446 # Solaris
447 AC_CHECK_HEADERS_ONCE([sys/conf.h sys/filio.h])
448
449 # Windows
450 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
451
452 # NetBSD
453 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
454
455 # Other
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])
464
465 AM_CONDITIONAL(HAVE_SYS_EVENTFD_H, test "x$ac_cv_header_sys_eventfd_h" = "xyes")
466
467 #### Typdefs, structures, etc. ####
468
469 AC_C_CONST
470 AC_C_BIGENDIAN
471 AC_TYPE_PID_T
472 AC_TYPE_SIZE_T
473 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
474 AC_TYPE_OFF_T
475
476 AC_TYPE_UID_T
477 AC_CHECK_DECLS(environ)
478
479 AC_CHECK_SIZEOF(void*)
480
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"])
486 fi
487
488 AS_IF([test "x$fast_64bit_operations" = "xyes"], AC_DEFINE([HAVE_FAST_64BIT_OPERATIONS], 1, [Have CPU with fast 64-bit operations?]))
489
490 # SIGXCPU
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")
494
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>])])])
499
500
501 # _Bool
502 AC_CACHE_CHECK([whether $CC knows _Bool],
503     pulseaudio_cv__Bool,
504     [AC_COMPILE_IFELSE(
505         [AC_LANG_PROGRAM([], [[_Bool b;]])],
506         [pulseaudio_cv__Bool=yes],
507         [pulseaudio_cv__Bool=no])
508     ])
509
510 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
511
512
513 #### Check for libs ####
514
515 # ISO
516 AC_SEARCH_LIBS([pow], [m])
517
518 # POSIX
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])
527
528 # BSD
529 AC_SEARCH_LIBS([connect], [socket])
530 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
531
532 # Darwin/OS X
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])]
538     )
539
540     AC_MSG_RESULT([ok])
541     AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
542     HAVE_BONJOUR=1
543 fi
544
545 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
546
547 # Windows
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])])
551
552
553 #### Check for functions ####
554
555 # ISO
556 AC_CHECK_FUNCS_ONCE([lrintf strtof])
557
558 # POSIX
559 AC_FUNC_FORK
560 AC_FUNC_GETGROUPS
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_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")
568 AC_CHECK_FUNCS([pthread_setaffinity_np], [HAVE_PTHREAD_SETAFFINITY_NP=1], [HAVE_PTHREAD_SETAFFINITY_NP=0])
569 AM_CONDITIONAL(HAVE_PTHREAD_SETAFFINITY_NP, test "x$HAVE_PTHREAD_SETAFFINITY_NP" = "x1")
570
571 # X/OPEN
572 AC_CHECK_FUNCS_ONCE([readlink])
573
574 # SUSv2
575 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
576
577 # SUSv3
578 AC_CHECK_FUNCS_ONCE([strerror_r])
579
580 # BSD
581 AC_CHECK_FUNCS_ONCE([lstat paccept])
582
583 # Non-standard
584 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtod_l pipe2 accept4])
585
586 AC_FUNC_ALLOCA
587
588 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
589 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
590
591 # Large File-Support (LFS)
592 AC_SYS_LARGEFILE
593 # Check for open64 to know if the current system does have open64() and similar functions
594 AC_CHECK_FUNCS_ONCE([open64])
595
596 AC_SEARCH_LIBS([dladdr], [dl], [HAVE_DLADDR=1], [HAVE_DLADDR=0])
597 AC_DEFINE(HAVE_DLADDR, [1], [Have dladdr?])
598
599 ###################################
600 #      External libraries         #
601 ###################################
602
603 #### [lib]iconv ####
604
605 AM_ICONV
606
607 #### Linux memfd_create(2) SHM support ####
608
609 AC_ARG_ENABLE([memfd],
610     AS_HELP_STRING([--disable-memfd], [Disable Linux memfd shared memory]))
611
612 AS_IF([test "x$enable_memfd" != "xno"],
613     AC_CHECK_DECL(SYS_memfd_create, [HAVE_MEMFD=1], [HAVE_MEMFD=0], [#include <sys/syscall.h>]),
614     [HAVE_MEMFD=0])
615
616 AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"],
617     [AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory.
618                   *** Use linux v3.17 or higher for such a feature.])])
619
620 AS_IF([test "x$HAVE_MEMFD" = "x1"],
621     AC_CHECK_FUNCS([memfd_create]))
622
623 AC_SUBST(HAVE_MEMFD)
624 AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1])
625 AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.]))
626
627 #### X11 (optional) ####
628
629 AC_ARG_ENABLE([x11],
630     AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
631
632 AS_IF([test "x$enable_x11" != "xno"],
633     [
634         PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)
635         AC_CHECK_LIB(X11, XSetIOErrorExitHandler, [HAVE_XSETIOERROREXITHANDLER=yes], [HAVE_XSETIOERROREXITHANDLER=no])
636     ],
637     [
638         HAVE_X11=0
639         HAVE_XSETIOERROREXITHANDLER=no
640     ])
641
642 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
643     [AC_MSG_ERROR([*** X11 not found])])
644
645 AC_SUBST(HAVE_X11)
646 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
647 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
648 AS_IF([test "x$HAVE_XSETIOERROREXITHANDLER" = "xyes"], AC_DEFINE([HAVE_XSETIOERROREXITHANDLER], 1, [Have XSetIOErrorExitHandler function.]))
649
650 #### Capabilities (optional) ####
651
652 CAP_LIBS=''
653
654 AC_ARG_WITH([caps],
655     AS_HELP_STRING([--without-caps],[Omit support for dropping capabilities.]))
656
657 if test "x${with_caps}" != "xno"; then
658     AC_SEARCH_LIBS([cap_init], [cap], [], [])
659
660     # Only give an error on hosts that we know could support capabilities
661     AC_CHECK_HEADERS([sys/capability.h], [], [
662       if test "${host_has_caps}" = "1"; then
663         AC_MSG_ERROR([*** sys/capability.h not found.  Use --without-caps to disable capabilities support.])
664       fi])
665 fi
666
667 #### Valgrind (optional) ####
668
669 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
670
671 #### check unit tests ####
672
673 AC_ARG_ENABLE([tests],
674     AS_HELP_STRING([--disable-tests],[Disable unit tests]))
675
676 AS_IF([test "x$enable_tests" != "xno"],
677     [PKG_CHECK_MODULES(LIBCHECK, [ check >= 0.9.10 ], HAVE_LIBCHECK=1, HAVE_LIBCHECK=0)],
678     HAVE_LIBCHECK=0)
679
680 AS_IF([test "x$enable_tests" = "xyes" && test "x$HAVE_LIBCHECK" = "x0"],
681     [AC_MSG_ERROR([*** check library not found or too old])])
682
683 AM_CONDITIONAL([HAVE_TESTS], [test "x$HAVE_LIBCHECK" = x1])
684
685 #### Sound file ####
686
687 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
688
689 #### atomic-ops ####
690
691 AC_MSG_CHECKING([whether we need libatomic_ops])
692 if test "x$need_libatomic_ops" = "xyes"; then
693     AC_MSG_RESULT([yes])
694     AC_CHECK_HEADERS([atomic_ops.h],
695         [CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
696         [AC_MSG_ERROR([*** libatomic-ops headers not found])])
697
698     # Win32 does not need the lib and breaks horribly if we try to include it
699     AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
700 else
701     AC_MSG_RESULT([no])
702 fi
703
704 #### Libsamplerate support (optional) ####
705
706 AC_ARG_ENABLE([samplerate],
707     AS_HELP_STRING([--enable-samplerate],[Enable optional libsamplerate support (DEPRECATED)]))
708
709 AS_IF([test "x$enable_samplerate" = "xyes"],
710     [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
711     HAVE_LIBSAMPLERATE=0)
712
713 AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
714     [AC_MSG_ERROR([*** Libsamplerate not found])])
715
716 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
717 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
718
719 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_MSG_WARN([Support for libsamplerate is DEPRECATED]))
720
721 #### Database support ####
722
723 AC_ARG_WITH([database],
724     AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
725
726
727 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
728     [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
729     HAVE_TDB=0)
730 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
731
732 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
733     [AC_MSG_ERROR([*** tdb not found])])
734
735
736 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
737     [
738         HAVE_GDBM=1
739         AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
740         AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
741     ],
742     HAVE_GDBM=0)
743 AS_IF([test "x$HAVE_GDBM" = "x1"],
744     [
745         with_database=gdbm
746         GDBM_CFLAGS=
747         GDBM_LIBS=-lgdbm
748     ])
749
750 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
751     [AC_MSG_ERROR([*** gdbm not found])])
752
753
754 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
755     HAVE_SIMPLEDB=1,
756     HAVE_SIMPLEDB=0)
757 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
758
759 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
760     AC_MSG_ERROR([*** missing database backend]))
761
762
763 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
764 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
765
766 AC_SUBST(GDBM_CFLAGS)
767 AC_SUBST(GDBM_LIBS)
768 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
769 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
770
771 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
772 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
773
774 #### OSS support (optional) ####
775
776 AC_ARG_ENABLE([oss-output],
777     AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
778
779 AC_ARG_ENABLE([oss-wrapper],
780     AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
781
782 AC_ARG_WITH([pulsedsp-location],
783     AS_HELP_STRING([--with-pulsedsp-location],[Specify location where OSS wrapper will be installed]))
784
785 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
786     [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
787     HAVE_OSS=0)
788
789 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
790     [AC_MSG_ERROR([*** OSS support not found])])
791
792 AS_IF([test "x$enable_oss_output" != "xno"],
793     [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
794     HAVE_OSS_OUTPUT=0)
795
796 AS_IF([test "x$enable_oss_wrapper" != "xno"],
797     [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
798     HAVE_OSS_WRAPPER=0)
799
800 AS_IF([test "x$with_pulsedsp_location" != "x"],
801     [PULSEDSP_LOCATION="$with_pulsedsp_location"],
802     [PULSEDSP_LOCATION="\$(pkglibdir)"])
803
804 AC_SUBST(HAVE_OSS_OUTPUT)
805 AC_SUBST(PULSEDSP_LOCATION)
806 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
807 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
808 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
809 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
810
811 # Some platforms like SunOS (Illumos) may ship without SOUND_PCM_* functionality
812 if test "x$HAVE_OSS" = "x1"; then
813     AC_CHECK_DECLS([SOUND_PCM_READ_RATE], [], [], [[#include <sys/soundcard.h>]])
814     AC_CHECK_DECLS([SOUND_PCM_READ_CHANNELS], [], [], [[#include <sys/soundcard.h>]])
815     AC_CHECK_DECLS([SOUND_PCM_READ_BITS], [], [], [[#include <sys/soundcard.h>]])
816 fi
817
818 #### CoreAudio support (optional) ####
819
820 AC_ARG_ENABLE([coreaudio-output],
821     AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
822
823 AS_IF([test "x$enable_coreaudio_output" != "xno"],
824     [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
825     HAVE_COREAUDIO=0)
826
827 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
828     [AC_MSG_ERROR([*** CoreAudio output support not found])])
829
830 AC_SUBST(HAVE_COREAUDIO)
831 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
832
833 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], AC_DEFINE([HAVE_COREAUDIO], 1, [Have CoreAudio?]))
834
835 #### ALSA support (optional) ####
836
837 AC_ARG_ENABLE([alsa],
838     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
839
840 AS_IF([test "x$enable_alsa" != "xno"],
841     [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
842     HAVE_ALSA=0)
843
844 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
845     [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
846
847 AS_IF([test "x$HAVE_ALSA" = "x1"],
848     [
849         save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS"
850         AC_CHECK_HEADERS([alsa/use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
851         CPPFLAGS="$save_CPPFLAGS"
852     ],
853     HAVE_ALSA_UCM=0)
854
855 AC_SUBST(HAVE_ALSA)
856 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
857 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
858 AS_IF([test "x$HAVE_ALSA_UCM" = "x1"], AC_DEFINE([HAVE_ALSA_UCM], 1, [Have ALSA UCM?]))
859
860 #### EsounD support (optional) ####
861
862 AC_ARG_ENABLE([esound],
863     AS_HELP_STRING([--disable-esound],[Disable optional EsounD support]))
864 AM_CONDITIONAL([HAVE_ESOUND], [test "x$enable_esound" != "xno"])
865 AS_IF([test "x$enable_esound" != "xno"], [HAVE_ESOUND=1])
866
867 #### Solaris audio support (optional) ####
868
869 AC_ARG_ENABLE([solaris],
870     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
871
872 AS_IF([test "x$enable_solaris" != "xno"],
873     [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
874     HAVE_SOLARIS=0)
875
876 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
877     [AC_MSG_ERROR([*** Solaris audio support not found])])
878
879 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
880 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
881
882 #### WaveOut audio support (optional) ####
883
884 AC_ARG_ENABLE([waveout],
885     AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
886
887 AS_IF([test "x$enable_waveout" != "xno"],
888     [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
889     HAVE_WAVEOUT=0)
890
891 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
892     [AC_MSG_ERROR([*** WaveOut audio support not found])])
893
894 AC_SUBST(HAVE_WAVEOUT)
895 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
896 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
897
898 #### GLib 2 support (optional) ####
899
900 AC_ARG_ENABLE([glib2],
901     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
902
903 AS_IF([test "x$enable_glib2" != "xno"],
904     [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.28.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
905     HAVE_GLIB20=0)
906
907 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
908     [AC_MSG_ERROR([*** GLib 2 support not found])])
909
910 AC_SUBST(HAVE_GLIB20)
911 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
912 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
913
914 #### GTK3 support (optional) ####
915
916 AC_ARG_ENABLE([gtk3],
917     AS_HELP_STRING([--disable-gtk3],[Disable optional Gtk+ 3 support]))
918
919 AS_IF([test "x$enable_gtk3" != "xno"],
920     [PKG_CHECK_MODULES(GTK30, [ gtk+-3.0 ], HAVE_GTK30=1, HAVE_GTK30=0)],
921     HAVE_GTK30=0)
922
923 AS_IF([test "x$enable_gtk3" = "xyes" && test "x$HAVE_GTK30" = "x0"],
924     [AC_MSG_ERROR([*** Gtk+ 3 support not found])])
925
926 AM_CONDITIONAL([HAVE_GTK30], [test "x$HAVE_GTK30" = x1])
927 AS_IF([test "x$HAVE_GTK30" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
928
929 #### GSettings and GConf support (optional) ####
930
931 AC_ARG_ENABLE([gsettings],
932     AS_HELP_STRING([--disable-gsettings],[Disable optional GSettings support]))
933
934 AC_ARG_ENABLE([gconf],
935     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
936
937 AS_IF([test "x$enable_gsettings" != "xno"],
938     [PKG_CHECK_MODULES(GSETTINGS, [ gio-2.0 >= 2.26.0 ], [HAVE_GSETTINGS=1], [HAVE_GSETTINGS=0])],
939     HAVE_GSETTINGS=0)
940
941 AS_IF([test "x$enable_gsettings" = "xyes" && test "x$HAVE_GSETTINGS" = "x0"],
942     [AC_MSG_ERROR([*** GSettings support not found])])
943
944 AS_IF([test "x$enable_gconf" != "xno"],
945     [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
946     HAVE_GCONF=0)
947
948 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
949     [AC_MSG_ERROR([*** GConf support not found])])
950
951 # Enable only one of GSettings and GConf, unless both were explicitly
952 # requested. If neither was explicitly requested and both are available, prefer
953 # GSettings. This is done, because if module-gsettings and module-gconf are
954 # both loaded, they can cause conflicting or at least confusing configuration.
955 # Distributions may want to enable both modules when building PulseAudio, if
956 # they ensure that both modules are never installed at the same time.
957 AS_IF([test "x$HAVE_GSETTINGS" = "x1" && test "x$enable_gconf" != "xyes"],
958       [HAVE_GCONF=0])
959 AS_IF([test "x$HAVE_GCONF" = "x1" && test "x$enable_gsettings" != "xyes"],
960       [HAVE_GSETTINGS=0])
961
962 AM_CONDITIONAL([HAVE_GSETTINGS], [test "x$HAVE_GSETTINGS" = "x1"])
963 AC_SUBST([HAVE_GSETTINGS])
964 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = "x1"])
965 AC_SUBST([HAVE_GCONF])
966
967 if test "x$HAVE_GSETTINGS" = "x1" ; then
968     GLIB_GSETTINGS
969 fi
970
971 #### Avahi support (optional) ####
972
973 AC_ARG_ENABLE([avahi],
974     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
975
976 AS_IF([test "x$enable_avahi" != "xno"],
977     [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
978     HAVE_AVAHI=0)
979
980 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
981     [AC_MSG_ERROR([*** Avahi support not found])])
982
983 AC_SUBST(HAVE_AVAHI)
984 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
985
986 #### JACK (optional) ####
987
988 AC_ARG_ENABLE([jack],
989     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
990
991 AS_IF([test "x$enable_jack" != "xno"],
992     [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
993     HAVE_JACK=0)
994
995 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
996     [AC_MSG_ERROR([*** JACK support not found])])
997
998 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
999
1000 #### Async DNS support (optional) ####
1001
1002 AC_ARG_ENABLE([asyncns],
1003     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
1004
1005 AS_IF([test "x$enable_asyncns" != "xno"],
1006     [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
1007     HAVE_LIBASYNCNS=0)
1008
1009 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
1010     [AC_MSG_ERROR([*** Async DNS support not found])])
1011
1012 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
1013 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
1014
1015 #### Running from build tree (optional) ####
1016
1017 AC_ARG_ENABLE([running-from-build-tree],
1018     AS_HELP_STRING([--disable-running-from-build-tree],[Disable running from build tree]))
1019
1020 AS_IF([test "x$enable_running_from_build_tree" != "xno"],
1021       AC_DEFINE([HAVE_RUNNING_FROM_BUILD_TREE], 1, [Have running from build tree]))
1022
1023 AC_SUBST(HAVE_RUNNING_FROM_BUILD_TREE)
1024
1025 #### TCP wrappers (optional) ####
1026
1027 AC_ARG_ENABLE([tcpwrap],
1028     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
1029
1030 AS_IF([test "x$enable_tcpwrap" != "xno"],
1031     [
1032         ACX_LIBWRAP
1033         AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
1034     ],
1035     HAVE_TCPWRAP=0)
1036
1037 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
1038     [AC_MSG_ERROR([*** TCP wrappers support not found])])
1039
1040 AC_SUBST(LIBWRAP_LIBS)
1041
1042 #### LIRC support (optional) ####
1043
1044 AC_ARG_ENABLE([lirc],
1045     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
1046
1047 LIRC_CFLAGS=
1048 LIRC_LIBS=
1049
1050 AS_IF([test "x$enable_lirc" != "xno"],
1051     [
1052         HAVE_LIRC=1
1053         AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
1054         AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
1055     ],
1056     HAVE_LIRC=0)
1057
1058 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
1059     [AC_MSG_ERROR([*** LIRC support not found])])
1060
1061 AC_SUBST(LIRC_CFLAGS)
1062 AC_SUBST(LIRC_LIBS)
1063 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1064
1065 #### D-Bus support (optional) ####
1066
1067 AC_ARG_ENABLE([dbus],
1068     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
1069
1070 AS_IF([test "x$enable_dbus" != "xno"],
1071     [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.4.12 ], HAVE_DBUS=1, HAVE_DBUS=0)],
1072     HAVE_DBUS=0)
1073
1074 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
1075     [AC_MSG_ERROR([*** D-Bus not available or too old version])])
1076
1077 AC_SUBST(HAVE_DBUS)
1078 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1079 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
1080
1081 PA_MACHINE_ID="${sysconfdir}/machine-id"
1082 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
1083 PA_MACHINE_ID_FALLBACK="${localstatedir}/lib/dbus/machine-id"
1084 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
1085               [Fallback machine-id file])
1086
1087 #### BlueZ support (optional, dependent on D-Bus and SBC) ####
1088
1089 AC_ARG_ENABLE([bluez5],
1090     AS_HELP_STRING([--disable-bluez5],[Disable optional BlueZ 5 support]))
1091
1092 ## SBC ##
1093 AS_IF([test "x$enable_bluez5" != "xno"],
1094     [PKG_CHECK_MODULES(SBC, [ sbc >= 1.0 ], HAVE_SBC=1, HAVE_SBC=0)],
1095     HAVE_SBC=0)
1096
1097 ## BlueZ 5 ##
1098 AS_IF([test "x$enable_bluez5" != "xno" && test "x$HAVE_DBUS" = "x1" && test "x$HAVE_SBC" = "x1"], HAVE_BLUEZ_5=1,
1099       HAVE_BLUEZ_5=0)
1100 AS_IF([test "x$enable_bluez5" = "xyes" && test "x$HAVE_BLUEZ_5" != "x1"],
1101     [AC_MSG_ERROR([*** BLUEZ 5 support not found (requires sbc and D-Bus)])])
1102 AC_SUBST(HAVE_BLUEZ_5)
1103 AM_CONDITIONAL([HAVE_BLUEZ_5], [test "x$HAVE_BLUEZ_5" = x1])
1104
1105 AS_IF([test "x$HAVE_BLUEZ_5" = "x1"], HAVE_BLUEZ=1, HAVE_BLUEZ=0)
1106 AC_SUBST(HAVE_BLUEZ)
1107 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1108
1109 ## Bluetooth Headset profiles backend ##
1110
1111 AC_ARG_ENABLE([bluez5-ofono-headset],
1112     AS_HELP_STRING([--disable-bluez5-ofono-headset],[Disable optional ofono headset backend support (Bluez 5)]))
1113 AS_IF([test "x$HAVE_BLUEZ_5" = "x1" && test "x$enable_bluez5_ofono_headset" != "xno"], HAVE_BLUEZ_5_OFONO_HEADSET=1,
1114       HAVE_BLUEZ_5_OFONO_HEADSET=0)
1115 AC_SUBST(HAVE_BLUEZ_5_OFONO_HEADSET)
1116 AM_CONDITIONAL([HAVE_BLUEZ_5_OFONO_HEADSET], [test "x$HAVE_BLUEZ_5_OFONO_HEADSET" = x1])
1117 AS_IF([test "x$HAVE_BLUEZ_5_OFONO_HEADSET" = "x1"], AC_DEFINE([HAVE_BLUEZ_5_OFONO_HEADSET], 1, [Bluez 5 ofono headset backend enabled]))
1118
1119 AC_ARG_ENABLE([bluez5-native-headset],
1120     AS_HELP_STRING([--disable-bluez5-native-headset],[Disable optional native headset backend support (Bluez 5)]))
1121 AS_IF([test "x$HAVE_BLUEZ_5" = "x1" && test "x$enable_bluez5_native_headset" != "xno"],
1122       [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 4.101 ], HAVE_BLUEZ_5_NATIVE_HEADSET=1, HAVE_BLUEZ_5_NATIVE_HEADSET=0)],
1123       HAVE_BLUEZ_5_NATIVE_HEADSET=0)
1124 AS_IF([test "x$enable_bluez5_native_headset" = "xyes" && test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = "x0"],
1125       [AC_MSG_ERROR([*** BlueZ 5 native headset backend support not available (requires the libbluetooth headers)])])
1126 AC_SUBST(HAVE_BLUEZ_5_NATIVE_HEADSET)
1127 AM_CONDITIONAL([HAVE_BLUEZ_5_NATIVE_HEADSET], [test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = x1])
1128 AS_IF([test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = "x1"], AC_DEFINE([HAVE_BLUEZ_5_NATIVE_HEADSET], 1, [Bluez 5 native headset backend enabled]))
1129
1130 #### UDEV support (optional) ####
1131
1132 AC_ARG_ENABLE([udev],
1133     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
1134
1135 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
1136     [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
1137     HAVE_UDEV=0)
1138
1139 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
1140     [AC_MSG_ERROR([*** UDEV support not found])])
1141
1142 AC_SUBST(HAVE_UDEV)
1143 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1144 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
1145
1146 #### HAL compat support (optional, dependent on UDEV) ####
1147
1148 AC_ARG_ENABLE([hal-compat],
1149     AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1150
1151 AS_IF([test "x$enable_hal_compat" != "xno"],
1152     [AS_IF([test "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1153     HAVE_HAL_COMPAT=0)
1154
1155 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1156 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1157
1158 #### IPv6 connection support (optional) ####
1159
1160 AC_ARG_ENABLE([ipv6],
1161     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1162
1163 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1164
1165 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1166
1167 #### OpenSSL support (optional) ####
1168
1169 AC_ARG_ENABLE([openssl],
1170     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1171
1172 AS_IF([test "x$enable_openssl" != "xno"],
1173     [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1174     HAVE_OPENSSL=0)
1175
1176 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1177     [AC_MSG_ERROR([*** OpenSSL support not found])])
1178
1179 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1180 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1181
1182 #### FFTW (optional) ####
1183
1184 AC_ARG_WITH([fftw],
1185     AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1186
1187 AS_IF([test "x$with_fftw" != "xno"],
1188     [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1189     HAVE_FFTW=0)
1190
1191 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1192     [AC_MSG_ERROR([*** FFTW support not found])])
1193
1194 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1195
1196 #### speex (optional) ####
1197
1198 AC_ARG_WITH([speex],
1199     AS_HELP_STRING([--without-speex],[Omit speex (resampling, AEC)]))
1200
1201 AS_IF([test "x$with_speex" != "xno"],
1202     [PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ], HAVE_SPEEX=1, HAVE_SPEEX=0)],
1203     HAVE_SPEEX=0)
1204
1205 AS_IF([test "x$with_speex" = "xyes" && test "x$HAVE_SPEEX" = "x0"],
1206     [AC_MSG_ERROR([*** speex support not found])])
1207
1208 AM_CONDITIONAL([HAVE_SPEEX], [test "x$HAVE_SPEEX" = "x1"])
1209 AS_IF([test "x$HAVE_SPEEX" = "x1"], AC_DEFINE([HAVE_SPEEX], 1, [Have speex]))
1210
1211 #### soxr (optional) ####
1212
1213 AC_ARG_WITH([soxr],
1214     AS_HELP_STRING([--without-soxr],[Omit soxr (resampling)]))
1215
1216 AS_IF([test "x$with_soxr" != "xno"],
1217     [PKG_CHECK_MODULES(LIBSOXR, [ soxr >= 0.1.1 ], HAVE_SOXR=1, HAVE_SOXR=0)],
1218     HAVE_SOXR=0)
1219
1220 AS_IF([test "x$with_soxr" = "xyes" && test "x$HAVE_SOXR" = "x0"],
1221     [AC_MSG_ERROR([*** soxr support not found])])
1222
1223 AM_CONDITIONAL([HAVE_SOXR], [test "x$HAVE_SOXR" = "x1"])
1224 AS_IF([test "x$HAVE_SOXR" = "x1"], AC_DEFINE([HAVE_SOXR], 1, [Have soxr]))
1225
1226
1227 #### gcov support (optional) #####
1228
1229 AC_ARG_ENABLE([gcov],
1230     AS_HELP_STRING([--enable-gcov],[Enable optional gcov coverage analysis]))
1231
1232 GCOV_CFLAGS=
1233 GCOV_LIBS=" -lgcov"
1234
1235 AS_IF([test "x$enable_gcov" = "xyes"],
1236     [
1237         HAVE_GCOV=1
1238         GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs -ftest-coverage"
1239         GCOV_LIBS="$GCOV_LIBS -fprofile-arcs"
1240     ],
1241     HAVE_GCOV=0)
1242
1243 AC_SUBST(GCOV_CFLAGS)
1244 AC_SUBST(GCOV_LIBS)
1245 AM_CONDITIONAL([HAVE_GCOV], [test "x$HAVE_GCOV" = x1])
1246
1247 #### ORC (optional) ####
1248
1249 ORC_CHECK([0.4.11])
1250
1251 #### systemd support (optional) ####
1252
1253 AC_ARG_ENABLE([systemd-daemon],
1254     AS_HELP_STRING([--disable-systemd-daemon],[Disable optional systemd daemon (socket activation) support]))
1255
1256 AC_ARG_ENABLE([systemd-login],
1257     AS_HELP_STRING([--disable-systemd-login],[Disable optional systemd login support]))
1258
1259 AC_ARG_ENABLE([systemd-journal],
1260     AS_HELP_STRING([--disable-systemd-journal],[Disable optional systemd journal support]))
1261
1262 # Newer systemd's combine their subcomponent libraries into one
1263 # If it exists, we should use it for the further checks
1264
1265 AS_IF([test "x$enable_systemd_daemon" != "xno" || test "x$enable_systemd_login" != "xno" || test "x$enable_systemd_journal" != "xno"],
1266     [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
1267     HAVE_SYSTEMD=0)
1268
1269 AS_IF([test "x$HAVE_SYSTEMD" = "x1"],
1270     [
1271         HAVE_SYSTEMD_DAEMON=1
1272         HAVE_SYSTEMD_LOGIN=1
1273         HAVE_SYSTEMD_JOURNAL=1
1274     ])
1275
1276 AC_ARG_WITH([systemduserunitdir],
1277         AS_HELP_STRING([--with-systemduserunitdir=DIR], [Directory for systemd user service files]),
1278         [], [with_systemduserunitdir=$($PKG_CONFIG --variable=systemduserunitdir systemd)])
1279 if test "x$with_systemduserunitdir" != xno; then
1280         AC_SUBST([systemduserunitdir], [$with_systemduserunitdir])
1281 fi
1282
1283 #### systemd daemon support (optional) ####
1284
1285 AS_IF([test "x$enable_systemd_daemon" != "xno"],
1286     [AS_IF([test "x$HAVE_SYSTEMD_DAEMON" != "x1"], [PKG_CHECK_MODULES(SYSTEMDDAEMON, [ libsystemd-daemon ], HAVE_SYSTEMD_DAEMON=1, HAVE_SYSTEMD_DAEMON=0)])],
1287     HAVE_SYSTEMD_DAEMON=0)
1288
1289 AS_IF([test "x$enable_systemd_daemon" = "xyes" && test "x$HAVE_SYSTEMD_DAEMON" = "x0"],
1290     [AC_MSG_ERROR([*** Needed systemd daemon support not found])])
1291
1292 AC_SUBST(HAVE_SYSTEMD_DAEMON)
1293 AM_CONDITIONAL([HAVE_SYSTEMD_DAEMON], [test "x$HAVE_SYSTEMD_DAEMON" = x1])
1294 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], AC_DEFINE([HAVE_SYSTEMD_DAEMON], 1, [Have SYSTEMDDAEMON?]))
1295
1296 #### systemd login support (optional) ####
1297
1298 AS_IF([test "x$enable_systemd_login" != "xno"],
1299     [AS_IF([test "x$HAVE_SYSTEMD_LOGIN" != "x1"], [PKG_CHECK_MODULES(SYSTEMDLOGIN, [ libsystemd-login ], HAVE_SYSTEMD_LOGIN=1, HAVE_SYSTEMD_LOGIN=0)])],
1300     HAVE_SYSTEMD_LOGIN=0)
1301
1302 AS_IF([test "x$enable_systemd_login" = "xyes" && test "x$HAVE_SYSTEMD_LOGIN" = "x0"],
1303     [AC_MSG_ERROR([*** Needed systemd login support not found])])
1304
1305 AC_SUBST(HAVE_SYSTEMD_LOGIN)
1306 AM_CONDITIONAL([HAVE_SYSTEMD_LOGIN], [test "x$HAVE_SYSTEMD_LOGIN" = x1])
1307 AS_IF([test "x$HAVE_SYSTEMD_LOGIN" = "x1"], AC_DEFINE([HAVE_SYSTEMD_LOGIN], 1, [Have SYSTEMDLOGIN?]))
1308
1309 #### systemd journal support (optional) ####
1310
1311 AS_IF([test "x$enable_systemd_journal" != "xno"],
1312     [AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" != "x1"], [PKG_CHECK_MODULES(SYSTEMDJOURNAL, [ libsystemd-journal ], HAVE_SYSTEMD_JOURNAL=1, HAVE_SYSTEMD_JOURNAL=0)])],
1313     HAVE_SYSTEMD_JOURNAL=0)
1314
1315 AS_IF([test "x$enable_systemd_journal" = "xyes" && test "x$HAVE_SYSTEMD_JOURNAL" = "x0"],
1316     [AC_MSG_ERROR([*** Needed systemd journal support not found])])
1317
1318 AC_SUBST(HAVE_SYSTEMD_JOURNAL)
1319 AM_CONDITIONAL([HAVE_SYSTEMD_JOURNAL], [test "x$HAVE_SYSTEMD_JOURNAL" = x1])
1320 AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" = "x1"], AC_DEFINE([HAVE_SYSTEMD_JOURNAL], 1, [Have SYSTEMDJOURNAL?]))
1321
1322 #### GStreamer-based RTP support (optional) ####
1323
1324 AC_ARG_ENABLE([gstreamer],
1325     AS_HELP_STRING([--enable-gstreamer],[Enable optional GStreamer-based RTP support]))
1326
1327 AS_IF([test "x$enable_gstreamer" = "xyes"],
1328     [PKG_CHECK_MODULES(GSTREAMER, [ gstreamer-1.0 >= 1.14 gstreamer-app-1.0 gstreamer-rtp-1.0 gio-2.0 ],
1329                        HAVE_GSTREAMER=1, HAVE_GSTREAMER=0)],
1330     HAVE_GSTREAMER=0)
1331
1332 AS_IF([test "x$enable_gstreamer" = "xyes" && test "x$HAVE_GSTREAMER" = "x0"],
1333     [AC_MSG_ERROR([*** GStreamer 1.0 support not found])])
1334
1335 AM_CONDITIONAL([HAVE_GSTREAMER], [test "x$HAVE_GSTREAMER" = x1])
1336 AS_IF([test "x$HAVE_GSTREAMER" = "x1"], AC_DEFINE([HAVE_GSTREAMER], 1, [Have GStreamer?]))
1337
1338 #### Build and Install man pages ####
1339
1340 AC_ARG_ENABLE([manpages],
1341     AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1342
1343 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1344
1345 #### PulseAudio system group & user  #####
1346
1347 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1348 if test -z "$with_system_user" ; then
1349     PA_SYSTEM_USER=pulse
1350 else
1351     PA_SYSTEM_USER=$with_system_user
1352 fi
1353 AC_SUBST(PA_SYSTEM_USER)
1354 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1355
1356 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1357 if test -z "$with_system_group" ; then
1358     PA_SYSTEM_GROUP=pulse
1359 else
1360     PA_SYSTEM_GROUP=$with_system_group
1361 fi
1362 AC_SUBST(PA_SYSTEM_GROUP)
1363 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1364
1365 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)]))
1366 if test -z "$with_access_group" ; then
1367     PA_ACCESS_GROUP=pulse-access
1368 else
1369     PA_ACCESS_GROUP=$with_access_group
1370 fi
1371 AC_SUBST(PA_ACCESS_GROUP)
1372 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1373
1374 AC_ARG_ENABLE([per-user-esound-socket],
1375     AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1376
1377 if test "x$enable_per_user_esound_socket" != "xno"; then
1378     USE_PER_USER_ESOUND_SOCKET=1
1379     AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1380 else
1381     USE_PER_USER_ESOUND_SOCKET=0
1382 fi
1383
1384 #### PulseAudio system runtime dir ####
1385
1386 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1387 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1388 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1389 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1390 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1391 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1392
1393 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1394 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1395
1396 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1397 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1398
1399 AC_SUBST(PA_SOEXT, [.so])
1400 AC_DEFINE(PA_SOEXT, [".so"], [Shared object extension])
1401
1402 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1403 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1404 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR_UNQUOTED, pulseconfdir, [Location of configuration files])
1405
1406 #### Mac OSX specific stuff #####
1407
1408 AC_ARG_ENABLE(mac-universal,
1409     AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1410     enable_mac_universal=$enableval, enable_mac_universal="no")
1411
1412 AC_ARG_WITH(mac-version-min,
1413     AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1414     mac_version_min=$withval, mac_version_min="10.5")
1415
1416 AC_ARG_WITH(mac-sysroot,
1417     AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1418     mac_sysroot=$withval)
1419
1420 if test "x$os_is_darwin" = "x1" ; then
1421     LDFLAGS="$LDFLAGS -mmacosx-version-min=$mac_version_min"
1422     CFLAGS="$CFLAGS -mmacosx-version-min=$mac_version_min"
1423
1424     if test "x$mac_sysroot" != "x" ; then
1425         LDFLAGS="$LDFLAGS -isysroot $mac_sysroot"
1426         CFLAGS="$CFLAGS -isysroot $mac_sysroot"
1427     fi
1428
1429     if test "x$enable_mac_universal" = "xyes" ; then
1430         mac_arches="-arch i386 -arch x86_64"
1431         LDFLAGS="$LDFLAGS $mac_arches"
1432         CFLAGS="$CFLAGS $mac_arches"
1433     fi
1434 fi
1435
1436 AC_ARG_ENABLE([webrtc-aec],
1437     AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1438
1439 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "$HAVE_CXX11" = "0"],
1440     [AC_MSG_ERROR([*** webrtc-audio-processing needs C++11 support])])
1441
1442 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1443     [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing >= 0.2 ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1444     [HAVE_WEBRTC=0])
1445
1446 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1447     [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1448
1449 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1450
1451 AC_ARG_ENABLE([adrian-aec],
1452     AS_HELP_STRING([--enable-adrian-aec], [Enable Adrian's optional echo canceller]))
1453 AS_IF([test "x$enable_adrian_aec" != "xno"],
1454     [HAVE_ADRIAN_EC=1])
1455 AM_CONDITIONAL([HAVE_ADRIAN_EC], [test "x$HAVE_ADRIAN_EC" = "x1"])
1456
1457
1458 #### Thread support ####
1459
1460 AX_TLS
1461 AS_IF([test "$ac_cv_tls" = "__thread"],
1462     AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
1463
1464 # Win32 build breaks with win32 pthread installed
1465 AS_IF([test "x$os_is_win32" != "x1"],
1466   [AX_PTHREAD])
1467
1468 AS_IF([test "x$ax_pthread_ok" = "xyes"],
1469     AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
1470
1471
1472
1473 ###################################
1474 #            Output               #
1475 ###################################
1476
1477 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1478
1479 # Check whether to build tests by default (as compile-test) or not
1480 AC_ARG_ENABLE([default-build-tests],
1481     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1482 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1483
1484 AC_ARG_ENABLE([legacy-database-entry-format],
1485         AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1486 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1487         AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1488 fi
1489
1490 AC_ARG_ENABLE([stream-restore-clear-old-devices],
1491     AS_HELP_STRING([--enable-stream-restore-clear-old-devices], [Forget per-stream routing settings that have been set before version 14.0. Recommended when using GNOME. See https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/832]))
1492 if test "x$enable_stream_restore_clear_old_devices" == "xyes" ; then
1493     AC_DEFINE(STREAM_RESTORE_CLEAR_OLD_DEVICES, [1], [module-stream-restore: Clear old devices])
1494 fi
1495
1496 AC_ARG_ENABLE([static-bins],
1497     AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1498 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1499
1500 AC_ARG_WITH(
1501         [preopen-mods],
1502         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1503         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1504 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1505 if test "x$PREOPEN_MODS" != "xall" ; then
1506     tmpLIBS=""
1507     for mod in $PREOPEN_MODS; do
1508         tmpLIBS="$tmpLIBS module-$mod.la"
1509     done
1510     PREOPEN_MODS="$tmpLIBS"
1511     AC_SUBST(PREOPEN_MODS)
1512 fi
1513
1514 AC_ARG_WITH(
1515         [module-dir],
1516         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1517         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1518
1519 AC_SUBST(modlibexecdir)
1520 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1521
1522 AC_ARG_WITH(
1523         [alsa-data-dir],
1524         AS_HELP_STRING([--with-alsa-data-dir],[Directory for ALSA card profiles (defaults to ${datadir}/pulseaudio/alsa-mixer)]),
1525         [alsadatadir=$withval], [alsadatadir="${datadir}/pulseaudio/alsa-mixer"])
1526
1527 AC_SUBST(alsadatadir)
1528
1529 AC_ARG_WITH(
1530         [udev-rules-dir],
1531         AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1532         [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1533
1534 AC_SUBST(udevrulesdir)
1535
1536 AC_ARG_WITH([bash-completion-dir],
1537         AS_HELP_STRING([--with-bash-completion-dir=DIR], [Directory for bash completion files]),
1538         [bashcompletiondir=$withval], [bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)])
1539 if test "x$bashcompletionsdir" = "x"; then
1540         bashcompletiondir="${datadir}/bash-completion/completions"
1541 fi
1542
1543 AC_SUBST(bashcompletiondir)
1544
1545 AC_ARG_WITH(
1546         [zsh-completion-dir],
1547         AS_HELP_STRING([--with-zsh-completion-dir], [Zsh completions directory (defaults to ${datadir}/zsh/site-functions)]),
1548         [zshcompletiondir=$withval], [zshcompletiondir="${datadir}/zsh/site-functions"])
1549
1550 AC_SUBST(zshcompletiondir)
1551
1552 AC_ARG_ENABLE([force-preopen],
1553     AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1554
1555 if test "x$enable_force_preopen" = "xyes"; then
1556     FORCE_PREOPEN=yes
1557 else
1558     FORCE_PREOPEN=no
1559 fi
1560
1561 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1562
1563 # Substitute the variable with an empty string. This makes the output go to the
1564 # directory where doxygen is run (which is the doxygen directory under the
1565 # build directory). Substituting a variable with a constant value wouldn't
1566 # otherwise make sense, but the substitution variable needs to exist, because
1567 # we substitute a different value when using Meson.
1568 AC_SUBST([DOXYGEN_OUTPUT_DIRECTORY], [])
1569
1570 AC_CONFIG_FILES([
1571 Makefile
1572 src/Makefile
1573 man/Makefile
1574 libpulse.pc
1575 libpulse-simple.pc
1576 libpulse-mainloop-glib.pc
1577 doxygen/Makefile
1578 doxygen/doxygen.conf
1579 src/pulse/version.h
1580 po/Makefile.in
1581 man/pulseaudio.1.xml
1582 man/pax11publish.1.xml
1583 man/pacat.1.xml
1584 man/pacmd.1.xml
1585 man/pactl.1.xml
1586 man/pasuspender.1.xml
1587 man/padsp.1.xml
1588 man/pulse-daemon.conf.5.xml
1589 man/pulse-client.conf.5.xml
1590 man/default.pa.5.xml
1591 man/pulse-cli-syntax.5.xml
1592 man/start-pulseaudio-x11.1.xml
1593 ])
1594
1595 AS_IF([test "x$HAVE_ESOUND" = "x1"],
1596     [
1597         AC_CONFIG_FILES([man/esdcompat.1.xml])
1598         AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1599     ])
1600
1601 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1602 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1603 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1604     [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1605 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1606     [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1607 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1608     [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1609 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"],
1610     [
1611         AC_CONFIG_FILES([src/pulseaudio.service:src/daemon/systemd/user/pulseaudio.service.in])
1612     ])
1613
1614 # CMake related ProjectConfig files
1615 PA_LIBDIR="$libdir"
1616 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1617 PA_INCDIR="$includedir"
1618 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1619
1620 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1621     [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1622 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1623
1624 AC_OUTPUT
1625
1626 # ==========================================================================
1627
1628 AS_IF([test "x$HAVE_MEMFD" = "x1"], ENABLE_MEMFD=yes, ENABLE_MEMFD=no)
1629 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1630 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1631 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1632 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1633 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1634 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1635 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1636 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1637 AS_IF([test "x$HAVE_GTK30" = "x1"], ENABLE_GTK30=yes, ENABLE_GTK30=no)
1638 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1639 AS_IF([test "x$HAVE_GSETTINGS" = "x1"], ENABLE_GSETTINGS=yes, ENABLE_GSETTINGS=no)
1640 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1641 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1642 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1643 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1644 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1645 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1646 AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], ENABLE_SYSTEMD_DAEMON=yes, ENABLE_SYSTEMD_DAEMON=no)
1647 AS_IF([test "x$HAVE_SYSTEMD_LOGIN" = "x1"], ENABLE_SYSTEMD_LOGIN=yes, ENABLE_SYSTEMD_LOGIN=no)
1648 AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" = "x1"], ENABLE_SYSTEMD_JOURNAL=yes, ENABLE_SYSTEMD_JOURNAL=no)
1649 AS_IF([test "x$HAVE_BLUEZ_5" = "x1"], ENABLE_BLUEZ_5=yes, ENABLE_BLUEZ_5=no)
1650 AS_IF([test "x$HAVE_BLUEZ_5_OFONO_HEADSET" = "x1"], ENABLE_BLUEZ_5_OFONO_HEADSET=yes, ENABLE_BLUEZ_5_OFONO_HEADSET=no)
1651 AS_IF([test "x$HAVE_BLUEZ_5_NATIVE_HEADSET" = "x1"], ENABLE_BLUEZ_5_NATIVE_HEADSET=yes, ENABLE_BLUEZ_5_NATIVE_HEADSET=no)
1652 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1653 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1654 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE="yes (DEPRECATED)", ENABLE_LIBSAMPLERATE=no)
1655 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1656 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1657 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1658 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1659 AS_IF([test "x$HAVE_ADRIAN_EC" = "x1"], ENABLE_ADRIAN_EC=yes, ENABLE_ADRIAN_EC=no)
1660 AS_IF([test "x$HAVE_SPEEX" = "x1"], ENABLE_SPEEX=yes, ENABLE_SPEEX=no)
1661 AS_IF([test "x$HAVE_SOXR" = "x1"], ENABLE_SOXR=yes, ENABLE_SOXR=no)
1662 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1663 AS_IF([test "x$HAVE_GSTREAMER" = "x1"], ENABLE_GSTREAMER=yes, ENABLE_GSTREAMER=no)
1664 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1665 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1666 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1667 AS_IF([test "x$HAVE_ESOUND" = "x1"], ENABLE_ESOUND=yes, ENABLE_ESOUND=no)
1668 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)
1669 AS_IF([test "x$HAVE_GCOV" = "x1"], ENABLE_GCOV=yes, ENABLE_GCOV=no)
1670 AS_IF([test "x$HAVE_LIBCHECK" = "x1"], ENABLE_TESTS=yes, ENABLE_TESTS=no)
1671 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1672 AS_IF([test "x$enable_stream_restore_clear_old_devices" == "xyes"], ENABLE_STREAM_RESTORE_CLEAR_OLD_DEVICES=yes, ENABLE_STREAM_RESTORE_CLEAR_OLD_DEVICES=no)
1673
1674 echo "
1675  ---{ $PACKAGE_NAME $VERSION }---
1676
1677     prefix:                        ${prefix}
1678     sysconfdir:                    ${sysconfdir}
1679     localstatedir:                 ${localstatedir}
1680     modlibexecdir:                 ${modlibexecdir}
1681     alsadatadir:                   ${alsadatadir}
1682     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1683     System State Path:             ${PA_SYSTEM_STATE_PATH}
1684     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1685     Zsh completions directory:     ${zshcompletiondir}
1686     Bash completions directory:    ${bashcompletiondir}
1687     Compiler:                      ${CC}
1688     CFLAGS:                        ${CFLAGS}
1689     CPPFLAGS:                      ${CPPFLAGS}
1690     LIBS:                          ${LIBS}
1691
1692     Enable memfd shared memory:    ${ENABLE_MEMFD}
1693     Enable X11:                    ${ENABLE_X11}
1694       Safe X11 I/O errors:         ${HAVE_XSETIOERROREXITHANDLER}
1695     Enable OSS Output:             ${ENABLE_OSS_OUTPUT}
1696     Enable OSS Wrapper:            ${ENABLE_OSS_WRAPPER}
1697     Enable EsounD:                 ${ENABLE_ESOUND}
1698     Enable Alsa:                   ${ENABLE_ALSA}
1699     Enable CoreAudio:              ${ENABLE_COREAUDIO}
1700     Enable Solaris:                ${ENABLE_SOLARIS}
1701     Enable WaveOut:                ${ENABLE_WAVEOUT}
1702     Enable GLib 2.0:               ${ENABLE_GLIB20}
1703     Enable Gtk+ 3.0:               ${ENABLE_GTK30}
1704     Enable GConf:                  ${ENABLE_GCONF}
1705     Enable GSettings:              ${ENABLE_GSETTINGS}
1706     Enable Avahi:                  ${ENABLE_AVAHI}
1707     Enable Jack:                   ${ENABLE_JACK}
1708     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1709     Enable LIRC:                   ${ENABLE_LIRC}
1710     Enable D-Bus:                  ${ENABLE_DBUS}
1711       Enable BlueZ 5:              ${ENABLE_BLUEZ_5}
1712         Enable ofono headsets:     ${ENABLE_BLUEZ_5_OFONO_HEADSET}
1713         Enable native headsets:    ${ENABLE_BLUEZ_5_NATIVE_HEADSET}
1714     Enable udev:                   ${ENABLE_UDEV}
1715       Enable HAL->udev compat:     ${ENABLE_HAL_COMPAT}
1716     Enable systemd
1717       Daemon (Socket Activation):  ${ENABLE_SYSTEMD_DAEMON}
1718       Login (Session Tracking):    ${ENABLE_SYSTEMD_LOGIN}
1719       Journal (Logging):           ${ENABLE_SYSTEMD_JOURNAL}
1720     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1721     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1722     Enable IPv6:                   ${ENABLE_IPV6}
1723     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1724     Enable fftw:                   ${ENABLE_FFTW}
1725     Enable orc:                    ${ENABLE_ORC}
1726     Enable Adrian echo canceller:  ${ENABLE_ADRIAN_EC}
1727     Enable speex (resampler, AEC): ${ENABLE_SPEEX}
1728     Enable soxr (resampler):       ${ENABLE_SOXR}
1729     Enable WebRTC echo canceller:  ${ENABLE_WEBRTC}
1730     Enable GStreamer-based RTP:    ${ENABLE_GSTREAMER}
1731     Enable gcov coverage:          ${ENABLE_GCOV}
1732     Enable unit tests:             ${ENABLE_TESTS}
1733     Database
1734       tdb:                         ${ENABLE_TDB}
1735       gdbm:                        ${ENABLE_GDBM}
1736       simple database:             ${ENABLE_SIMPLEDB}
1737
1738     System User:                   ${PA_SYSTEM_USER}
1739     System Group:                  ${PA_SYSTEM_GROUP}
1740     Access Group:                  ${PA_ACCESS_GROUP}
1741     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1742     Force preopen:                 ${FORCE_PREOPEN}
1743     Preopened modules:             ${PREOPEN_MODS}
1744
1745     Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1746     module-stream-restore:
1747       Clear old devices:           ${ENABLE_STREAM_RESTORE_CLEAR_OLD_DEVICES}
1748 "
1749
1750 if test "${ENABLE_SPEEX}" = "no" && test "${ENABLE_WEBRTC}" = "no" && test "${ENABLE_ADRIAN_EC}" = "no" ; then
1751 AC_MSG_ERROR([At least one echo canceller implementation must be available.])
1752 fi
1753
1754 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1755    echo "
1756 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1757 You do not have D-Bus support enabled. It is strongly recommended
1758 that you enable D-Bus support if your platform supports it.
1759 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1760 to the Device Reservation Protocol to speak to JACK, Bluetooth
1761 support and even a native control protocol for communicating and
1762 controlling the PulseAudio daemon itself.
1763 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1764 "
1765 fi
1766
1767 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1768    echo "
1769 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1770 You do not have udev support enabled. It is strongly recommended
1771 that you enable udev support if your platform supports it as it is
1772 the primary method used to detect hardware audio devices (on Linux)
1773 and is thus a critical part of PulseAudio on that platform.
1774 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1775 "
1776 fi
1777
1778 if test "${ENABLE_SPEEX}" = "no" && test "x$os_is_win32" != "x1" ; then
1779    echo "
1780 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1781 You do not have speex support enabled. It is strongly recommended
1782 that you enable speex support if your platform supports it as it is
1783 the primary method used for audio resampling and is thus a critical
1784 part of PulseAudio on that platform.
1785 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1786 "
1787 fi