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