pulsecore:: Define _POSIX_C_SOURCE locally for rtclock on OSX
[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
452 # BSD
453 AC_SEARCH_LIBS([connect], [socket])
454 AC_SEARCH_LIBS([backtrace], [execinfo])
455
456 # Non-standard
457
458 # This magic is needed so we do not needlessly add static libs to the win32
459 # build, disabling its ability to make dlls.
460 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
461
462 # Darwin/OS X
463 if test "x$os_is_darwin" = "x1" ; then
464     AC_MSG_CHECKING([looking for Apple CoreService Framework])
465     # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
466     AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
467     [LIBS="$LIBS -framework CoreServices"],
468     [AC_MSG_ERROR([CoreServices.h header file not found]) ])
469
470     AC_MSG_RESULT([ok])
471     AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
472     HAVE_BONJOUR=1
473 fi
474
475 AC_SUBST(HAVE_BONJOUR)
476 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
477
478 AC_SEARCH_LIBS([regexec], [pcreposix])
479
480 #### Check for functions ####
481
482 # ISO
483 AC_CHECK_FUNCS_ONCE([lrintf strtof])
484
485 # POSIX
486 AC_FUNC_FORK
487 AC_FUNC_GETGROUPS
488 AC_FUNC_SELECT_ARGTYPES
489 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
490     getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
491     pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
492     sigaction sleep symlink sysconf uname pthread_setaffinity_np])
493 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
494
495 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
496
497 # X/OPEN
498 AC_CHECK_FUNCS_ONCE([readlink])
499
500 # SUSv2
501 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
502
503 # SUSv3
504 AC_CHECK_FUNCS_ONCE([strerror_r])
505
506 # BSD
507 AC_CHECK_FUNCS_ONCE([lstat])
508
509 # Non-standard
510
511 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
512
513 AC_FUNC_ALLOCA
514
515 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
516   pulseaudio_cv_PTHREAD_PRIO_INHERIT,
517   [save_CC=$CC; CC=$PTHREAD_CC
518    save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
519    save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
520    AC_LINK_IFELSE(
521      AC_LANG_PROGRAM(
522        [[
523          #include <pthread.h>
524        ]],
525        [[int i = PTHREAD_PRIO_INHERIT;]]),
526      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
527      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
528    CC=$save_CC
529    CFLAGS=$save_CFLAGS
530    LIBS=$save_LIBS
531   ])
532
533 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
534     AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
535   ])
536
537 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
538
539 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
540 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
541
542 #### Large File-Support (LFS) ####
543
544 AC_SYS_LARGEFILE
545
546 # Check for open64 to know if the current system does have open64() and similar functions
547 AC_CHECK_FUNCS_ONCE([open64])
548
549 #### [lib]iconv ####
550
551 AM_ICONV
552
553 IT_PROG_INTLTOOL([0.35.0])
554 GETTEXT_PACKAGE=pulseaudio
555 AC_SUBST([GETTEXT_PACKAGE])
556 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
557 AM_GLIB_GNU_GETTEXT
558
559 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
560 AC_SUBST(pulselocaledir)
561
562 ###################################
563 #      External libraries         #
564 ###################################
565
566 #### pkg-config ####
567
568 PKG_PROG_PKG_CONFIG
569
570 #### X11 (optional) ####
571
572 AC_ARG_ENABLE([x11],
573     AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
574         [
575             case "${enableval}" in
576                 yes) x11=yes ;;
577                 no) x11=no ;;
578                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
579             esac
580         ],
581         [x11=auto])
582
583 if test "x${x11}" != xno ; then
584     PKG_CHECK_MODULES(X11, [ x11-xcb ice sm xtst xcb-atom ],
585         HAVE_X11=1,
586         [
587             HAVE_X11=0
588             if test "x$x11" = xyes ; then
589                 AC_MSG_ERROR([*** X11 not found])
590             fi
591         ])
592 else
593     HAVE_X11=0
594 fi
595
596 if test "x${HAVE_X11}" = x1 ; then
597    AC_DEFINE([HAVE_X11], 1, [Have X11?])
598 fi
599
600 AC_SUBST(X11_CFLAGS)
601 AC_SUBST(X11_LIBS)
602 AC_SUBST(HAVE_X11)
603 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
604
605 #### Capabilities (optional) ####
606
607 CAP_LIBS=''
608
609 AC_ARG_WITH(
610         [caps],
611         AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
612
613 if test "x${with_caps}" != "xno"; then
614     AC_SEARCH_LIBS([cap_init], [cap], [], [
615                     if test "x${with_caps}" = "xyes" ; then
616                         AC_MSG_ERROR([*** POSIX caps libraries not found])
617                     fi])
618     AC_CHECK_HEADERS([sys/capability.h], [], [
619                     if test "x${with_caps}" = "xyes" ; then
620                         AC_MSG_ERROR([*** POSIX caps headers not found])
621                     fi])
622 fi
623
624 #### Valgrind (optional) ####
625
626 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
627
628 #### Sound file ####
629
630 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
631 AC_SUBST(LIBSNDFILE_CFLAGS)
632 AC_SUBST(LIBSNDFILE_LIBS)
633
634 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
635 AC_SUBST(LIBSPEEX_CFLAGS)
636 AC_SUBST(LIBSPEEX_LIBS)
637
638 #### atomic-ops ###
639
640 AC_MSG_CHECKING([whether we need libatomic_ops])
641 if test "x$need_libatomic_ops" = "xyes"; then
642    AC_MSG_RESULT([yes])
643    AC_CHECK_HEADERS([atomic_ops.h], [], [
644    AC_MSG_ERROR([*** libatomic-ops headers not found])
645    ])
646
647    # Win32 does not need the lib and breaks horribly if we try to include it
648    if test "x$os_is_win32" != "x1" ; then
649        LIBS="$LIBS -latomic_ops"
650    fi
651 else
652    AC_MSG_RESULT([no])
653 fi
654
655 #### Libsamplerate support (optional) ####
656
657 AC_ARG_ENABLE([samplerate],
658     AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
659         [
660             case "${enableval}" in
661                 yes) samplerate=yes ;;
662                 no) samplerate=no ;;
663                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
664             esac
665         ],
666         [samplerate=auto])
667
668 if test "x${samplerate}" != xno ; then
669     PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
670         HAVE_LIBSAMPLERATE=1,
671         [
672             HAVE_LIBSAMPLERATE=0
673             if test "x$samplerate" = xyes ; then
674                 AC_MSG_ERROR([*** Libsamplerate not found])
675             fi
676         ])
677 else
678     HAVE_LIBSAMPLERATE=0
679 fi
680
681 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
682    AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
683 fi
684
685 AC_SUBST(LIBSAMPLERATE_CFLAGS)
686 AC_SUBST(LIBSAMPLERATE_LIBS)
687 AC_SUBST(HAVE_LIBSAMPLERATE)
688 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
689
690 #### Database support ####
691
692 HAVE_TDB=0
693 HAVE_GDBM=0
694 HAVE_SIMPLEDB=0
695
696 AC_ARG_WITH(
697         [database],
698         AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
699
700 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
701     PKG_CHECK_MODULES(TDB, [ tdb ],
702         [
703             HAVE_TDB=1
704             with_database=tdb
705         ], [
706             if test "x${with_database}" = "xtdb" ; then
707                 AC_MSG_ERROR([*** tdb not found])
708             fi
709         ])
710 fi
711
712 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
713    have_gdbm=yes
714
715    AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
716    AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
717
718    if test "x${have_gdbm}" = "xyes" ; then
719        HAVE_GDBM=1
720        GDBM_CFLAGS=
721        GDBM_LIBS=-lgdbm
722        with_database=gdbm
723    elif test "x${with_database}" = "xgdbm"; then
724        AC_MSG_ERROR([*** gdbm not found])
725    fi
726 fi
727
728 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xsimple" ; then
729     HAVE_SIMPLEDB=1
730     with_database=simple
731 fi
732
733 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1 -a "x${HAVE_SIMPLEDB}" != x1; then
734    AC_MSG_ERROR([*** missing database backend])
735 fi
736
737 if test "x${HAVE_TDB}" = x1 ; then
738    AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
739 fi
740
741 if test "x${HAVE_GDBM}" = x1 ; then
742    AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
743 fi
744
745 if test "x${HAVE_SIMPLEDB}" = x1 ; then
746     AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?])
747 fi
748
749 AC_SUBST(TDB_CFLAGS)
750 AC_SUBST(TDB_LIBS)
751 AC_SUBST(HAVE_TDB)
752 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
753
754 AC_SUBST(GDBM_CFLAGS)
755 AC_SUBST(GDBM_LIBS)
756 AC_SUBST(HAVE_GDBM)
757 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
758
759 AC_SUBST(HAVE_SIMPLEDB)
760 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
761
762 #### OSS support (optional) ####
763
764 AC_ARG_ENABLE([oss-output],
765     AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]),
766         [
767             case "${enableval}" in
768                 yes) oss_output=yes ;;
769                 no) oss_output=no ;;
770                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-output) ;;
771             esac
772         ],
773         [oss_output=auto])
774
775 AC_ARG_ENABLE([oss-wrapper],
776     AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]),
777         [
778             case "${enableval}" in
779                 yes) oss_wrapper=yes ;;
780                 no) oss_wrapper=no ;;
781                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-wrapper) ;;
782             esac
783         ],
784         [oss_wrapper=auto])
785
786 if test "x${oss_output}" != xno || test "x${oss_wrapper}" != "xno"; then
787     AC_CHECK_HEADERS([sys/soundcard.h],
788         [
789             if test "x${oss_output}" != "xno"; then
790                 AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])
791             fi
792             if test "x${oss_wrapper}" != "xno"; then
793                 AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?])
794             fi
795             HAVE_OSS=1
796         ],
797         [
798             HAVE_OSS=0
799             if test "x$oss_output" = xyes || test "x$oss_wrapper" = "xyes"; then
800                 AC_MSG_ERROR([*** OSS support not found])
801             fi
802         ])
803 else
804     HAVE_OSS=0
805 fi
806
807 AC_SUBST(HAVE_OSS)
808 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"])
809 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])
810
811 #### CoreAudio support (optional) ####
812
813 AC_ARG_ENABLE([coreaudio-output],
814     AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]),
815         [
816             case "${enableval}" in
817                 yes) coreaudio_enabled=yes ;;
818                 no) coreaudio_enabled=no ;;
819                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-coreaudio-output) ;;
820             esac
821         ],
822         [coreaudio_enabled=auto])
823
824 if test "x${coreaudio_enabled}" != xno ; then
825     AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1)
826 else
827     HAVE_COREAUDIO=0
828 fi
829
830 AC_SUBST(HAVE_COREAUDIO)
831 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = x1 && test "x${coreaudio_enabled}" != "xno"])
832
833 #### ALSA support (optional) ####
834
835 AC_ARG_ENABLE([alsa],
836     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
837         [
838             case "${enableval}" in
839                 yes) alsa=yes ;;
840                 no) alsa=no ;;
841                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
842             esac
843         ],
844         [alsa=auto])
845
846 if test "x${alsa}" != xno ; then
847     PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
848         [
849             HAVE_ALSA=1
850             AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
851         ],
852         [
853             HAVE_ALSA=0
854             if test "x$alsa" = xyes ; then
855                 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
856             fi
857         ])
858 else
859     HAVE_ALSA=0
860 fi
861
862 AC_SUBST(ASOUNDLIB_CFLAGS)
863 AC_SUBST(ASOUNDLIB_LIBS)
864 AC_SUBST(HAVE_ALSA)
865 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
866
867 #### Solaris audio support (optional) ####
868
869 AC_ARG_ENABLE([solaris],
870     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
871         [
872             case "${enableval}" in
873                 yes) solaris=yes ;;
874                 no) solaris=no ;;
875                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
876             esac
877         ],
878         [solaris=auto])
879
880 if test "x${solaris}" != xno ; then
881     AC_CHECK_HEADERS([sys/audio.h],
882         [
883             HAVE_SOLARIS=1
884             AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
885         ],
886         [
887             HAVE_SOLARIS=0
888             if test "x$solaris" = xyes ; then
889                 AC_MSG_ERROR([*** Solaris audio support not found])
890             fi
891         ])
892 else
893     HAVE_SOLARIS=0
894 fi
895
896 AC_SUBST(HAVE_SOLARIS)
897 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
898
899 #### WaveOut audio support (optional) ####
900
901 AC_ARG_ENABLE([waveout],
902     AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]),
903         [
904             case "${enableval}" in
905                 yes) waveout=yes ;;
906                 no) waveout=no ;;
907                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-waveout) ;;
908             esac
909         ],
910         [waveout=auto])
911
912 if test "x${waveout}" != xno ; then
913     AC_CHECK_HEADERS([mmsystem.h],
914         [
915             HAVE_WAVEOUT=1
916             AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?])
917         ],
918         [
919             HAVE_WAVEOUT=0
920             if test "x$waveout" = xyes ; then
921                 AC_MSG_ERROR([*** WaveOut audio support not found])
922             fi
923         ],
924         [#include <windows.h>])
925 else
926     HAVE_WAVEOUT=0
927 fi
928
929 AC_SUBST(HAVE_WAVEOUT)
930 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
931
932 #### GLib 2 support (optional) ####
933
934 AC_ARG_ENABLE([glib2],
935     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
936         [
937             case "${enableval}" in
938                 yes) glib2=yes ;;
939                 no) glib2=no ;;
940                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
941             esac
942         ],
943         [glib2=auto])
944
945 if test "x${glib2}" != xno ; then
946     PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
947         HAVE_GLIB20=1,
948         [
949             HAVE_GLIB20=0
950             if test "x$glib2" = xyes ; then
951                 AC_MSG_ERROR([*** GLib 2 support not found])
952             fi
953         ])
954 else
955     HAVE_GLIB20=0
956 fi
957
958 AC_SUBST(GLIB20_CFLAGS)
959 AC_SUBST(GLIB20_LIBS)
960 AC_SUBST(HAVE_GLIB20)
961 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
962
963 if test "x$HAVE_GLIB20" = x1 ; then
964    AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
965 fi
966
967 #### GTK2 support (optional) ####
968
969 AC_ARG_ENABLE([gtk2],
970     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
971         [
972             case "${enableval}" in
973                 yes) gtk2=yes ;;
974                 no) gtk2=no ;;
975                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
976             esac
977         ],
978         [gtk2=auto])
979
980 if test "x${gtk2}" != xno ; then
981     PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
982         HAVE_GTK20=1,
983         [
984             HAVE_GTK20=0
985             if test "x$gtk2" = xyes ; then
986                 AC_MSG_ERROR([*** Gtk+ 2 support not found])
987             fi
988         ])
989 else
990     HAVE_GTK20=0
991 fi
992
993 AC_SUBST(GTK20_CFLAGS)
994 AC_SUBST(GTK20_LIBS)
995 AC_SUBST(HAVE_GTK20)
996 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
997
998 if test "x$HAVE_GTK20" = x1 ; then
999    AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
1000 fi
1001
1002 #### GConf support (optional) ####
1003
1004 AC_ARG_ENABLE([gconf],
1005     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
1006         [
1007             case "${enableval}" in
1008                 yes) gconf=yes ;;
1009                 no) gconf=no ;;
1010                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
1011             esac
1012         ],
1013         [gconf=auto])
1014
1015 if test "x${gconf}" != xno ; then
1016     PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ],
1017         HAVE_GCONF=1,
1018         [
1019             HAVE_GCONF=0
1020             if test "x$gconf" = xyes ; then
1021                 AC_MSG_ERROR([*** GConf support not found])
1022             fi
1023         ])
1024 else
1025     HAVE_GCONF=0
1026 fi
1027
1028 AC_SUBST(GCONF_CFLAGS)
1029 AC_SUBST(GCONF_LIBS)
1030 AC_SUBST(HAVE_GCONF)
1031 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
1032
1033 #### Avahi support (optional) ####
1034
1035 AC_ARG_ENABLE([avahi],
1036     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
1037         [
1038             case "${enableval}" in
1039                 yes) avahi=yes ;;
1040                 no) avahi=no ;;
1041                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
1042             esac
1043         ],
1044         [avahi=auto])
1045
1046 if test "x${avahi}" != xno ; then
1047     PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
1048         HAVE_AVAHI=1,
1049         [
1050                 HAVE_AVAHI=0
1051                 if test "x$avahi" = xyes ; then
1052                         AC_MSG_ERROR([*** Avahi support not found])
1053                 fi
1054         ])
1055 else
1056     HAVE_AVAHI=0
1057 fi
1058
1059 AC_SUBST(AVAHI_CFLAGS)
1060 AC_SUBST(AVAHI_LIBS)
1061 AC_SUBST(HAVE_AVAHI)
1062 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
1063
1064 ### JACK (optional) ####
1065
1066 AC_ARG_ENABLE([jack],
1067     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
1068         [
1069             case "${enableval}" in
1070                 yes) jack=yes ;;
1071                 no) jack=no ;;
1072                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
1073             esac
1074         ],
1075         [jack=auto])
1076
1077 if test "x${jack}" != xno ; then
1078     PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
1079         HAVE_JACK=1,
1080         [
1081             HAVE_JACK=0
1082             if test "x$jack" = xyes ; then
1083                 AC_MSG_ERROR([*** JACK support not found])
1084             fi
1085         ])
1086 else
1087     HAVE_JACK=0
1088 fi
1089
1090 AC_SUBST(JACK_CFLAGS)
1091 AC_SUBST(JACK_LIBS)
1092 AC_SUBST(HAVE_JACK)
1093 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
1094
1095 #### Async DNS support (optional) ####
1096
1097 AC_ARG_ENABLE([asyncns],
1098     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
1099         [
1100             case "${enableval}" in
1101                 yes) asyncns=yes ;;
1102                 no) asyncns=no ;;
1103                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
1104             esac
1105         ],
1106         [asyncns=auto])
1107
1108 if test "x${asyncns}" != xno ; then
1109     PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
1110         HAVE_LIBASYNCNS=1,
1111         [
1112             HAVE_LIBASYNCNS=0
1113             if test "x$asyncns" = xyes ; then
1114                 AC_MSG_ERROR([*** Async DNS support not found])
1115             fi
1116         ])
1117 else
1118     HAVE_LIBASYNCNS=0
1119 fi
1120
1121 AC_SUBST(LIBASYNCNS_CFLAGS)
1122 AC_SUBST(LIBASYNCNS_LIBS)
1123 AC_SUBST(HAVE_LIBASYNCNS)
1124 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
1125
1126 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
1127    AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
1128 fi
1129
1130 #### TCP wrappers (optional) ####
1131
1132 AC_ARG_ENABLE([tcpwrap],
1133     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
1134         [
1135             case "${enableval}" in
1136                 yes) tcpwrap=yes ;;
1137                 no) tcpwrap=no ;;
1138                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
1139             esac
1140         ],
1141         [tcpwrap=auto])
1142
1143 if test "x${tcpwrap}" != xno ; then
1144     ACX_LIBWRAP
1145     if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
1146         AC_MSG_ERROR([*** TCP wrappers support not found])
1147     fi
1148 else
1149     LIBWRAP_LIBS=
1150 fi
1151
1152 AC_SUBST(LIBWRAP_LIBS)
1153
1154 #### LIRC support (optional) ####
1155
1156 AC_ARG_ENABLE([lirc],
1157     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1158         [
1159             case "${enableval}" in
1160                 yes) lirc=yes ;;
1161                 no) lirc=no ;;
1162                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1163             esac
1164         ],
1165         [lirc=auto])
1166
1167 if test "x${lirc}" != xno ; then
1168     ACX_LIRC
1169     if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1170         AC_MSG_ERROR([*** LIRC support not found])
1171     fi
1172 else
1173     HAVE_LIRC=0
1174 fi
1175
1176 AC_SUBST(LIRC_CFLAGS)
1177 AC_SUBST(LIRC_LIBS)
1178 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1179
1180 #### HAL support (optional) ####
1181
1182 AC_ARG_ENABLE([hal],
1183     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1184         [
1185             case "${enableval}" in
1186                 yes) hal=yes ;;
1187                 no) hal=no ;;
1188                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1189             esac
1190         ],
1191         [hal=auto])
1192 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1193     PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1194         [
1195             HAVE_HAL=1
1196             AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1197         ],
1198         [
1199             HAVE_HAL=0
1200             if test "x$hal" = xyes ; then
1201                 AC_MSG_ERROR([*** HAL support not found])
1202             fi
1203         ])
1204 else
1205     HAVE_HAL=0
1206 fi
1207
1208 AC_SUBST(HAL_CFLAGS)
1209 AC_SUBST(HAL_LIBS)
1210 AC_SUBST(HAVE_HAL)
1211 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1212
1213 #### UDEV support (optional) ####
1214
1215 AC_ARG_ENABLE([udev],
1216     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1217         [
1218             case "${enableval}" in
1219                 yes) udev=yes ;;
1220                 no) udev=no ;;
1221                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1222             esac
1223         ],
1224         [udev=auto])
1225 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1226     PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1227         [
1228             HAVE_UDEV=1
1229             AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1230         ],
1231         [
1232             HAVE_UDEV=0
1233             if test "x$udev" = xyes ; then
1234                 AC_MSG_ERROR([*** UDEV support not found])
1235             fi
1236         ])
1237 else
1238     HAVE_UDEV=0
1239 fi
1240
1241 AC_SUBST(UDEV_CFLAGS)
1242 AC_SUBST(UDEV_LIBS)
1243 AC_SUBST(HAVE_UDEV)
1244 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1245
1246 #### BlueZ support (optional) ####
1247
1248 AC_ARG_ENABLE([bluez],
1249     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1250         [
1251             case "${enableval}" in
1252                 yes) bluez=yes ;;
1253                 no) bluez=no ;;
1254                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1255             esac
1256         ],
1257         [bluez=auto])
1258 if test "x${bluez}" != xno ; then
1259     PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1260         HAVE_BLUEZ=1,
1261         [
1262             HAVE_BLUEZ=0
1263             if test "x$bluez" = xyes ; then
1264                 AC_MSG_ERROR([*** BLUEZ support not found])
1265             fi
1266         ])
1267 else
1268     HAVE_BLUEZ=0
1269 fi
1270
1271 AC_SUBST(BLUEZ_CFLAGS)
1272 AC_SUBST(BLUEZ_LIBS)
1273 AC_SUBST(HAVE_BLUEZ)
1274 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1275
1276 #### D-Bus support (optional) ####
1277
1278 AC_ARG_ENABLE([dbus],
1279     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1280         [
1281             case "${enableval}" in
1282                 yes) dbus=yes ;;
1283                 no) dbus=no ;;
1284                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1285             esac
1286         ],
1287         [dbus=auto])
1288
1289 if test "x${dbus}" != xno ; then
1290
1291     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1292         [
1293             HAVE_DBUS=1
1294             saved_LIBS="$LIBS"
1295             LIBS="$LIBS $DBUS_LIBS"
1296             CFLAGS="$CFLAGS $DBUS_CFLAGS"
1297             AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1298             LIBS="$saved_LIBS"
1299             AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1300         ],
1301         [
1302             HAVE_DBUS=0
1303             if test "x$dbus" = xyes ; then
1304                 AC_MSG_ERROR([*** D-Bus support not found])
1305             fi
1306         ])
1307 else
1308     HAVE_DBUS=0
1309 fi
1310
1311 AC_SUBST(DBUS_CFLAGS)
1312 AC_SUBST(DBUS_LIBS)
1313 AC_SUBST(HAVE_DBUS)
1314 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1315
1316
1317 # udev and HAL depend on D-Bus: So double check if they were explicitly enabled.
1318 if test "x$HAVE_DBUS" != "x1" ; then
1319     HAVE_HAL=0
1320     if test "x${hal}" = xyes ; then
1321         AC_MSG_ERROR([*** D-Bus support is required by HAL])
1322     fi
1323
1324     HAVE_BLUEZ=0
1325     if test "x${bluez}" = xyes ; then
1326         AC_MSG_ERROR([*** D-Bus support is required by BLUEZ])
1327     fi
1328 fi
1329
1330
1331 #### HAL compat support (optional) ####
1332
1333 AC_ARG_ENABLE([hal-compat],
1334     AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]),
1335         [
1336             case "${enableval}" in
1337                 yes) halcompat=yes ;;
1338                 no) halcompat=no ;;
1339                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal-compat) ;;
1340             esac
1341         ],
1342         [halcompat=auto])
1343 if test "x${halcompat}" != xno -a "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1" ; then
1344     HAVE_HAL_COMPAT=1
1345     AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.])
1346 else
1347     HAVE_HAL_COMPAT=0
1348 fi
1349
1350 AC_SUBST(HAVE_HAL_COMPAT)
1351 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1352
1353 ### IPv6 connection support (optional) ###
1354
1355 AC_ARG_ENABLE([ipv6],
1356     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1357         [
1358             case "${enableval}" in
1359                 yes) ipv6=yes ;;
1360                 no) ipv6=no ;;
1361                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1362             esac
1363         ],
1364         [ipv6=auto])
1365
1366 if test "x${ipv6}" != xno ; then
1367     AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1368     HAVE_IPV6=1
1369 else
1370     HAVE_IPV6=0
1371 fi
1372
1373 #### OpenSSL support (optional) ####
1374
1375 AC_ARG_ENABLE([openssl],
1376     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1377         [
1378             case "${enableval}" in
1379                 yes) openssl=yes ;;
1380                 no) openssl=no ;;
1381                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1382             esac
1383         ],
1384         [openssl=auto])
1385
1386 if test "x${openssl}" != xno ; then
1387
1388     PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1389         [
1390             HAVE_OPENSSL=1
1391             AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1392         ],
1393         [
1394             HAVE_OPENSSL=0
1395             if test "x$openssl" = xyes ; then
1396                 AC_MSG_ERROR([*** OpenSSL support not found])
1397             fi
1398         ])
1399 else
1400     HAVE_OPENSSL=0
1401 fi
1402
1403 AC_SUBST(OPENSSL_CFLAGS)
1404 AC_SUBST(OPENSSL_LIBS)
1405 AC_SUBST(HAVE_OPENSSL)
1406 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1407
1408 #### FFTW (optional) ####
1409 AC_ARG_WITH(
1410         [fftw],
1411         AS_HELP_STRING([--without-fftw], [Omit FFTW-using modules (equalizer)]))
1412
1413 if test "x${with_fftw}" != "xno"; then
1414     PKG_CHECK_MODULES([FFTW], [fftw3f], [HAVE_FFTW=1], [HAVE_FFTW=0])
1415 fi
1416 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1417
1418 ### ORC (optional) ###
1419 ORC_CHECK([0.4.11])
1420
1421 ### Build and Install man pages ###
1422 AC_ARG_ENABLE(manpages,
1423         AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1424 [case "${enableval}" in
1425   yes) manpages=yes ;;
1426   no)  manpages=no ;;
1427   *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1428 esac],[manpages=yes])
1429
1430 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1431
1432 #### PulseAudio system group & user  #####
1433
1434 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1435 if test -z "$with_system_user" ; then
1436     PA_SYSTEM_USER=pulse
1437 else
1438     PA_SYSTEM_USER=$with_system_user
1439 fi
1440 AC_SUBST(PA_SYSTEM_USER)
1441 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1442
1443 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1444 if test -z "$with_system_group" ; then
1445     PA_SYSTEM_GROUP=pulse
1446 else
1447     PA_SYSTEM_GROUP=$with_system_group
1448 fi
1449 AC_SUBST(PA_SYSTEM_GROUP)
1450 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1451
1452 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)]))
1453 if test -z "$with_access_group" ; then
1454     PA_ACCESS_GROUP=pulse-access
1455 else
1456     PA_ACCESS_GROUP=$with_access_group
1457 fi
1458 AC_SUBST(PA_ACCESS_GROUP)
1459 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1460
1461 AC_ARG_ENABLE(
1462         per_user_esound_socket,
1463         AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1464         [
1465             case "${enableval}" in
1466                 yes) per_user_esound_socket=1 ;;
1467                 no) per_user_esound_socket=0 ;;
1468                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1469             esac
1470         ],
1471         [per_user_esound_socket=1])
1472
1473 if test "x$per_user_esound_socket" = "x1"; then
1474    AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1475 fi
1476
1477 #### PulseAudio system runtime dir ####
1478 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1479 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1480 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1481 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1482 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1483 AC_SUBST(PA_SYSTEM_STATE_PATH)
1484
1485 ###################################
1486 #            Output               #
1487 ###################################
1488
1489 AC_ARG_ENABLE([legacy-runtime-dir],
1490         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1491 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1492         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1493 fi
1494
1495 AC_ARG_ENABLE(
1496         [static-bins],
1497         AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1498         [STATIC_BINS=1], [STATIC_BINS=0])
1499 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1500
1501 AC_ARG_WITH(
1502         [preopen-mods],
1503         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1504         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1505 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1506 if test "x$PREOPEN_MODS" != "xall" ; then
1507     tmpLIBS=""
1508     for mod in $PREOPEN_MODS; do
1509         tmpLIBS="$tmpLIBS module-$mod.la"
1510     done
1511     PREOPEN_MODS="$tmpLIBS"
1512     AC_SUBST(PREOPEN_MODS)
1513 fi
1514
1515 AC_ARG_WITH(
1516         [module-dir],
1517         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1518         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1519
1520 AC_SUBST(modlibexecdir)
1521
1522 AC_ARG_WITH(
1523         [udev-rules-dir],
1524         AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1525         [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1526
1527 AC_SUBST(udevrulesdir)
1528
1529 AC_ARG_ENABLE(
1530         [force-preopen],
1531         AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1532         [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1533 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1534
1535 AC_CONFIG_FILES([
1536 Makefile
1537 src/Makefile
1538 man/Makefile
1539 libpulse.pc
1540 libpulse-simple.pc
1541 libpulse-browse.pc
1542 libpulse-mainloop-glib.pc
1543 doxygen/Makefile
1544 doxygen/doxygen.conf
1545 src/pulse/version.h
1546 po/Makefile.in
1547 ])
1548
1549 AC_OUTPUT
1550
1551 # ==========================================================================
1552 ENABLE_X11=no
1553 if test "x$HAVE_X11" = "x1" ; then
1554    ENABLE_X11=yes
1555 fi
1556
1557 ENABLE_OSS_OUTPUT=no
1558 ENABLE_OSS_WRAPPER=no
1559 if test "x$HAVE_OSS" = "x1" ; then
1560    if test "x$enable_oss_output" != "xno"; then
1561       ENABLE_OSS_OUTPUT=yes
1562    fi
1563    if test "x$enable_oss_wrapper" != "xno"; then
1564       ENABLE_OSS_WRAPPER=yes
1565    fi
1566 fi
1567
1568 ENABLE_COREAUDIO=no
1569 if test "x$HAVE_COREAUDIO" = "x1" ; then
1570    ENABLE_COREAUDIO=yes
1571 fi
1572
1573 ENABLE_ALSA=no
1574 if test "x$HAVE_ALSA" = "x1" ; then
1575    ENABLE_ALSA=yes
1576 fi
1577
1578 ENABLE_SOLARIS=no
1579 if test "x$HAVE_SOLARIS" = "x1" ; then
1580    ENABLE_SOLARIS=yes
1581 fi
1582
1583 ENABLE_WAVEOUT=no
1584 if test "x$HAVE_WAVEOUT" = "x1" ; then
1585    ENABLE_WAVEOUT=yes
1586 fi
1587
1588 ENABLE_GTK20=no
1589 if test "x$HAVE_GTK20" = "x1" ; then
1590    ENABLE_GTK20=yes
1591 fi
1592
1593 ENABLE_GLIB20=no
1594 if test "x$HAVE_GLIB20" = "x1" ; then
1595    ENABLE_GLIB20=yes
1596 fi
1597
1598 ENABLE_GCONF=no
1599 if test "x$HAVE_GCONF" = "x1" ; then
1600    ENABLE_GCONF=yes
1601 fi
1602
1603 ENABLE_AVAHI=no
1604 if test "x$HAVE_AVAHI" = "x1" ; then
1605    ENABLE_AVAHI=yes
1606 fi
1607
1608 ENABLE_JACK=no
1609 if test "x$HAVE_JACK" = "x1" ; then
1610    ENABLE_JACK=yes
1611 fi
1612
1613 ENABLE_LIBASYNCNS=no
1614 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1615    ENABLE_LIBASYNCNS=yes
1616 fi
1617
1618 ENABLE_LIRC=no
1619 if test "x$HAVE_LIRC" = "x1" ; then
1620    ENABLE_LIRC=yes
1621 fi
1622
1623 ENABLE_DBUS=no
1624 if test "x$HAVE_DBUS" = "x1" ; then
1625    ENABLE_DBUS=yes
1626 fi
1627
1628 ENABLE_HAL=no
1629 if test "x$HAVE_HAL" = "x1" ; then
1630    ENABLE_HAL=yes
1631 fi
1632
1633 ENABLE_UDEV=no
1634 if test "x$HAVE_UDEV" = "x1" ; then
1635    ENABLE_UDEV=yes
1636 fi
1637
1638 ENABLE_HAL_COMPAT=no
1639 if test "x$HAVE_HAL_COMPAT" = "x1" ; then
1640    ENABLE_HAL_COMPAT=yes
1641 fi
1642
1643 ENABLE_TCPWRAP=no
1644 if test "x${LIBWRAP_LIBS}" != x ; then
1645    ENABLE_TCPWRAP=yes
1646 fi
1647
1648 ENABLE_LIBSAMPLERATE=no
1649 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1650    ENABLE_LIBSAMPLERATE=yes
1651 fi
1652
1653 ENABLE_BLUEZ=no
1654 if test "x${HAVE_BLUEZ}" = "x1" ; then
1655    ENABLE_BLUEZ=yes
1656 fi
1657
1658 ENABLE_GDBM=no
1659 if test "x${HAVE_GDBM}" = "x1" ; then
1660    ENABLE_GDBM=yes
1661 fi
1662
1663 ENABLE_TDB=no
1664 if test "x${HAVE_TDB}" = "x1" ; then
1665    ENABLE_TDB=yes
1666 fi
1667
1668 ENABLE_SIMPLEDB=no
1669 if test "x${HAVE_SIMPLEDB}" = "x1" ; then
1670     ENABLE_SIMPLEDB=yes
1671 fi
1672
1673 ENABLE_FFTW=no
1674 if test "x${HAVE_FFTW}" = "x1" ; then
1675    ENABLE_FFTW=yes
1676 fi
1677
1678 ENABLE_ORC=no
1679 if test "x${HAVE_ORC}" = "xyes" ; then
1680    ENABLE_ORC=yes
1681 fi
1682
1683 ENABLE_OPENSSL=no
1684 if test "x${HAVE_OPENSSL}" = "x1" ; then
1685    ENABLE_OPENSSL=yes
1686 fi
1687
1688 ENABLE_IPV6=no
1689 if test "x${HAVE_IPV6}" = "x1" ; then
1690    ENABLE_IPV6=yes
1691 fi
1692
1693 ENABLE_PER_USER_ESOUND_SOCKET=no
1694 if test "x$per_user_esound_socket" = "x1" ; then
1695    ENABLE_PER_USER_ESOUND_SOCKET=yes
1696 fi
1697
1698 echo "
1699  ---{ $PACKAGE_NAME $VERSION }---
1700
1701     prefix:                        ${prefix}
1702     sysconfdir:                    ${sysconfdir}
1703     localstatedir:                 ${localstatedir}
1704     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1705     System State Path:             ${PA_SYSTEM_STATE_PATH}
1706     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1707     Compiler:                      ${CC}
1708     CFLAGS:                        ${CFLAGS}
1709     LIBS:                          ${LIBS}
1710
1711     Have X11:                      ${ENABLE_X11}
1712     Enable OSS Output:             ${ENABLE_OSS_OUTPUT}
1713     Enable OSS Wrapper:            ${ENABLE_OSS_WRAPPER}
1714     Enable CoreAudio:              ${ENABLE_COREAUDIO}
1715     Enable Alsa:                   ${ENABLE_ALSA}
1716     Enable Solaris:                ${ENABLE_SOLARIS}
1717     Enable WaveOut:                ${ENABLE_WAVEOUT}
1718     Enable GLib 2.0:               ${ENABLE_GLIB20}
1719     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1720     Enable GConf:                  ${ENABLE_GCONF}
1721     Enable Avahi:                  ${ENABLE_AVAHI}
1722     Enable Jack:                   ${ENABLE_JACK}
1723     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1724     Enable LIRC:                   ${ENABLE_LIRC}
1725     Enable D-Bus:                  ${ENABLE_DBUS}
1726       Enable HAL:                  ${ENABLE_HAL}
1727       Enable BlueZ:                ${ENABLE_BLUEZ}
1728     Enable udev:                   ${ENABLE_UDEV}
1729       Enable HAL->udev compat:     ${ENABLE_HAL_COMPAT}
1730     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1731     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1732     Enable IPv6:                   ${ENABLE_IPV6}
1733     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1734     Enable tdb:                    ${ENABLE_TDB}
1735     Enable gdbm:                   ${ENABLE_GDBM}
1736     Enable simple database:        ${ENABLE_SIMPLEDB}
1737     Enable fftw:                   ${ENABLE_FFTW}
1738     Enable orc:                    ${ENABLE_ORC}
1739
1740     System User:                   ${PA_SYSTEM_USER}
1741     System Group:                  ${PA_SYSTEM_GROUP}
1742     Access Group:                  ${PA_ACCESS_GROUP}
1743     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1744     Force preopen:                 ${FORCE_PREOPEN}
1745     Preopened modules:             ${PREOPEN_MODS}
1746 "
1747
1748 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1749    echo "
1750 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1751 You do not have D-Bus support enabled. It is strongly recommended
1752 that you enable D-Bus support if your platform supports it.
1753 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1754 to the Device Reservation Protocol to speak to JACK, Bluetooth
1755 support and even a native control protocol for communicating and
1756 controling the PulseAudio daemon itself.
1757 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1758 "
1759 fi
1760
1761 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1762    echo "
1763 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1764 You do not have udev support enabled. It is strongly recommended
1765 that you enable udev support if your platform supports it as it is
1766 the primary method used to detect hardware audio devices (on Linux)
1767 and is thus a critical part of PulseAudio on that platform.
1768 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1769 "
1770 fi