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