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