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