format: Add description for format.h
[pulseaudio-raopUDP/pulseaudio-raop-alac.git] / configure.ac
blobe3ce9874e5bd6f32a5aad456d538f24fd37b6e4a
1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
4 # This file is part of PulseAudio.
6 # Copyright 2004-2008 Lennart Poettering
7 # Copyright 2006-2007 Pierre Ossman <ossman@cendio.se> for Cendio AB
9 # PulseAudio is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU Lesser General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
14 # PulseAudio is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # General Public License for more details.
19 # You should have received a copy of the GNU Lesser General Public License
20 # along with PulseAudio; if not, write to the Free Software Foundation,
21 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
23 AC_PREREQ(2.63)
25 AC_INIT([pulseaudio],[m4_esyscmd(./git-version-gen .tarball-version)],[pulseaudio-discuss (at) lists (dot) freedesktop (dot) org],[pulseaudio],[http://pulseaudio.org/])
26 AC_CONFIG_SRCDIR([src/daemon/main.c])
27 AC_CONFIG_MACRO_DIR([m4])
28 AC_CONFIG_HEADERS([config.h])
29 AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules color-tests dist-xz tar-ustar])
31 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
32 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
34 AC_SUBST(PA_MAJOR, pa_major)
35 AC_SUBST(PA_MINOR, pa_minor)
36 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
38 AC_SUBST(PA_API_VERSION, 12)
39 AC_SUBST(PA_PROTOCOL_VERSION, 25)
41 # The stable ABI for client applications, for the version info x:y:z
42 # always will hold y=z
43 AC_SUBST(LIBPULSE_VERSION_INFO, [13:4:13])
45 # A simplified, synchronous, ABI-stable interface for client
46 # applications, for the version info x:y:z always will hold y=z
47 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])
49 # The ABI-stable network browsing interface for client applications,
50 # for the version info x:y:z always will hold y=z
51 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
53 # The ABI-stable GLib adapter for client applications, for the version
54 # info x:y:z always will hold y=z
55 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
57 AC_CANONICAL_HOST
58 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
60 AC_CHECK_PROG([STOW], [stow], [yes], [no])
62 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
63     AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
64     ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
67 AM_SILENT_RULES([yes])
70 #### Checks for programs. ####
72 # mkdir -p
74 AC_PROG_MKDIR_P
76 # CC
78 AC_PROG_CC
79 AC_PROG_CC_C99
80 AM_PROG_CC_C_O
81 # Only required if you want the WebRTC canceller -- no runtime dep on
82 # libstdc++ otherwise
83 AC_PROG_CXX
84 AC_PROG_GCC_TRADITIONAL
85 AC_USE_SYSTEM_EXTENSIONS
87 # M4
89 AC_CHECK_PROGS([M4], gm4 m4, no)
90 AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
92 # pkg-config
94 PKG_PROG_PKG_CONFIG
96 # gettext
98 IT_PROG_INTLTOOL([0.35.0])
99 GETTEXT_PACKAGE=pulseaudio
100 AC_SUBST([GETTEXT_PACKAGE])
101 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
102 AM_GLIB_GNU_GETTEXT
104 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
105 AX_DEFINE_DIR(PULSE_LOCALEDIR, pulselocaledir, [Gettext locale dir])
108 #### Determine host OS ####
110 os_is_linux=0
111 os_is_win32=0
112 os_is_darwin=0
114 AC_MSG_CHECKING([host operating system])
115 case "$host_os" in
116     linux*)
117         AC_MSG_RESULT([linux])
118         os_is_linux=1
119     ;;
120     darwin*)
121         AC_MSG_RESULT([darwin])
122         os_is_darwin=1
123         AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
124     ;;
125     mingw*)
126         AC_MSG_RESULT([win32])
127         os_is_win32=1
128         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
129     ;;
130     *)
131         AC_MSG_RESULT([unknown])
132     ;;
133 esac
135 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
136 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
137 AC_SUBST([OS_IS_WIN32], [$os_is_win32])
139 # Platform specific hacks
140 case "$host_os" in
141     darwin* )
142         AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
143     ;;
144     mingw* )
145         AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
146     ;;
147     solaris* )
148         AC_DEFINE(_XOPEN_SOURCE,       600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
149         AC_DEFINE(__EXTENSIONS__,        1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
150     ;;
151 esac
154 #### Compiler flags ####
156 AX_APPEND_COMPILE_FLAGS(
157     [-Wall -W -Wextra -pipe -Wno-long-long -Wvla -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 -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option],
158     [], [-pedantic -Werror])
160 # Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
161 AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [AX_APPEND_FLAG(["-DFASTPATH"], [CPPFLAGS])])
164 #### Linker flags ####
166 # Check whether the linker supports the -version-script option.
167 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
168 # so that it is expanded the right way in every subdir.
169 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
170     [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
171 AC_SUBST([VERSIONING_LDFLAGS])
173 # Use immediate (now) bindings; avoids the funky re-call in itself.
174 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
175 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
176 AC_SUBST([IMMEDIATE_LDFLAGS])
178 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
179 # so we request the nodelete flag to be enabled.
180 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
181 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
182 AC_SUBST([NODELETE_LDFLAGS])
184 # Check for the proper way to build libraries that have no undefined symbols
185 case $host in
186     # FreeBSD (et al.) does not complete linking for shared objects when pthreads
187     # are requested, as different implementations are present.
188     *-freebsd* | *-openbsd*) ;;
189     *)
190         for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
191             AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
192         done
193     ;;
194 esac
195 AC_SUBST([NOUNDEFINED_LDFLAGS])
198 #### Atomic operations ####
200 # Native atomic operation support
201 AC_ARG_ENABLE([atomic-arm-linux-helpers],
202     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
204 AC_ARG_ENABLE([atomic-arm-memory-barrier],
205     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
207 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
208     AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
211 # If everything else fails use libatomic_ops
212 need_libatomic_ops=yes
214 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
215     pulseaudio_cv_sync_bool_compare_and_swap, [
216     AC_LINK_IFELSE(
217         AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
218         [pulseaudio_cv_sync_bool_compare_and_swap=yes],
219         [pulseaudio_cv_sync_bool_compare_and_swap=no])
220     ])
222 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
223     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
224     need_libatomic_ops=no
225 else
226     # HW specific atomic ops stuff
227     AC_MSG_CHECKING([architecture for native atomic operations])
228     case $host in
229         arm*)
230             AC_MSG_RESULT([arm])
231             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
232             # The Linux kernel helper functions have been there since 2.6.16. However
233             # compile time checking for kernel version in cross compile environment
234             # (which is usually the case for arm cpu) is tricky (or impossible).
235             if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
236                 AC_MSG_RESULT([yes])
237                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
238                 need_libatomic_ops=no
239             else
240                 AC_MSG_RESULT([no])
241                 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
242                     pulseaudio_cv_support_arm_atomic_ops, [
243                     AC_COMPILE_IFELSE(
244                         AC_LANG_PROGRAM([], [[
245                             volatile int a=0;
246                             int o=0, n=1, r;
247                             asm volatile ("ldrex    %0, [%1]\n"
248                                           "subs  %0, %0, %2\n"
249                                           "strexeq %0, %3, [%1]\n"
250                                           : "=&r" (r)
251                                           : "r" (&a), "Ir" (o), "r" (n)
252                                           : "cc");
253                             return (a==1 ? 0 : -1);
254                         ]]),
255                         [pulseaudio_cv_support_arm_atomic_ops=yes],
256                         [pulseaudio_cv_support_arm_atomic_ops=no])
257                 ])
258                 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
259                     AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
260                     need_libatomic_ops=no
261                 ])
262             fi
263         ;;
264         *-netbsdelf5*)
265             AC_MSG_RESULT([yes])
266             need_libatomic_ops=no
267         ;;
268         *-freebsd*)
269             AC_MSG_RESULT([yes])
270             need_libatomic_ops=no
271         ;;
272         *)
273             AC_MSG_RESULT([unknown])
274         ;;
275     esac
278 # If we're on ARM, check for the ARMV6 instructions we need */
279 case $host in
280   arm*)
281     AC_CACHE_CHECK([support for required armv6 instructions],
282       pulseaudio_cv_support_armv6,
283       [AC_COMPILE_IFELSE(
284          AC_LANG_PROGRAM([],
285            [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
286              asm volatile ("ldr r0, %2 \n"
287                            "ldr r2, %3 \n"
288                            "ldr r3, %4 \n"
289                            "ssat r1, #8, r0 \n"
290                            "str r1, %0 \n"
291                            "pkhbt r1, r3, r2, LSL #8 \n"
292                            "str r1, %1 \n"
293                            : "=m" (a), "=m" (b)
294                            : "m" (a), "m" (b), "m" (c)
295                            : "r0", "r1", "r2", "r3", "cc");
296              return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
297            ]]),
298          [pulseaudio_cv_support_armv6=yes],
299          [pulseaudio_cv_support_armv6=no])
300       ])
301     AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
302         AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
303       ])
304   ;;
305   *)
306   ;;
307 esac
310 #### libtool stuff ####
312 LT_PREREQ(2.2)
313 LT_INIT([dlopen win32-dll disable-static])
315 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
316 dnl exactly which version of libltdl is present in the system, so we
317 dnl just assume that it's a working version as long as we have the
318 dnl library and the header files.
320 dnl As an extra safety device, check for lt_dladvise_init() which is
321 dnl only implemented in libtool 2.x, and refine as we go if we have
322 dnl refined requirements.
324 dnl Check the header files first since the system may have a
325 dnl libltdl.so for runtime, but no headers, and we want to bail out as
326 dnl soon as possible.
328 dnl We don't need any special variable for this though, since the user
329 dnl can give the proper place to find libltdl through the standard
330 dnl variables like LDFLAGS and CPPFLAGS.
332 AC_CHECK_HEADER([ltdl.h],
333     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
334     [LIBLTDL=])
336 AS_IF([test "x$LIBLTDL" = "x"],
337     [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
338 AC_SUBST([LIBLTDL])
341 ###################################
342 #   Basic environment checks      #
343 ###################################
345 #### Checks for header files. ####
347 # ISO
348 AC_HEADER_STDC
350 # POSIX
351 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
352     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
353     sys/mman.h sys/select.h sys/socket.h sys/wait.h \
354     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
355 AC_CHECK_HEADERS([netinet/ip.h], [], [],
356                  [#include <sys/types.h>
357                   #if HAVE_NETINET_IN_H
358                   # include <netinet/in.h>
359                   #endif
360                   #if HAVE_NETINET_IN_SYSTM_H
361                   # include <netinet/in_systm.h>
362                   #endif
363                  ])
364 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
365 AC_SUBST(HAVE_SYS_RESOURCE_H)
366 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
367 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
368 AC_SUBST(HAVE_AF_UNIX)
370 # Linux
371 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
372 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
374 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
376 # Solaris
377 AC_CHECK_HEADERS_ONCE([sys/filio.h])
379 # Windows
380 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
382 # NetBSD
383 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
385 # Other
386 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
387 AC_CHECK_HEADERS_ONCE([byteswap.h])
388 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
389 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
390 AC_CHECK_HEADERS_ONCE([execinfo.h])
391 AC_CHECK_HEADERS_ONCE([langinfo.h])
392 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
395 #### Typdefs, structures, etc. ####
397 AC_C_CONST
398 AC_C_BIGENDIAN
399 AC_TYPE_PID_T
400 AC_TYPE_SIZE_T
401 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
402 AC_TYPE_OFF_T
404 AC_TYPE_UID_T
405 AC_CHECK_DECLS(environ)
407 # SIGXCPU
408 AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
409 AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
410 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
412 # INADDR_NONE, Solaris lacks this
413 AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
414     [AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
415         [AC_DEFINE([INADDR_NONE],  [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
418 # _Bool
419 AC_CACHE_CHECK([whether $CC knows _Bool],
420     pulseaudio_cv__Bool,
421     [AC_COMPILE_IFELSE(
422         AC_LANG_PROGRAM([], [[_Bool b;]]),
423         [pulseaudio_cv__Bool=yes],
424         [pulseaudio_cv__Bool=no])
425     ])
427 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
430 #### Thread support ####
432 AX_TLS
433 AS_IF([test "$ac_cv_tls" == "__thread"],
434     AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
436 # Win32 build breaks with win32 pthread installed
437 AS_IF([test "x$os_is_win32" != "x1"],
438   [AX_PTHREAD])
440 AS_IF([test "x$ax_pthread_ok" == "xyes"],
441     AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
444 #### Check for libs ####
446 # ISO
447 AC_SEARCH_LIBS([pow], [m])
449 # POSIX
450 AC_SEARCH_LIBS([sched_setscheduler], [rt])
451 AC_SEARCH_LIBS([dlopen], [dl])
452 AC_SEARCH_LIBS([shm_open], [rt])
453 AC_SEARCH_LIBS([inet_ntop], [nsl])
454 AC_SEARCH_LIBS([timer_create], [rt])
455 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
456 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
457 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
459 # BSD
460 AC_SEARCH_LIBS([connect], [socket])
461 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
463 # Darwin/OS X
464 if test "x$os_is_darwin" = "x1" ; then
465     AC_MSG_CHECKING([looking for Apple CoreService Framework])
466     # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
467     AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
468         [LIBS="$LIBS -framework CoreServices"],
469         [AC_MSG_ERROR([CoreServices.h header file not found])]
470     )
472     AC_MSG_RESULT([ok])
473     AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
474     HAVE_BONJOUR=1
477 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
479 # Windows
480 AC_SEARCH_LIBS([regexec], [pcreposix])
481 # This magic is needed so we do not needlessly add static libs to the win32  build, disabling its ability to make dlls.
482 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
485 #### Check for functions ####
487 # ISO
488 AC_CHECK_FUNCS_ONCE([lrintf strtof])
490 # POSIX
491 AC_FUNC_FORK
492 AC_FUNC_GETGROUPS
493 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
494     getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
495     pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
496     sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
497 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
498 AC_SUBST(HAVE_MKFIFO)
499 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
501 # X/OPEN
502 AC_CHECK_FUNCS_ONCE([readlink])
504 # SUSv2
505 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
507 # SUSv3
508 AC_CHECK_FUNCS_ONCE([strerror_r])
510 # BSD
511 AC_CHECK_FUNCS_ONCE([lstat])
513 # Non-standard
514 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
516 AC_FUNC_ALLOCA
518 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
519 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
521 # Large File-Support (LFS)
522 AC_SYS_LARGEFILE
523 # Check for open64 to know if the current system does have open64() and similar functions
524 AC_CHECK_FUNCS_ONCE([open64])
527 ###################################
528 #      External libraries         #
529 ###################################
531 #### [lib]iconv ####
533 AM_ICONV
535 #### X11 (optional) ####
537 AC_ARG_ENABLE([x11],
538     AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
540 AS_IF([test "x$enable_x11" != "xno"],
541     [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
542     HAVE_X11=0)
544 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
545     [AC_MSG_ERROR([*** X11 not found])])
547 AC_SUBST(X11_CFLAGS)
548 AC_SUBST(X11_LIBS)
549 AC_SUBST(HAVE_X11)
550 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
551 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
553 #### Capabilities (optional) ####
555 CAP_LIBS=''
557 AC_ARG_WITH([caps],
558     AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
560 if test "x${with_caps}" != "xno"; then
561     AC_SEARCH_LIBS([cap_init], [cap], [], [
562                     if test "x${with_caps}" = "xyes" ; then
563                         AC_MSG_ERROR([*** POSIX caps libraries not found])
564                     fi])
565     AC_CHECK_HEADERS([sys/capability.h], [], [
566                     if test "x${with_caps}" = "xyes" ; then
567                         AC_MSG_ERROR([*** POSIX caps headers not found])
568                     fi])
571 #### Valgrind (optional) ####
573 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
575 #### json parsing ####
577 PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])
578 AC_SUBST(LIBJSON_CFLAGS)
579 AC_SUBST(LIBJSON_LIBS)
581 #### Sound file ####
583 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
584 AC_SUBST(LIBSNDFILE_CFLAGS)
585 AC_SUBST(LIBSNDFILE_LIBS)
587 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
588 AC_SUBST(LIBSPEEX_CFLAGS)
589 AC_SUBST(LIBSPEEX_LIBS)
591 #### atomic-ops ####
593 AC_MSG_CHECKING([whether we need libatomic_ops])
594 if test "x$need_libatomic_ops" = "xyes"; then
595     AC_MSG_RESULT([yes])
596     AC_CHECK_HEADERS([atomic_ops.h],
597         [CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
598         [AC_MSG_ERROR([*** libatomic-ops headers not found])])
600     # Win32 does not need the lib and breaks horribly if we try to include it
601     AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
602 else
603     AC_MSG_RESULT([no])
606 #### Libsamplerate support (optional) ####
608 AC_ARG_ENABLE([samplerate],
609     AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]))
611 AS_IF([test "x$enable_samplerate" != "xno"],
612     [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
613     HAVE_LIBSAMPLERATE=0)
615 AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
616     [AC_MSG_ERROR([*** Libsamplerate not found])])
618 AC_SUBST(LIBSAMPLERATE_CFLAGS)
619 AC_SUBST(LIBSAMPLERATE_LIBS)
620 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
621 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
623 #### Database support ####
625 AC_ARG_WITH([database],
626     AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
629 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
630     [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
631     HAVE_TDB=0)
632 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
634 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
635     [AC_MSG_ERROR([*** tdb not found])])
638 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
639     [
640         HAVE_GDBM=1
641         AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
642         AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
643     ],
644     HAVE_GDBM=0)
645 AS_IF([test "x$HAVE_GDBM" = "x1"],
646     [
647         with_database=gdbm
648         GDBM_CFLAGS=
649         GDBM_LIBS=-lgdbm
650     ])
652 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
653     [AC_MSG_ERROR([*** gdbm not found])])
656 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
657     HAVE_SIMPLEDB=1,
658     HAVE_SIMPLEDB=0)
659 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
661 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
662     AC_MSG_ERROR([*** missing database backend]))
665 AC_SUBST(TDB_CFLAGS)
666 AC_SUBST(TDB_LIBS)
667 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
668 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
670 AC_SUBST(GDBM_CFLAGS)
671 AC_SUBST(GDBM_LIBS)
672 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
673 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
675 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
676 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
678 #### OSS support (optional) ####
680 AC_ARG_ENABLE([oss-output],
681     AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
683 AC_ARG_ENABLE([oss-wrapper],
684     AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
686 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
687     [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
688     HAVE_OSS=0)
690 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
691     [AC_MSG_ERROR([*** OSS support not found])])
693 AS_IF([test "x$enable_oss_output" != "xno"],
694     [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
695     HAVE_OSS_OUTPUT=0)
697 AS_IF([test "x$enable_oss_wrapper" != "xno"],
698     [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
699     HAVE_OSS_WRAPPER=0)
701 AC_SUBST(HAVE_OSS_OUTPUT)
702 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
703 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
704 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
705 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
707 #### CoreAudio support (optional) ####
709 AC_ARG_ENABLE([coreaudio-output],
710     AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
712 AS_IF([test "x$enable_coreaudio_output" != "xno"],
713     [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
714     HAVE_COREAUDIO=0)
716 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
717     [AC_MSG_ERROR([*** CoreAudio output support not found])])
719 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
721 #### ALSA support (optional) ####
723 AC_ARG_ENABLE([alsa],
724     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
726 AS_IF([test "x$enable_alsa" != "xno"],
727     [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
728     HAVE_ALSA=0)
730 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
731     [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
733 AC_SUBST(ASOUNDLIB_CFLAGS)
734 AC_SUBST(ASOUNDLIB_LIBS)
735 AC_SUBST(HAVE_ALSA)
736 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
737 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
739 #### Solaris audio support (optional) ####
741 AC_ARG_ENABLE([solaris],
742     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
744 AS_IF([test "x$enable_solaris" != "xno"],
745     [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
746     HAVE_SOLARIS=0)
748 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
749     [AC_MSG_ERROR([*** Solaris audio support not found])])
751 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
752 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
754 #### WaveOut audio support (optional) ####
756 AC_ARG_ENABLE([waveout],
757     AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
759 AS_IF([test "x$enable_waveout" != "xno"],
760     [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
761     HAVE_WAVEOUT=0)
763 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
764     [AC_MSG_ERROR([*** WaveOut audio support not found])])
766 AC_SUBST(HAVE_WAVEOUT)
767 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
768 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
770 #### GLib 2 support (optional) ####
772 AC_ARG_ENABLE([glib2],
773     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
775 AS_IF([test "x$enable_glib2" != "xno"],
776     [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
777     HAVE_GLIB20=0)
779 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
780     [AC_MSG_ERROR([*** GLib 2 support not found])])
782 AC_SUBST(GLIB20_CFLAGS)
783 AC_SUBST(GLIB20_LIBS)
784 AC_SUBST(HAVE_GLIB20)
785 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
786 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
788 #### GTK2 support (optional) ####
790 AC_ARG_ENABLE([gtk2],
791     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]))
793 AS_IF([test "x$enable_gtk2" != "xno"],
794     [PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ], HAVE_GTK20=1, HAVE_GTK20=0)],
795     HAVE_GTK20=0)
797 AS_IF([test "x$enable_gtk2" = "xyes" && test "x$HAVE_GTK20" = "x0"],
798     [AC_MSG_ERROR([*** Gtk+ 2 support not found])])
800 AC_SUBST(GTK20_CFLAGS)
801 AC_SUBST(GTK20_LIBS)
802 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
803 AS_IF([test "x$HAVE_GTK20" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
805 #### GConf support (optional) ####
807 AC_ARG_ENABLE([gconf],
808     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
810 AS_IF([test "x$enable_gconf" != "xno"],
811     [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
812     HAVE_GCONF=0)
814 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
815     [AC_MSG_ERROR([*** GConf support not found])])
817 AC_SUBST(GCONF_CFLAGS)
818 AC_SUBST(GCONF_LIBS)
819 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
821 #### Avahi support (optional) ####
823 AC_ARG_ENABLE([avahi],
824     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
826 AS_IF([test "x$enable_avahi" != "xno"],
827     [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
828     HAVE_AVAHI=0)
830 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
831     [AC_MSG_ERROR([*** Avahi support not found])])
833 AC_SUBST(AVAHI_CFLAGS)
834 AC_SUBST(AVAHI_LIBS)
835 AC_SUBST(HAVE_AVAHI)
836 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
838 #### JACK (optional) ####
840 AC_ARG_ENABLE([jack],
841     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
843 AS_IF([test "x$enable_jack" != "xno"],
844     [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
845     HAVE_JACK=0)
847 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
848     [AC_MSG_ERROR([*** JACK support not found])])
850 AC_SUBST(JACK_CFLAGS)
851 AC_SUBST(JACK_LIBS)
852 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
854 #### Async DNS support (optional) ####
856 AC_ARG_ENABLE([asyncns],
857     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
859 AS_IF([test "x$enable_asyncns" != "xno"],
860     [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
861     HAVE_LIBASYNCNS=0)
863 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
864     [AC_MSG_ERROR([*** Async DNS support not found])])
866 AC_SUBST(LIBASYNCNS_CFLAGS)
867 AC_SUBST(LIBASYNCNS_LIBS)
868 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
869 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
871 #### TCP wrappers (optional) ####
873 AC_ARG_ENABLE([tcpwrap],
874     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
876 AS_IF([test "x$enable_tcpwrap" != "xno"],
877     [
878         ACX_LIBWRAP
879         AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
880     ],
881     HAVE_TCPWRAP=0)
883 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
884     [AC_MSG_ERROR([*** TCP wrappers support not found])])
886 AC_SUBST(LIBWRAP_LIBS)
888 #### LIRC support (optional) ####
890 AC_ARG_ENABLE([lirc],
891     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
893 LIRC_CFLAGS=
894 LIRC_LIBS=
896 AS_IF([test "x$enable_lirc" != "xno"],
897     [
898         HAVE_LIRC=1
899         AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
900         AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
901     ],
902     HAVE_LIRC=0)
904 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
905     [AC_MSG_ERROR([*** LIRC support not found])])
907 AC_SUBST(LIRC_CFLAGS)
908 AC_SUBST(LIRC_LIBS)
909 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
911 #### D-Bus support (optional) ####
913 AC_ARG_ENABLE([dbus],
914     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
916 AS_IF([test "x$enable_dbus" != "xno"],
917     [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.3.0 ], HAVE_DBUS=1, HAVE_DBUS=0)],
918     HAVE_DBUS=0)
920 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
921     [AC_MSG_ERROR([*** D-Bus (1.3.0+) support not found])])
923 AS_IF([test "x$HAVE_DBUS" = "x1"],
924     [
925         save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
926         save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
927         AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
928         CFLAGS="$save_CFLAGS"
929         LIBS="$save_LIBS"
930     ])
932 AC_SUBST(DBUS_CFLAGS)
933 AC_SUBST(DBUS_LIBS)
934 AC_SUBST(HAVE_DBUS)
935 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
936 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
938 PA_MACHINE_ID="${localstatedir}/lib/dbus/machine-id"
939 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
940 PA_MACHINE_ID_FALLBACK="${sysconfdir}/machine-id"
941 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
942               [Fallback machine-id file])
944 #### HAL support (optional), dependant on D-Bus ####
946 AC_ARG_ENABLE([hal],
947     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]))
949 AS_IF([test "x$enable_hal" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
950     [PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ], HAVE_HAL=1, HAVE_HAL=0)],
951     HAVE_HAL=0)
952 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_HAL=0)
954 AS_IF([test "x$enable_hal" = "xyes" && test "x$HAVE_HAL" = "x0"],
955     [AC_MSG_ERROR([*** HAL support not found (requires D-Bus)])])
957 AC_SUBST(HAL_CFLAGS)
958 AC_SUBST(HAL_LIBS)
959 AC_SUBST(HAVE_HAL)
960 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
961 AS_IF([test "x$HAVE_HAL" = "x1"], AC_DEFINE([HAVE_HAL], 1, [Have HAL.]))
963 #### BlueZ support (optional, dependant on D-Bus) ####
965 AC_ARG_ENABLE([bluez],
966     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]))
968 AS_IF([test "x$enable_bluez" != "xno"],
969     [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
970     HAVE_BLUEZ=0)
971 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_BLUEZ=0)
973 AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"],
974     [AC_MSG_ERROR([*** BLUEZ support not found (requires D-Bus)])])
976 AC_SUBST(BLUEZ_CFLAGS)
977 AC_SUBST(BLUEZ_LIBS)
978 AC_SUBST(HAVE_BLUEZ)
979 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
981 #### UDEV support (optional) ####
983 AC_ARG_ENABLE([udev],
984     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
986 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
987     [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
988     HAVE_UDEV=0)
990 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
991     [AC_MSG_ERROR([*** UDEV support not found])])
993 AC_SUBST(UDEV_CFLAGS)
994 AC_SUBST(UDEV_LIBS)
995 AC_SUBST(HAVE_UDEV)
996 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
997 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
999 #### HAL compat support (optional, dependant on UDEV) ####
1001 AC_ARG_ENABLE([hal-compat],
1002     AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1004 AS_IF([test "x$enable_hal_compat" != "xno"],
1005     [AS_IF([test "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1006     HAVE_HAL_COMPAT=0)
1008 AS_IF([test "x$enable_hal_compat" = "xyes" && test "x$HAVE_HAL_COMPAT" = "x0"],
1009     [AC_MSG_ERROR([*** HAL-compat support requires UDEV and no HAL])])
1011 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1012 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1014 #### IPv6 connection support (optional) ####
1016 AC_ARG_ENABLE([ipv6],
1017     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1019 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1021 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1023 #### OpenSSL support (optional) ####
1025 AC_ARG_ENABLE([openssl],
1026     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1028 AS_IF([test "x$enable_openssl" != "xno"],
1029     [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1030     HAVE_OPENSSL=0)
1032 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1033     [AC_MSG_ERROR([*** OpenSSL support not found])])
1035 AC_SUBST(OPENSSL_CFLAGS)
1036 AC_SUBST(OPENSSL_LIBS)
1037 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1038 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1040 #### FFTW (optional) ####
1042 AC_ARG_WITH([fftw],
1043     AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1045 AS_IF([test "x$with_fftw" != "xno"],
1046     [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1047     HAVE_FFTW=0)
1049 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1050     [AC_MSG_ERROR([*** FFTW support not found])])
1052 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1054 #### ORC (optional) ####
1056 ORC_CHECK([0.4.11])
1058 #### Build and Install man pages ####
1060 AC_ARG_ENABLE([manpages],
1061     AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1063 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1065 #### PulseAudio system group & user  #####
1067 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1068 if test -z "$with_system_user" ; then
1069     PA_SYSTEM_USER=pulse
1070 else
1071     PA_SYSTEM_USER=$with_system_user
1073 AC_SUBST(PA_SYSTEM_USER)
1074 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1076 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1077 if test -z "$with_system_group" ; then
1078     PA_SYSTEM_GROUP=pulse
1079 else
1080     PA_SYSTEM_GROUP=$with_system_group
1082 AC_SUBST(PA_SYSTEM_GROUP)
1083 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1085 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)]))
1086 if test -z "$with_access_group" ; then
1087     PA_ACCESS_GROUP=pulse-access
1088 else
1089     PA_ACCESS_GROUP=$with_access_group
1091 AC_SUBST(PA_ACCESS_GROUP)
1092 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1094 AC_ARG_ENABLE([per-user-esound-socket],
1095     AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1097 if test "x$enable_per_user_esound_socket" != "xno"; then
1098     USE_PER_USER_ESOUND_SOCKET=1
1099     AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1100 else
1101     USE_PER_USER_ESOUND_SOCKET=0
1104 #### PulseAudio system runtime dir ####
1106 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1107 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1108 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1109 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1110 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1111 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1113 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1114 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1116 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1117 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1119 AC_SUBST(PA_SOEXT, [.so])
1121 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1122 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1124 AC_DEFINE_UNQUOTED(PA_BUILDDIR, "${ac_pwd}/src", [Location of uninstalled binaries])
1126 #### Mac OSX specific stuff #####
1128 AC_ARG_ENABLE(mac-universal,
1129     AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1130     enable_mac_universal=$enableval, enable_mac_universal="no")
1132 AC_ARG_WITH(mac-version-min,
1133     AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1134     mac_version_min=$withval, mac_version_min="10.5")
1136 AC_ARG_WITH(mac-sysroot,
1137     AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1138     mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
1140 if test "x$os_is_darwin" = "x1" ; then
1141     LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1142     CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1144     if test "x$enable_mac_universal" = "xyes" ; then
1145         mac_arches="-arch i386 -arch x86_64"
1146         LDFLAGS="$LDFLAGS $mac_arches"
1147         CFLAGS="$CFLAGS $mac_arches"
1148     fi
1151 AC_ARG_ENABLE([webrtc-aec],
1152     AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1154 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1155     [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1156     [HAVE_WEBRTC=0])
1158 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1159     [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1161 AC_SUBST(WEBRTC_CFLAGS)
1162 AC_SUBST(WEBRTC_LIBS)
1163 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1166 ###################################
1167 #            Output               #
1168 ###################################
1170 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1172 # Check whether to build tests by default (as compile-test) or not
1173 AC_ARG_ENABLE([default-build-tests],
1174     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1175 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1177 AC_ARG_ENABLE([legacy-runtime-dir],
1178         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1179 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1180         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1183 AC_ARG_ENABLE([legacy-database-entry-format],
1184         AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1185 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1186         AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1188 AC_DEFINE([WIBBLE], 1, [Just a test.])
1190 AC_ARG_ENABLE([static-bins],
1191     AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1192 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1194 AC_ARG_WITH(
1195         [preopen-mods],
1196         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1197         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1198 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1199 if test "x$PREOPEN_MODS" != "xall" ; then
1200     tmpLIBS=""
1201     for mod in $PREOPEN_MODS; do
1202         tmpLIBS="$tmpLIBS module-$mod.la"
1203     done
1204     PREOPEN_MODS="$tmpLIBS"
1205     AC_SUBST(PREOPEN_MODS)
1208 AC_ARG_WITH(
1209         [module-dir],
1210         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1211         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1213 AC_SUBST(modlibexecdir)
1214 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1216 AC_ARG_WITH(
1217         [udev-rules-dir],
1218         AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1219         [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1221 AC_SUBST(udevrulesdir)
1223 AC_ARG_ENABLE([force-preopen],
1224     AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1226 if test "x$enable_force_preopen" = "xyes"; then
1227     FORCE_PREOPEN=yes
1228 else
1229     FORCE_PREOPEN=no
1232 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1234 AC_CONFIG_FILES([
1235 Makefile
1236 src/Makefile
1237 man/Makefile
1238 libpulse.pc
1239 libpulse-simple.pc
1240 libpulse-mainloop-glib.pc
1241 doxygen/Makefile
1242 doxygen/doxygen.conf
1243 src/pulse/version.h
1244 po/Makefile.in
1245 man/pulseaudio.1.xml
1246 man/esdcompat.1.xml
1247 man/pax11publish.1.xml
1248 man/paplay.1.xml
1249 man/pacat.1.xml
1250 man/pacmd.1.xml
1251 man/pactl.1.xml
1252 man/pasuspender.1.xml
1253 man/padsp.1.xml
1254 man/pulse-daemon.conf.5.xml
1255 man/pulse-client.conf.5.xml
1256 man/default.pa.5.xml
1257 man/start-pulseaudio-kde.1.xml
1258 man/start-pulseaudio-x11.1.xml
1261 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1262 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1263 AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
1264 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1265 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1266     [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1267 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1268     [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1269 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1270     [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1272 # CMake related ProjectConfig files
1273 PA_LIBDIR="$libdir"
1274 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1275 PA_INCDIR="$includedir"
1276 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1278 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1279     [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1280 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1282 AC_OUTPUT
1284 # ==========================================================================
1286 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1287 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1288 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1289 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1290 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1291 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1292 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1293 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1294 AS_IF([test "x$HAVE_GTK20" = "x1"], ENABLE_GTK20=yes, ENABLE_GTK20=no)
1295 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1296 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1297 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1298 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1299 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1300 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1301 AS_IF([test "x$HAVE_HAL" = "x1"], ENABLE_HAL=yes, ENABLE_HAL=no)
1302 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1303 AS_IF([test "x$HAVE_BLUEZ" = "x1"], ENABLE_BLUEZ=yes, ENABLE_BLUEZ=no)
1304 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1305 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1306 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
1307 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1308 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1309 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1310 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1311 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1312 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1313 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1314 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1315 AS_IF([test "x$USE_PER_USER_ESOUND_SOCKET" = "x1"], ENABLE_PER_USER_ESOUND_SOCKET=yes, ENABLE_PER_USER_ESOUND_SOCKET=no)
1316 AS_IF([test "x$enable_legacy_runtime_dir" != "xno"], ENABLE_LEGACY_RUNTIME_DIR=yes, ENABLE_LEGACY_RUNTIME_DIR=no)
1317 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1319 echo "
1320  ---{ $PACKAGE_NAME $VERSION }---
1322     prefix:                        ${prefix}
1323     sysconfdir:                    ${sysconfdir}
1324     localstatedir:                 ${localstatedir}
1325     modlibexecdir:                 ${modlibexecdir}
1326     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1327     System State Path:             ${PA_SYSTEM_STATE_PATH}
1328     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1329     Compiler:                      ${CC}
1330     CFLAGS:                        ${CFLAGS}
1331     LIBS:                          ${LIBS}
1333     Enable X11:                    ${ENABLE_X11}
1334     Enable OSS Output:             ${ENABLE_OSS_OUTPUT}
1335     Enable OSS Wrapper:            ${ENABLE_OSS_WRAPPER}
1336     Enable Alsa:                   ${ENABLE_ALSA}
1337     Enable CoreAudio:              ${ENABLE_COREAUDIO}
1338     Enable Solaris:                ${ENABLE_SOLARIS}
1339     Enable WaveOut:                ${ENABLE_WAVEOUT}
1340     Enable GLib 2.0:               ${ENABLE_GLIB20}
1341     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1342     Enable GConf:                  ${ENABLE_GCONF}
1343     Enable Avahi:                  ${ENABLE_AVAHI}
1344     Enable Jack:                   ${ENABLE_JACK}
1345     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1346     Enable LIRC:                   ${ENABLE_LIRC}
1347     Enable D-Bus:                  ${ENABLE_DBUS}
1348       Enable HAL:                  ${ENABLE_HAL}
1349       Enable BlueZ:                ${ENABLE_BLUEZ}
1350     Enable udev:                   ${ENABLE_UDEV}
1351       Enable HAL->udev compat:     ${ENABLE_HAL_COMPAT}
1352     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1353     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1354     Enable IPv6:                   ${ENABLE_IPV6}
1355     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1356     Enable fftw:                   ${ENABLE_FFTW}
1357     Enable orc:                    ${ENABLE_ORC}
1358     Enable WebRTC echo canceller:  ${ENABLE_WEBRTC}
1359     Database
1360       tdb:                         ${ENABLE_TDB}
1361       gdbm:                        ${ENABLE_GDBM}
1362       simple database:             ${ENABLE_SIMPLEDB}
1364     System User:                   ${PA_SYSTEM_USER}
1365     System Group:                  ${PA_SYSTEM_GROUP}
1366     Access Group:                  ${PA_ACCESS_GROUP}
1367     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1368     Force preopen:                 ${FORCE_PREOPEN}
1369     Preopened modules:             ${PREOPEN_MODS}
1371     Legacy Runtime Dir Support:    ${ENABLE_LEGACY_RUNTIME_DIR}
1372     Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1375 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1376    echo "
1377 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1378 You do not have D-Bus support enabled. It is strongly recommended
1379 that you enable D-Bus support if your platform supports it.
1380 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1381 to the Device Reservation Protocol to speak to JACK, Bluetooth
1382 support and even a native control protocol for communicating and
1383 controling the PulseAudio daemon itself.
1384 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1388 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1389    echo "
1390 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1391 You do not have udev support enabled. It is strongly recommended
1392 that you enable udev support if your platform supports it as it is
1393 the primary method used to detect hardware audio devices (on Linux)
1394 and is thus a critical part of PulseAudio on that platform.
1395 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====