Fighting rewinds: Seek and write data in the same message
[profile/ivi/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, write to the Free Software Foundation,
21 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
22
23 AC_PREREQ(2.63)
24
25 AC_INIT([pulseaudio],[m4_esyscmd(./git-version-gen .tarball-version)],[mzchyfrnhqvb (at) 0pointer (dot) net])
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 tar-pax])
30
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`)
33
34 AC_SUBST(PA_MAJOR, pa_major)
35 AC_SUBST(PA_MINOR, pa_minor)
36 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
37 AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
38
39 AC_SUBST(PA_API_VERSION, 12)
40 AC_SUBST(PA_PROTOCOL_VERSION, 19)
41
42 # The stable ABI for client applications, for the version info x:y:z
43 # always will hold y=z
44 AC_SUBST(LIBPULSE_VERSION_INFO, [12:3:12])
45
46 # A simplified, synchronous, ABI-stable interface for client
47 # applications, for the version info x:y:z always will hold y=z
48 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])
49
50 # The ABI-stable network browsing interface for client applications,
51 # for the version info x:y:z always will hold y=z
52 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
53
54 # The ABI-stable GLib adapter for client applications, for the version
55 # info x:y:z always will hold y=z
56 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
57
58 AC_CANONICAL_HOST
59 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
60
61 AC_CHECK_PROG([STOW], [stow], [yes], [no])
62
63 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
64    AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
65    ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
66 ])
67
68 AM_SILENT_RULES([yes])
69
70 #### Checks for programs. ####
71
72 # mkdir -p
73
74 AC_PROG_MKDIR_P
75
76 # CC
77
78 AC_PROG_CC
79 AC_PROG_CC_C99
80 AM_PROG_CC_C_O
81 AC_PROG_GCC_TRADITIONAL
82 AC_USE_SYSTEM_EXTENSIONS
83
84 #### Platform hacks ####
85
86 case $host in
87    *-*-solaris* )
88       AC_DEFINE(_XOPEN_SOURCE,        600, Needed to get declarations for msg_control and msg_controllen on Solaris)
89       AC_DEFINE(__EXTENSIONS__,         1, Needed to get declarations for msg_control and msg_controllen on Solaris)
90       ;;
91    *-*-darwin* )
92       AC_DEFINE([_POSIX_C_SOURCE], [200112L], [Needed to get clock_gettime on Mac OS X])
93       AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
94       ;;
95 esac
96
97 # M4
98
99 AC_CHECK_PROGS([M4], gm4 m4, no)
100 if test "x$M4" = xno ; then
101    AC_MSG_ERROR([m4 missing])
102 fi
103
104 dnl Compiler flags
105 CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pipe -Wno-long-long -Winline -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=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option])
106
107 dnl Linker flags.
108 dnl Check whether the linker supports the -version-script option.
109
110 dnl This variable is used to make sure ${srcdir} is expanded and not
111 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
112 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
113
114 CC_CHECK_LDFLAGS([${tmp_ldflag}],
115     [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
116 AC_SUBST([VERSIONING_LDFLAGS])
117
118 dnl Use immediate (now) bindings; avoids the funky re-call in itself
119 dnl  the -z now syntax is lifted from Sun's linker and works with GNU's too
120 dnl  other linkes might be added later
121 CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"])
122 AC_SUBST([IMMEDIATE_LDFLAGS])
123
124 dnl On ELF systems we don't want the libraries to be unloaded since we
125 dnl don't clean them up properly, so we request the nodelete flag to be
126 dnl enabled.
127 dnl
128 dnl On other systems, we don't really know how to do that, but it's
129 dnl welcome if somebody can tell.
130 CC_CHECK_LDFLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS="-Wl,-z,nodelete"])
131 AC_SUBST([NODELETE_LDFLAGS])
132
133 dnl Check for the proper way to build libraries that have no undefined
134 dnl symbols; on some hosts this needs to be avoided but the macro
135 dnl takes care of it.
136 CC_NOUNDEFINED
137
138 dnl Check whether to build tests by default (as compile-test) or not
139 AC_ARG_ENABLE([default-build-tests],
140     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
141
142 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
143
144 # Native atomic operation support
145 AC_ARG_ENABLE([atomic-arm-linux-helpers],
146     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
147         [
148             case "${enableval}" in
149                 yes) atomic_arm_linux_helpers=yes ;;
150                 no) atomic_arm_linux_helpers=no ;;
151                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
152             esac
153         ],
154         [atomic_arm_linux_helpers=auto])
155
156 AC_ARG_ENABLE([atomic-arm-memory-barrier],
157     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
158         [
159             case "${enableval}" in
160                 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
161                 no) ;;
162                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
163             esac
164         ],)
165
166 AC_MSG_CHECKING([target operating system])
167 case $host in
168         *-*-linux*)
169             AC_MSG_RESULT([linux])
170             pulse_target_os=linux
171         ;;
172         *-*-darwin*)
173             AC_MSG_RESULT([darwin])
174             pulse_target_os=darwin
175         ;;
176         *)
177             AC_MSG_RESULT([unknown])
178             pulse_target_os=unknown
179         ;;
180 esac
181
182 # If everything else fails use libatomic_ops
183 need_libatomic_ops=yes
184
185 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
186   pulseaudio_cv_sync_bool_compare_and_swap,
187   [AC_LINK_IFELSE(
188      AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
189      [pulseaudio_cv_sync_bool_compare_and_swap=yes],
190      [pulseaudio_cv_sync_bool_compare_and_swap=no])
191   ])
192
193 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
194     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
195     need_libatomic_ops=no
196 else
197     # HW specific atomic ops stuff
198     AC_MSG_CHECKING([architecture for native atomic operations])
199     case $host in
200         arm*)
201             AC_MSG_RESULT([arm])
202             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
203             # The Linux kernel helper functions have been there since 2.6.16. However
204             # compile time checking for kernel version in cross compile environment
205             # (which is usually the case for arm cpu) is tricky (or impossible).
206             if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
207                 AC_MSG_RESULT([yes])
208                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
209                 need_libatomic_ops=no
210             else
211                AC_MSG_RESULT([no])
212                AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
213                  pulseaudio_cv_support_arm_atomic_ops,
214                  [AC_COMPILE_IFELSE(
215                     AC_LANG_PROGRAM([],
216                       [[volatile int a=0;
217                         int o=0, n=1, r;
218                         asm volatile ("ldrex    %0, [%1]\n"
219                                          "subs  %0, %0, %2\n"
220                                          "strexeq %0, %3, [%1]\n"
221                                          : "=&r" (r)
222                                          : "r" (&a), "Ir" (o), "r" (n)
223                                          : "cc");
224                         return (a==1 ? 0 : -1);
225                       ]]),
226                     [pulseaudio_cv_support_arm_atomic_ops=yes],
227                     [pulseaudio_cv_support_arm_atomic_ops=no])
228                  ])
229                AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
230                    AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
231                    need_libatomic_ops=no
232                  ])
233            fi
234         ;;
235         *-netbsdelf5*)
236             AC_MSG_RESULT([yes])
237             need_libatomic_ops=no
238         ;;
239         *-freebsd*)
240             AC_MSG_RESULT([yes])
241             need_libatomic_ops=no
242         ;;
243         *)
244             AC_MSG_RESULT([unknown])
245         ;;
246     esac
247 fi
248
249 # If we're on ARM, check for the ARMV6 instructions we need */
250 case $host in
251   arm*)
252     AC_CACHE_CHECK([support for required armv6 instructions],
253       pulseaudio_cv_support_armv6,
254       [AC_COMPILE_IFELSE(
255          AC_LANG_PROGRAM([],
256            [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
257              asm volatile ("ldr r0, %2 \n"
258                            "ldr r2, %3 \n"
259                            "ldr r3, %4 \n"
260                            "ssat r1, #8, r0 \n"
261                            "str r1, %0 \n"
262                            "pkhbt r1, r3, r2, LSL #8 \n"
263                            "str r1, %1 \n"
264                            : "=m" (a), "=m" (b)
265                            : "m" (a), "m" (b), "m" (c)
266                            : "r0", "r1", "r2", "r3", "cc");
267              return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
268            ]]),
269          [pulseaudio_cv_support_armv6=yes],
270          [pulseaudio_cv_support_armv6=no])
271       ])
272     AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
273         AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
274       ])
275   ;;
276   *)
277   ;;
278 esac
279
280 CC_CHECK_TLS
281
282 AC_CACHE_CHECK([whether $CC knows _Bool],
283   pulseaudio_cv__Bool,
284   [AC_COMPILE_IFELSE(
285      AC_LANG_PROGRAM([], [[_Bool b;]]),
286      [pulseaudio_cv__Bool=yes],
287      [pulseaudio_cv__Bool=no])
288   ])
289
290 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
291     AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
292   ])
293
294 #### libtool stuff ####
295 LT_PREREQ(2.2)
296 LT_INIT([dlopen win32-dll disable-static])
297
298 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
299 dnl exactly which version of libltdl is present in the system, so we
300 dnl just assume that it's a working version as long as we have the
301 dnl library and the header files.
302 dnl
303 dnl As an extra safety device, check for lt_dladvise_init() which is
304 dnl only implemented in libtool 2.x, and refine as we go if we have
305 dnl refined requirements.
306 dnl
307 dnl Check the header files first since the system may have a
308 dnl libltdl.so for runtime, but no headers, and we want to bail out as
309 dnl soon as possible.
310 dnl
311 dnl We don't need any special variable for this though, since the user
312 dnl can give the proper place to find libltdl through the standard
313 dnl variables like LDFLAGS and CPPFLAGS.
314
315 AC_CHECK_HEADER([ltdl.h],
316     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
317     [LIBLTDL=])
318
319 AS_IF([test "x$LIBLTDL" = "x"],
320     [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
321 AC_SUBST([LIBLTDL])
322
323 #### Determine build environment ####
324
325 os_is_win32=0
326 os_is_darwin=0
327
328 case "$host_os" in
329         mingw*)
330         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
331         os_is_win32=1
332                 ;;
333         darwin*)
334         AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
335         os_is_darwin=1
336                 ;;
337         esac
338
339 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
340 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
341
342 ###################################
343 #   Basic environment checks      #
344 ###################################
345
346 #### Checks for header files. ####
347
348 # ISO
349 AC_HEADER_STDC
350
351 # POSIX
352 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
353     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
354     sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
355     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
356 AC_CHECK_HEADERS([netinet/ip.h], [], [],
357                  [#include <sys/types.h>
358                   #if HAVE_NETINET_IN_H
359                   # include <netinet/in.h>
360                   #endif
361                   #if HAVE_NETINET_IN_SYSTM_H
362                   # include <netinet/in_systm.h>
363                   #endif
364                  ])
365 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
366 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
367
368 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
369 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
370
371 # Linux
372 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
373
374 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
375
376 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
377
378 # Solaris
379 AC_CHECK_HEADERS_ONCE([sys/filio.h])
380
381 # Windows
382 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
383
384 # NetBSD
385 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
386
387 # Other
388 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
389 AC_CHECK_HEADERS_ONCE([byteswap.h])
390 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
391 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
392 AC_CHECK_HEADERS_ONCE([execinfo.h])
393
394 #### Typdefs, structures, etc. ####
395
396 AC_C_CONST
397 AC_C_BIGENDIAN
398 AC_TYPE_PID_T
399 AC_TYPE_SIZE_T
400 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
401     [Define ssize_t if it is not done by the standard libs.])])
402 AC_TYPE_OFF_T
403
404 AC_TYPE_UID_T
405 AC_CHECK_DECLS(environ)
406
407 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
408 HAVE_SIGXCPU=1
409 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
410 ], [HAVE_SIGXCPU=0])
411 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
412
413 # Solaris lacks this
414 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
415     [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
416         [AC_DEFINE([INADDR_NONE],  [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
417
418 #### POSIX threads ####
419
420 ACX_PTHREAD
421
422 #### Check for libs ####
423
424 # ISO
425 AC_SEARCH_LIBS([pow], [m])
426
427 # POSIX
428 AC_SEARCH_LIBS([sched_setscheduler], [rt])
429 AC_SEARCH_LIBS([dlopen], [dl])
430 AC_SEARCH_LIBS([shm_open], [rt])
431 AC_SEARCH_LIBS([inet_ntop], [nsl])
432 AC_SEARCH_LIBS([timer_create], [rt])
433 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
434
435 # BSD
436 AC_SEARCH_LIBS([connect], [socket])
437 AC_SEARCH_LIBS([backtrace], [execinfo])
438
439 # Non-standard
440
441 # This magic is needed so we do not needlessly add static libs to the win32
442 # build, disabling its ability to make dlls.
443 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
444
445 # Darwin/OS X
446 if test "x$os_is_darwin" = "x1" ; then
447     AC_MSG_CHECKING([looking for Apple CoreService Framework])
448     # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
449     AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
450     [LIBS="$LIBS -framework CoreServices"],
451     [AC_MSG_ERROR([CoreServices.h header file not found]) ])
452
453     AC_MSG_RESULT([ok])
454     AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
455     HAVE_BONJOUR=1
456 fi
457
458 AC_SUBST(HAVE_BONJOUR)
459 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
460
461 #### Check for functions ####
462
463 # ISO
464 AC_CHECK_FUNCS_ONCE([lrintf strtof])
465
466 # POSIX
467 AC_FUNC_FORK
468 AC_FUNC_GETGROUPS
469 AC_FUNC_SELECT_ARGTYPES
470 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
471     getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
472     pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
473     sigaction sleep sysconf pthread_setaffinity_np])
474 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
475
476 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
477
478 # X/OPEN
479 AC_CHECK_FUNCS_ONCE([readlink])
480
481 # SUSv2
482 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
483
484 # SUSv3
485 AC_CHECK_FUNCS_ONCE([strerror_r])
486
487 # BSD
488 AC_CHECK_FUNCS_ONCE([lstat])
489
490 # Non-standard
491
492 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
493
494 AC_FUNC_ALLOCA
495
496 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
497   pulseaudio_cv_PTHREAD_PRIO_INHERIT,
498   [save_CC=$CC; CC=$PTHREAD_CC
499    save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
500    save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
501    AC_LINK_IFELSE(
502      AC_LANG_PROGRAM(
503        [[
504          #include <pthread.h>
505        ]],
506        [[int i = PTHREAD_PRIO_INHERIT;]]),
507      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
508      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
509    CC=$save_CC
510    CFLAGS=$save_CFLAGS
511    LIBS=$save_LIBS
512   ])
513
514 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
515     AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
516   ])
517
518 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
519
520 #### Large File-Support (LFS) ####
521
522 AC_SYS_LARGEFILE
523
524 # Check for open64 to know if the current system does have open64() and similar functions
525 AC_CHECK_FUNCS_ONCE([open64])
526
527 #### [lib]iconv ####
528
529 AM_ICONV
530
531 IT_PROG_INTLTOOL([0.35.0])
532 GETTEXT_PACKAGE=pulseaudio
533 AC_SUBST([GETTEXT_PACKAGE])
534 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
535 AM_GLIB_GNU_GETTEXT
536
537 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
538 AC_SUBST(pulselocaledir)
539
540 ###################################
541 #      External libraries         #
542 ###################################
543
544 #### pkg-config ####
545
546 PKG_PROG_PKG_CONFIG
547
548 #### X11 (optional) ####
549
550 AC_ARG_ENABLE([x11],
551     AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
552         [
553             case "${enableval}" in
554                 yes) x11=yes ;;
555                 no) x11=no ;;
556                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
557             esac
558         ],
559         [x11=auto])
560
561 if test "x${x11}" != xno ; then
562     PKG_CHECK_MODULES(X11, [ x11-xcb ice sm xtst xcb-atom ],
563         HAVE_X11=1,
564         [
565             HAVE_X11=0
566             if test "x$x11" = xyes ; then
567                 AC_MSG_ERROR([*** X11 not found])
568             fi
569         ])
570 else
571     HAVE_X11=0
572 fi
573
574 if test "x${HAVE_X11}" = x1 ; then
575    AC_DEFINE([HAVE_X11], 1, [Have X11?])
576 fi
577
578 AC_SUBST(X11_CFLAGS)
579 AC_SUBST(X11_LIBS)
580 AC_SUBST(HAVE_X11)
581 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
582
583 #### Capabilities (optional) ####
584
585 CAP_LIBS=''
586
587 AC_ARG_WITH(
588         [caps],
589         AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
590
591 if test "x${with_caps}" != "xno"; then
592     AC_SEARCH_LIBS([cap_init], [cap], [], [
593                     if test "x${with_caps}" = "xyes" ; then
594                         AC_MSG_ERROR([*** POSIX caps libraries not found])
595                     fi])
596     AC_CHECK_HEADERS([sys/capability.h], [], [
597                     if test "x${with_caps}" = "xyes" ; then
598                         AC_MSG_ERROR([*** POSIX caps headers not found])
599                     fi])
600 fi
601
602 #### Valgrind (optional) ####
603
604 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
605
606 #### Sound file ####
607
608 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
609 AC_SUBST(LIBSNDFILE_CFLAGS)
610 AC_SUBST(LIBSNDFILE_LIBS)
611
612 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
613 AC_SUBST(LIBSPEEX_CFLAGS)
614 AC_SUBST(LIBSPEEX_LIBS)
615
616 #### atomic-ops ###
617
618 AC_MSG_CHECKING([whether we need libatomic_ops])
619 if test "x$need_libatomic_ops" = "xyes"; then
620    AC_MSG_RESULT([yes])
621    AC_CHECK_HEADERS([atomic_ops.h], [], [
622    AC_MSG_ERROR([*** libatomic-ops headers not found])
623    ])
624
625    # Win32 does not need the lib and breaks horribly if we try to include it
626    if test "x$os_is_win32" != "x1" ; then
627        LIBS="$LIBS -latomic_ops"
628    fi
629 else
630    AC_MSG_RESULT([no])
631 fi
632
633 #### Libsamplerate support (optional) ####
634
635 AC_ARG_ENABLE([samplerate],
636     AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
637         [
638             case "${enableval}" in
639                 yes) samplerate=yes ;;
640                 no) samplerate=no ;;
641                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
642             esac
643         ],
644         [samplerate=auto])
645
646 if test "x${samplerate}" != xno ; then
647     PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
648         HAVE_LIBSAMPLERATE=1,
649         [
650             HAVE_LIBSAMPLERATE=0
651             if test "x$samplerate" = xyes ; then
652                 AC_MSG_ERROR([*** Libsamplerate not found])
653             fi
654         ])
655 else
656     HAVE_LIBSAMPLERATE=0
657 fi
658
659 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
660    AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
661 fi
662
663 AC_SUBST(LIBSAMPLERATE_CFLAGS)
664 AC_SUBST(LIBSAMPLERATE_LIBS)
665 AC_SUBST(HAVE_LIBSAMPLERATE)
666 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
667
668 #### Database support ####
669
670 HAVE_TDB=0
671 HAVE_GDBM=0
672 HAVE_SIMPLEDB=0
673
674 AC_ARG_WITH(
675         [database],
676         AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
677
678 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
679     PKG_CHECK_MODULES(TDB, [ tdb ],
680         [
681             HAVE_TDB=1
682             with_database=tdb
683         ], [
684             if test "x${with_database}" = "xtdb" ; then
685                 AC_MSG_ERROR([*** tdb not found])
686             fi
687         ])
688 fi
689
690 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
691    have_gdbm=yes
692
693    AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
694    AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
695
696    if test "x${have_gdbm}" = "xyes" ; then
697        HAVE_GDBM=1
698        GDBM_CFLAGS=
699        GDBM_LIBS=-lgdbm
700        with_database=gdbm
701    elif test "x${with_database}" = "xgdbm"; then
702        AC_MSG_ERROR([*** gdbm not found])
703    fi
704 fi
705
706 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xsimple" ; then
707     HAVE_SIMPLEDB=1
708     with_database=simple
709 fi
710
711 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1 -a "x${HAVE_SIMPLEDB}" != x1; then
712    AC_MSG_ERROR([*** missing database backend])
713 fi
714
715 if test "x${HAVE_TDB}" = x1 ; then
716    AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
717 fi
718
719 if test "x${HAVE_GDBM}" = x1 ; then
720    AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
721 fi
722
723 if test "x${HAVE_SIMPLEDB}" = x1 ; then
724     AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?])
725 fi
726
727 AC_SUBST(TDB_CFLAGS)
728 AC_SUBST(TDB_LIBS)
729 AC_SUBST(HAVE_TDB)
730 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
731
732 AC_SUBST(GDBM_CFLAGS)
733 AC_SUBST(GDBM_LIBS)
734 AC_SUBST(HAVE_GDBM)
735 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
736
737 AC_SUBST(HAVE_SIMPLEDB)
738 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
739
740 #### OSS support (optional) ####
741
742 AC_ARG_ENABLE([oss-output],
743     AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]),
744         [
745             case "${enableval}" in
746                 yes) oss_output=yes ;;
747                 no) oss_output=no ;;
748                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-output) ;;
749             esac
750         ],
751         [oss_output=auto])
752
753 AC_ARG_ENABLE([oss-wrapper],
754     AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]),
755         [
756             case "${enableval}" in
757                 yes) oss_wrapper=yes ;;
758                 no) oss_wrapper=no ;;
759                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-wrapper) ;;
760             esac
761         ],
762         [oss_wrapper=auto])
763
764 if test "x${oss_output}" != xno || test "x${oss_wrapper}" != "xno"; then
765     AC_CHECK_HEADERS([sys/soundcard.h],
766         [
767             if test "x${oss_output}" != "xno"; then
768                 AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])
769             fi
770             if test "x${oss_wrapper}" != "xno"; then
771                 AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?])
772             fi
773             HAVE_OSS=1
774         ],
775         [
776             HAVE_OSS=0
777             if test "x$oss_output" = xyes || test "x$oss_wrapper" = "xyes"; then
778                 AC_MSG_ERROR([*** OSS support not found])
779             fi
780         ])
781 else
782     HAVE_OSS=0
783 fi
784
785 AC_SUBST(HAVE_OSS)
786 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"])
787 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])
788
789 #### CoreAudio support (optional) ####
790
791 AC_ARG_ENABLE([coreaudio-output],
792     AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]),
793         [
794             case "${enableval}" in
795                 yes) coreaudio_enabled=yes ;;
796                 no) coreaudio_enabled=no ;;
797                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-coreaudio-output) ;;
798             esac
799         ],
800         [coreaudio_enabled=auto])
801
802 if test "x${coreaudio_enabled}" != xno ; then
803     AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1)
804 else
805     HAVE_COREAUDIO=0
806 fi
807
808 AC_SUBST(HAVE_COREAUDIO)
809 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = x1 && test "x${coreaudio_enabled}" != "xno"])
810
811 #### ALSA support (optional) ####
812
813 AC_ARG_ENABLE([alsa],
814     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
815         [
816             case "${enableval}" in
817                 yes) alsa=yes ;;
818                 no) alsa=no ;;
819                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
820             esac
821         ],
822         [alsa=auto])
823
824 if test "x${alsa}" != xno ; then
825     PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
826         [
827             HAVE_ALSA=1
828             AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
829         ],
830         [
831             HAVE_ALSA=0
832             if test "x$alsa" = xyes ; then
833                 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
834             fi
835         ])
836 else
837     HAVE_ALSA=0
838 fi
839
840 AC_SUBST(ASOUNDLIB_CFLAGS)
841 AC_SUBST(ASOUNDLIB_LIBS)
842 AC_SUBST(HAVE_ALSA)
843 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
844
845 #### Solaris audio support (optional) ####
846
847 AC_ARG_ENABLE([solaris],
848     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
849         [
850             case "${enableval}" in
851                 yes) solaris=yes ;;
852                 no) solaris=no ;;
853                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
854             esac
855         ],
856         [solaris=auto])
857
858 if test "x${solaris}" != xno ; then
859     AC_CHECK_HEADERS([sys/audio.h],
860         [
861             HAVE_SOLARIS=1
862             AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
863         ],
864         [
865             HAVE_SOLARIS=0
866             if test "x$solaris" = xyes ; then
867                 AC_MSG_ERROR([*** Solaris audio support not found])
868             fi
869         ])
870 else
871     HAVE_SOLARIS=0
872 fi
873
874 AC_SUBST(HAVE_SOLARIS)
875 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
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             case "${enableval}" in
883                 yes) glib2=yes ;;
884                 no) glib2=no ;;
885                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
886             esac
887         ],
888         [glib2=auto])
889
890 if test "x${glib2}" != xno ; then
891     PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
892         HAVE_GLIB20=1,
893         [
894             HAVE_GLIB20=0
895             if test "x$glib2" = xyes ; then
896                 AC_MSG_ERROR([*** GLib 2 support not found])
897             fi
898         ])
899 else
900     HAVE_GLIB20=0
901 fi
902
903 AC_SUBST(GLIB20_CFLAGS)
904 AC_SUBST(GLIB20_LIBS)
905 AC_SUBST(HAVE_GLIB20)
906 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
907
908 if test "x$HAVE_GLIB20" = x1 ; then
909    AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
910 fi
911
912 #### GTK2 support (optional) ####
913
914 AC_ARG_ENABLE([gtk2],
915     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
916         [
917             case "${enableval}" in
918                 yes) gtk2=yes ;;
919                 no) gtk2=no ;;
920                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
921             esac
922         ],
923         [gtk2=auto])
924
925 if test "x${gtk2}" != xno ; then
926     PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
927         HAVE_GTK20=1,
928         [
929             HAVE_GTK20=0
930             if test "x$gtk2" = xyes ; then
931                 AC_MSG_ERROR([*** Gtk+ 2 support not found])
932             fi
933         ])
934 else
935     HAVE_GTK20=0
936 fi
937
938 AC_SUBST(GTK20_CFLAGS)
939 AC_SUBST(GTK20_LIBS)
940 AC_SUBST(HAVE_GTK20)
941 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
942
943 if test "x$HAVE_GTK20" = x1 ; then
944    AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
945 fi
946
947 #### GConf support (optional) ####
948
949 AC_ARG_ENABLE([gconf],
950     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
951         [
952             case "${enableval}" in
953                 yes) gconf=yes ;;
954                 no) gconf=no ;;
955                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
956             esac
957         ],
958         [gconf=auto])
959
960 if test "x${gconf}" != xno ; then
961     PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ],
962         HAVE_GCONF=1,
963         [
964             HAVE_GCONF=0
965             if test "x$gconf" = xyes ; then
966                 AC_MSG_ERROR([*** GConf support not found])
967             fi
968         ])
969 else
970     HAVE_GCONF=0
971 fi
972
973 AC_SUBST(GCONF_CFLAGS)
974 AC_SUBST(GCONF_LIBS)
975 AC_SUBST(HAVE_GCONF)
976 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
977
978 #### Avahi support (optional) ####
979
980 AC_ARG_ENABLE([avahi],
981     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
982         [
983             case "${enableval}" in
984                 yes) avahi=yes ;;
985                 no) avahi=no ;;
986                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
987             esac
988         ],
989         [avahi=auto])
990
991 if test "x${avahi}" != xno ; then
992     PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
993         HAVE_AVAHI=1,
994         [
995                 HAVE_AVAHI=0
996                 if test "x$avahi" = xyes ; then
997                         AC_MSG_ERROR([*** Avahi support not found])
998                 fi
999         ])
1000 else
1001     HAVE_AVAHI=0
1002 fi
1003
1004 AC_SUBST(AVAHI_CFLAGS)
1005 AC_SUBST(AVAHI_LIBS)
1006 AC_SUBST(HAVE_AVAHI)
1007 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
1008
1009 ### JACK (optional) ####
1010
1011 AC_ARG_ENABLE([jack],
1012     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
1013         [
1014             case "${enableval}" in
1015                 yes) jack=yes ;;
1016                 no) jack=no ;;
1017                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
1018             esac
1019         ],
1020         [jack=auto])
1021
1022 if test "x${jack}" != xno ; then
1023     PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
1024         HAVE_JACK=1,
1025         [
1026             HAVE_JACK=0
1027             if test "x$jack" = xyes ; then
1028                 AC_MSG_ERROR([*** JACK support not found])
1029             fi
1030         ])
1031 else
1032     HAVE_JACK=0
1033 fi
1034
1035 AC_SUBST(JACK_CFLAGS)
1036 AC_SUBST(JACK_LIBS)
1037 AC_SUBST(HAVE_JACK)
1038 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
1039
1040 #### Async DNS support (optional) ####
1041
1042 AC_ARG_ENABLE([asyncns],
1043     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
1044         [
1045             case "${enableval}" in
1046                 yes) asyncns=yes ;;
1047                 no) asyncns=no ;;
1048                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
1049             esac
1050         ],
1051         [asyncns=auto])
1052
1053 if test "x${asyncns}" != xno ; then
1054     PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
1055         HAVE_LIBASYNCNS=1,
1056         [
1057             HAVE_LIBASYNCNS=0
1058             if test "x$asyncns" = xyes ; then
1059                 AC_MSG_ERROR([*** Async DNS support not found])
1060             fi
1061         ])
1062 else
1063     HAVE_LIBASYNCNS=0
1064 fi
1065
1066 AC_SUBST(LIBASYNCNS_CFLAGS)
1067 AC_SUBST(LIBASYNCNS_LIBS)
1068 AC_SUBST(HAVE_LIBASYNCNS)
1069 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
1070
1071 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
1072    AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
1073 fi
1074
1075 #### TCP wrappers (optional) ####
1076
1077 AC_ARG_ENABLE([tcpwrap],
1078     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
1079         [
1080             case "${enableval}" in
1081                 yes) tcpwrap=yes ;;
1082                 no) tcpwrap=no ;;
1083                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
1084             esac
1085         ],
1086         [tcpwrap=auto])
1087
1088 if test "x${tcpwrap}" != xno ; then
1089     ACX_LIBWRAP
1090     if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
1091         AC_MSG_ERROR([*** TCP wrappers support not found])
1092     fi
1093 else
1094     LIBWRAP_LIBS=
1095 fi
1096
1097 AC_SUBST(LIBWRAP_LIBS)
1098
1099 #### LIRC support (optional) ####
1100
1101 AC_ARG_ENABLE([lirc],
1102     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1103         [
1104             case "${enableval}" in
1105                 yes) lirc=yes ;;
1106                 no) lirc=no ;;
1107                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1108             esac
1109         ],
1110         [lirc=auto])
1111
1112 if test "x${lirc}" != xno ; then
1113     ACX_LIRC
1114     if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1115         AC_MSG_ERROR([*** LIRC support not found])
1116     fi
1117 else
1118     HAVE_LIRC=0
1119 fi
1120
1121 AC_SUBST(LIRC_CFLAGS)
1122 AC_SUBST(LIRC_LIBS)
1123 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1124
1125 #### HAL support (optional) ####
1126
1127 AC_ARG_ENABLE([hal],
1128     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1129         [
1130             case "${enableval}" in
1131                 yes) hal=yes ;;
1132                 no) hal=no ;;
1133                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1134             esac
1135         ],
1136         [hal=auto])
1137 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1138     PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1139         [
1140             HAVE_HAL=1
1141             AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1142         ],
1143         [
1144             HAVE_HAL=0
1145             if test "x$hal" = xyes ; then
1146                 AC_MSG_ERROR([*** HAL support not found])
1147             fi
1148         ])
1149 else
1150     HAVE_HAL=0
1151 fi
1152
1153 AC_SUBST(HAL_CFLAGS)
1154 AC_SUBST(HAL_LIBS)
1155 AC_SUBST(HAVE_HAL)
1156 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1157
1158 #### UDEV support (optional) ####
1159
1160 AC_ARG_ENABLE([udev],
1161     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1162         [
1163             case "${enableval}" in
1164                 yes) udev=yes ;;
1165                 no) udev=no ;;
1166                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1167             esac
1168         ],
1169         [udev=auto])
1170 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1171     PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1172         [
1173             HAVE_UDEV=1
1174             AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1175         ],
1176         [
1177             HAVE_UDEV=0
1178             if test "x$udev" = xyes ; then
1179                 AC_MSG_ERROR([*** UDEV support not found])
1180             fi
1181         ])
1182 else
1183     HAVE_UDEV=0
1184 fi
1185
1186 AC_SUBST(UDEV_CFLAGS)
1187 AC_SUBST(UDEV_LIBS)
1188 AC_SUBST(HAVE_UDEV)
1189 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1190
1191 #### BlueZ support (optional) ####
1192
1193 AC_ARG_ENABLE([bluez],
1194     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1195         [
1196             case "${enableval}" in
1197                 yes) bluez=yes ;;
1198                 no) bluez=no ;;
1199                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1200             esac
1201         ],
1202         [bluez=auto])
1203 if test "x${bluez}" != xno ; then
1204     PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1205         HAVE_BLUEZ=1,
1206         [
1207             HAVE_BLUEZ=0
1208             if test "x$bluez" = xyes ; then
1209                 AC_MSG_ERROR([*** BLUEZ support not found])
1210             fi
1211         ])
1212 else
1213     HAVE_BLUEZ=0
1214 fi
1215
1216 AC_SUBST(BLUEZ_CFLAGS)
1217 AC_SUBST(BLUEZ_LIBS)
1218 AC_SUBST(HAVE_BLUEZ)
1219 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1220
1221 #### D-Bus support (optional) ####
1222
1223 AC_ARG_ENABLE([dbus],
1224     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1225         [
1226             case "${enableval}" in
1227                 yes) dbus=yes ;;
1228                 no) dbus=no ;;
1229                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1230             esac
1231         ],
1232         [dbus=auto])
1233
1234 if test "x${dbus}" != xno ; then
1235
1236     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1237         [
1238             HAVE_DBUS=1
1239             saved_LIBS="$LIBS"
1240             LIBS="$LIBS $DBUS_LIBS"
1241             CFLAGS="$CFLAGS $DBUS_CFLAGS"
1242             AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1243             LIBS="$saved_LIBS"
1244             AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1245         ],
1246         [
1247             HAVE_DBUS=0
1248             if test "x$dbus" = xyes ; then
1249                 AC_MSG_ERROR([*** D-Bus support not found])
1250             fi
1251         ])
1252 else
1253     HAVE_DBUS=0
1254 fi
1255
1256 AC_SUBST(DBUS_CFLAGS)
1257 AC_SUBST(DBUS_LIBS)
1258 AC_SUBST(HAVE_DBUS)
1259 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1260
1261
1262 # udev and HAL depend on DBUS: So double check if they were explicitly enabled.
1263 if test "x$HAVE_DBUS" != "x1" ; then
1264     HAVE_HAL=0
1265     if test "x${hal}" = xyes ; then
1266         AC_MSG_ERROR([*** D-Bus support is required by HAL])
1267     fi
1268
1269     HAVE_BLUEZ=0
1270     if test "x${bluez}" = xyes ; then
1271         AC_MSG_ERROR([*** D-Bus support is required by BLUEZ])
1272     fi
1273 fi
1274
1275
1276 #### HAL compat support (optional) ####
1277
1278 AC_ARG_ENABLE([hal-compat],
1279     AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]),
1280         [
1281             case "${enableval}" in
1282                 yes) halcompat=yes ;;
1283                 no) halcompat=no ;;
1284                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal-compat) ;;
1285             esac
1286         ],
1287         [halcompat=auto])
1288 if test "x${halcompat}" != xno -a "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1" ; then
1289     HAVE_HAL_COMPAT=1
1290     AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.])
1291 else
1292     HAVE_HAL_COMPAT=0
1293 fi
1294
1295 AC_SUBST(HAVE_HAL_COMPAT)
1296 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1297
1298 ### IPv6 connection support (optional) ###
1299
1300 AC_ARG_ENABLE([ipv6],
1301     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1302         [
1303             case "${enableval}" in
1304                 yes) ipv6=yes ;;
1305                 no) ipv6=no ;;
1306                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1307             esac
1308         ],
1309         [ipv6=auto])
1310
1311 if test "x${ipv6}" != xno ; then
1312     AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1313     HAVE_IPV6=1
1314 else
1315     HAVE_IPV6=0
1316 fi
1317
1318 #### OpenSSL support (optional) ####
1319
1320 AC_ARG_ENABLE([openssl],
1321     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1322         [
1323             case "${enableval}" in
1324                 yes) openssl=yes ;;
1325                 no) openssl=no ;;
1326                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1327             esac
1328         ],
1329         [openssl=auto])
1330
1331 if test "x${openssl}" != xno ; then
1332
1333     PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1334         [
1335             HAVE_OPENSSL=1
1336             AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1337         ],
1338         [
1339             HAVE_OPENSSL=0
1340             if test "x$openssl" = xyes ; then
1341                 AC_MSG_ERROR([*** OpenSSL support not found])
1342             fi
1343         ])
1344 else
1345     HAVE_OPENSSL=0
1346 fi
1347
1348 AC_SUBST(OPENSSL_CFLAGS)
1349 AC_SUBST(OPENSSL_LIBS)
1350 AC_SUBST(HAVE_OPENSSL)
1351 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1352
1353 #### FFTW (optional) ####
1354 AC_ARG_WITH(
1355         [fftw],
1356         AS_HELP_STRING([--without-fftw], [Omit FFTW-using modules (equalizer)]))
1357
1358 if test "x${with_fftw}" != "xno"; then
1359     PKG_CHECK_MODULES([FFTW], [fftw3f], [HAVE_FFTW=1], [HAVE_FFTW=0])
1360 fi
1361 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1362
1363 ### ORC (optional) ###
1364 ORC_CHECK([0.4.9])
1365
1366 ### Build and Install man pages ###
1367 AC_ARG_ENABLE(manpages,
1368         AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1369 [case "${enableval}" in
1370   yes) manpages=yes ;;
1371   no)  manpages=no ;;
1372   *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1373 esac],[manpages=yes])
1374
1375 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1376
1377 #### PulseAudio system group & user  #####
1378
1379 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1380 if test -z "$with_system_user" ; then
1381     PA_SYSTEM_USER=pulse
1382 else
1383     PA_SYSTEM_USER=$with_system_user
1384 fi
1385 AC_SUBST(PA_SYSTEM_USER)
1386 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1387
1388 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1389 if test -z "$with_system_group" ; then
1390     PA_SYSTEM_GROUP=pulse
1391 else
1392     PA_SYSTEM_GROUP=$with_system_group
1393 fi
1394 AC_SUBST(PA_SYSTEM_GROUP)
1395 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1396
1397 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)]))
1398 if test -z "$with_access_group" ; then
1399     PA_ACCESS_GROUP=pulse-access
1400 else
1401     PA_ACCESS_GROUP=$with_access_group
1402 fi
1403 AC_SUBST(PA_ACCESS_GROUP)
1404 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1405
1406 AC_ARG_ENABLE(
1407         per_user_esound_socket,
1408         AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1409         [
1410             case "${enableval}" in
1411                 yes) per_user_esound_socket=1 ;;
1412                 no) per_user_esound_socket=0 ;;
1413                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1414             esac
1415         ],
1416         [per_user_esound_socket=1])
1417
1418 if test "x$per_user_esound_socket" = "x1"; then
1419    AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1420 fi
1421
1422 #### PulseAudio system runtime dir ####
1423 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1424 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1425 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1426 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1427 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1428 AC_SUBST(PA_SYSTEM_STATE_PATH)
1429
1430 ###################################
1431 #            Output               #
1432 ###################################
1433
1434 AC_ARG_ENABLE([legacy-runtime-dir],
1435         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1436 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1437         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1438 fi
1439
1440 AC_ARG_ENABLE(
1441         [static-bins],
1442         AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1443         [STATIC_BINS=1], [STATIC_BINS=0])
1444 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1445
1446 AC_ARG_WITH(
1447         [preopen-mods],
1448         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1449         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1450 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1451 if test "x$PREOPEN_MODS" != "xall" ; then
1452     tmpLIBS=""
1453     for mod in $PREOPEN_MODS; do
1454         tmpLIBS="$tmpLIBS module-$mod.la"
1455     done
1456     PREOPEN_MODS="$tmpLIBS"
1457     AC_SUBST(PREOPEN_MODS)
1458 fi
1459
1460 AC_ARG_WITH(
1461         [module-dir],
1462         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1463         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1464
1465 AC_SUBST(modlibexecdir)
1466
1467 AC_ARG_WITH(
1468         [udev-rules-dir],
1469         AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1470         [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1471
1472 AC_SUBST(udevrulesdir)
1473
1474 AC_ARG_ENABLE(
1475         [force-preopen],
1476         AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1477         [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1478 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1479
1480 AC_CONFIG_FILES([
1481 Makefile
1482 src/Makefile
1483 man/Makefile
1484 libpulse.pc
1485 libpulse-simple.pc
1486 libpulse-browse.pc
1487 libpulse-mainloop-glib.pc
1488 doxygen/Makefile
1489 doxygen/doxygen.conf
1490 src/pulse/version.h
1491 po/Makefile.in
1492 src/daemon/Makefile
1493 src/modules/Makefile
1494 src/modules/alsa/Makefile
1495 src/modules/alsa/mixer/Makefile
1496 src/modules/alsa/mixer/paths/Makefile
1497 src/modules/alsa/mixer/profile-sets/Makefile
1498 src/modules/bluetooth/Makefile
1499 src/modules/dbus/Makefile
1500 src/modules/gconf/Makefile
1501 src/modules/jack/Makefile
1502 src/modules/oss/Makefile
1503 src/modules/raop/Makefile
1504 src/modules/rtp/Makefile
1505 src/modules/x11/Makefile
1506 src/pulse/Makefile
1507 src/pulsecore/Makefile
1508 src/pulsecore/ffmpeg/Makefile
1509 src/tests/Makefile
1510 src/utils/Makefile
1511 ])
1512
1513 AC_OUTPUT
1514
1515 # ==========================================================================
1516 ENABLE_X11=no
1517 if test "x$HAVE_X11" = "x1" ; then
1518    ENABLE_X11=yes
1519 fi
1520
1521 ENABLE_OSS_OUTPUT=no
1522 ENABLE_OSS_WRAPPER=no
1523 if test "x$HAVE_OSS" = "x1" ; then
1524    if test "x$enable_oss_output" != "xno"; then
1525       ENABLE_OSS_OUTPUT=yes
1526    fi
1527    if test "x$enable_oss_wrapper" != "xno"; then
1528       ENABLE_OSS_WRAPPER=yes
1529    fi
1530 fi
1531
1532 ENABLE_COREAUDIO=no
1533 if test "x$HAVE_COREAUDIO" = "x1" ; then
1534    ENABLE_COREAUDIO=yes
1535 fi
1536
1537 ENABLE_ALSA=no
1538 if test "x$HAVE_ALSA" = "x1" ; then
1539    ENABLE_ALSA=yes
1540 fi
1541
1542 ENABLE_SOLARIS=no
1543 if test "x$HAVE_SOLARIS" = "x1" ; then
1544    ENABLE_SOLARIS=yes
1545 fi
1546
1547 ENABLE_GTK20=no
1548 if test "x$HAVE_GTK20" = "x1" ; then
1549    ENABLE_GTK20=yes
1550 fi
1551
1552 ENABLE_GLIB20=no
1553 if test "x$HAVE_GLIB20" = "x1" ; then
1554    ENABLE_GLIB20=yes
1555 fi
1556
1557 ENABLE_GCONF=no
1558 if test "x$HAVE_GCONF" = "x1" ; then
1559    ENABLE_GCONF=yes
1560 fi
1561
1562 ENABLE_AVAHI=no
1563 if test "x$HAVE_AVAHI" = "x1" ; then
1564    ENABLE_AVAHI=yes
1565 fi
1566
1567 ENABLE_JACK=no
1568 if test "x$HAVE_JACK" = "x1" ; then
1569    ENABLE_JACK=yes
1570 fi
1571
1572 ENABLE_LIBASYNCNS=no
1573 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1574    ENABLE_LIBASYNCNS=yes
1575 fi
1576
1577 ENABLE_LIRC=no
1578 if test "x$HAVE_LIRC" = "x1" ; then
1579    ENABLE_LIRC=yes
1580 fi
1581
1582 ENABLE_DBUS=no
1583 if test "x$HAVE_DBUS" = "x1" ; then
1584    ENABLE_DBUS=yes
1585 fi
1586
1587 ENABLE_HAL=no
1588 if test "x$HAVE_HAL" = "x1" ; then
1589    ENABLE_HAL=yes
1590 fi
1591
1592 ENABLE_UDEV=no
1593 if test "x$HAVE_UDEV" = "x1" ; then
1594    ENABLE_UDEV=yes
1595 fi
1596
1597 ENABLE_HAL_COMPAT=no
1598 if test "x$HAVE_HAL_COMPAT" = "x1" ; then
1599    ENABLE_HAL_COMPAT=yes
1600 fi
1601
1602 ENABLE_TCPWRAP=no
1603 if test "x${LIBWRAP_LIBS}" != x ; then
1604    ENABLE_TCPWRAP=yes
1605 fi
1606
1607 ENABLE_LIBSAMPLERATE=no
1608 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1609    ENABLE_LIBSAMPLERATE=yes
1610 fi
1611
1612 ENABLE_BLUEZ=no
1613 if test "x${HAVE_BLUEZ}" = "x1" ; then
1614    ENABLE_BLUEZ=yes
1615 fi
1616
1617 ENABLE_GDBM=no
1618 if test "x${HAVE_GDBM}" = "x1" ; then
1619    ENABLE_GDBM=yes
1620 fi
1621
1622 ENABLE_TDB=no
1623 if test "x${HAVE_TDB}" = "x1" ; then
1624    ENABLE_TDB=yes
1625 fi
1626
1627 ENABLE_SIMPLEDB=no
1628 if test "x${HAVE_SIMPLEDB}" = "x1" ; then
1629     ENABLE_SIMPLEDB=yes
1630 fi
1631
1632 ENABLE_FFTW=no
1633 if test "x${HAVE_FFTW}" = "x1" ; then
1634    ENABLE_FFTW=yes
1635 fi
1636
1637 ENABLE_ORC=no
1638 if test "x${HAVE_ORC}" = "xyes" ; then
1639    ENABLE_ORC=yes
1640 fi
1641
1642 ENABLE_OPENSSL=no
1643 if test "x${HAVE_OPENSSL}" = "x1" ; then
1644    ENABLE_OPENSSL=yes
1645 fi
1646
1647 ENABLE_IPV6=no
1648 if test "x${HAVE_IPV6}" = "x1" ; then
1649    ENABLE_IPV6=yes
1650 fi
1651
1652 ENABLE_PER_USER_ESOUND_SOCKET=no
1653 if test "x$per_user_esound_socket" = "x1" ; then
1654    ENABLE_PER_USER_ESOUND_SOCKET=yes
1655 fi
1656
1657 echo "
1658  ---{ $PACKAGE_NAME $VERSION }---
1659
1660     prefix:                        ${prefix}
1661     sysconfdir:                    ${sysconfdir}
1662     localstatedir:                 ${localstatedir}
1663     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1664     System State Path:             ${PA_SYSTEM_STATE_PATH}
1665     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1666     Compiler:                      ${CC}
1667     CFLAGS:                        ${CFLAGS}
1668
1669     Have X11:                      ${ENABLE_X11}
1670     Enable OSS Output:             ${ENABLE_OSS_OUTPUT}
1671     Enable OSS Wrapper:            ${ENABLE_OSS_WRAPPER}
1672     Enable CoreAudio:              ${ENABLE_COREAUDIO}
1673     Enable Alsa:                   ${ENABLE_ALSA}
1674     Enable Solaris:                ${ENABLE_SOLARIS}
1675     Enable GLib 2.0:               ${ENABLE_GLIB20}
1676     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1677     Enable GConf:                  ${ENABLE_GCONF}
1678     Enable Avahi:                  ${ENABLE_AVAHI}
1679     Enable Jack:                   ${ENABLE_JACK}
1680     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1681     Enable LIRC:                   ${ENABLE_LIRC}
1682     Enable DBUS:                   ${ENABLE_DBUS}
1683       Enable HAL:                  ${ENABLE_HAL}
1684       Enable BlueZ:                ${ENABLE_BLUEZ}
1685     Enable udev:                   ${ENABLE_UDEV}
1686       Enable HAL->udev compat:     ${ENABLE_HAL_COMPAT}
1687     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1688     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1689     Enable IPv6:                   ${ENABLE_IPV6}
1690     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1691     Enable tdb:                    ${ENABLE_TDB}
1692     Enable gdbm:                   ${ENABLE_GDBM}
1693     Enable simple database:        ${ENABLE_SIMPLEDB}
1694     Enable fftw:                   ${ENABLE_FFTW}
1695     Enable orc:                    ${ENABLE_ORC}
1696
1697     System User:                   ${PA_SYSTEM_USER}
1698     System Group:                  ${PA_SYSTEM_GROUP}
1699     Access Group:                  ${PA_ACCESS_GROUP}
1700     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1701     Force preopen:                 ${FORCE_PREOPEN}
1702     Preopened modules:             ${PREOPEN_MODS}
1703 "
1704
1705 if test "${ENABLE_DBUS}" = "no" ; then
1706    echo "
1707 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1708 You do not have DBUS support enabled. It is strongly recommended
1709 that you enable DBUS support if you platform supports it.
1710 Many parts of PulseAudio use udev, from Console Kit interaction
1711 to the Device Reservation Protocol to speak to JACK, Bluetooth
1712 support and even a native control protocol for communicating and
1713 controling the PulseAudio daemon itself.
1714 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1715 "
1716 fi
1717
1718 if test "${ENABLE_UDEV}" = "no" ; then
1719    echo "
1720 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1721 You do not have udev support enabled. It is strongly recommended
1722 that you enable udev support if you platform supports it as it is
1723 the primary method used to detect hardware audio devices (on Linux)
1724 and is thus a critical part of PulseAudio on that platform.
1725 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1726 "
1727 fi