Notify port available status changes, and update protocol version
[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)],[pulseaudio-discuss (at) lists (dot) freedesktop (dot) org],[pulseaudio],[http://pulseaudio.org/])
26 AC_CONFIG_SRCDIR([src/daemon/main.c])
27 AC_CONFIG_MACRO_DIR([m4])
28 AC_CONFIG_HEADERS([config.h])
29 AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules color-tests dist-xz tar-ustar])
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
38 AC_SUBST(PA_API_VERSION, 12)
39 AC_SUBST(PA_PROTOCOL_VERSION, 25)
40
41 # The stable ABI for client applications, for the version info x:y:z
42 # always will hold y=z
43 AC_SUBST(LIBPULSE_VERSION_INFO, [13:4:13])
44
45 # A simplified, synchronous, ABI-stable interface for client
46 # applications, for the version info x:y:z always will hold y=z
47 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])
48
49 # The ABI-stable network browsing interface for client applications,
50 # for the version info x:y:z always will hold y=z
51 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
52
53 # The ABI-stable GLib adapter for client applications, for the version
54 # info x:y:z always will hold y=z
55 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
56
57 AC_CANONICAL_HOST
58 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
59
60 AC_CHECK_PROG([STOW], [stow], [yes], [no])
61
62 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
63     AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
64     ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
65 ])
66
67 AM_SILENT_RULES([yes])
68
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 # Only required if you want the WebRTC canceller -- no runtime dep on
82 # libstdc++ otherwise
83 AC_PROG_CXX
84 AC_PROG_GCC_TRADITIONAL
85 AC_USE_SYSTEM_EXTENSIONS
86
87 # M4
88
89 AC_CHECK_PROGS([M4], gm4 m4, no)
90 AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
91
92 # pkg-config
93
94 PKG_PROG_PKG_CONFIG
95
96 # gettext
97
98 IT_PROG_INTLTOOL([0.35.0])
99 GETTEXT_PACKAGE=pulseaudio
100 AC_SUBST([GETTEXT_PACKAGE])
101 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
102 AM_GLIB_GNU_GETTEXT
103
104 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
105 AX_DEFINE_DIR(PULSE_LOCALEDIR, pulselocaledir, [Gettext locale dir])
106
107
108 #### Determine host OS ####
109
110 os_is_linux=0
111 os_is_win32=0
112 os_is_darwin=0
113
114 AC_MSG_CHECKING([host operating system])
115 case "$host_os" in
116     linux*)
117         AC_MSG_RESULT([linux])
118         os_is_linux=1
119     ;;
120     darwin*)
121         AC_MSG_RESULT([darwin])
122         os_is_darwin=1
123         AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
124     ;;
125     mingw*)
126         AC_MSG_RESULT([win32])
127         os_is_win32=1
128         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
129     ;;
130     *)
131         AC_MSG_RESULT([unknown])
132     ;;
133 esac
134
135 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
136 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
137 AC_SUBST([OS_IS_WIN32], [$os_is_win32])
138
139 # Platform specific hacks
140 case "$host_os" in
141     darwin* )
142         AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
143     ;;
144     mingw* )
145         AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
146     ;;
147     solaris* )
148         AC_DEFINE(_XOPEN_SOURCE,       600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
149         AC_DEFINE(__EXTENSIONS__,        1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
150     ;;
151 esac
152
153
154 #### Compiler flags ####
155
156 AX_APPEND_COMPILE_FLAGS(
157     [-Wall -W -Wextra -pipe -Wno-long-long -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option],
158     [], [-pedantic -Werror])
159
160
161 #### Linker flags ####
162
163 # Check whether the linker supports the -version-script option.
164 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
165 # so that it is expanded the right way in every subdir.
166 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
167     [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
168 AC_SUBST([VERSIONING_LDFLAGS])
169
170 # Use immediate (now) bindings; avoids the funky re-call in itself.
171 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
172 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
173 AC_SUBST([IMMEDIATE_LDFLAGS])
174
175 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
176 # so we request the nodelete flag to be enabled.
177 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
178 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
179 AC_SUBST([NODELETE_LDFLAGS])
180
181 # Check for the proper way to build libraries that have no undefined symbols
182 case $host in
183     # FreeBSD (et al.) does not complete linking for shared objects when pthreads
184     # are requested, as different implementations are present.
185     *-freebsd* | *-openbsd*) ;;
186     *)
187         for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
188             AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
189         done
190     ;;
191 esac
192 AC_SUBST([NOUNDEFINED_LDFLAGS])
193
194
195 #### Atomic operations ####
196
197 # Native atomic operation support
198 AC_ARG_ENABLE([atomic-arm-linux-helpers],
199     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
200
201 AC_ARG_ENABLE([atomic-arm-memory-barrier],
202     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
203
204 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
205     AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
206 fi
207
208 # If everything else fails use libatomic_ops
209 need_libatomic_ops=yes
210
211 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
212     pulseaudio_cv_sync_bool_compare_and_swap, [
213     AC_LINK_IFELSE(
214         AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
215         [pulseaudio_cv_sync_bool_compare_and_swap=yes],
216         [pulseaudio_cv_sync_bool_compare_and_swap=no])
217     ])
218
219 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
220     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
221     need_libatomic_ops=no
222 else
223     # HW specific atomic ops stuff
224     AC_MSG_CHECKING([architecture for native atomic operations])
225     case $host in
226         arm*)
227             AC_MSG_RESULT([arm])
228             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
229             # The Linux kernel helper functions have been there since 2.6.16. However
230             # compile time checking for kernel version in cross compile environment
231             # (which is usually the case for arm cpu) is tricky (or impossible).
232             if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
233                 AC_MSG_RESULT([yes])
234                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
235                 need_libatomic_ops=no
236             else
237                 AC_MSG_RESULT([no])
238                 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
239                     pulseaudio_cv_support_arm_atomic_ops, [
240                     AC_COMPILE_IFELSE(
241                         AC_LANG_PROGRAM([], [[
242                             volatile int a=0;
243                             int o=0, n=1, r;
244                             asm volatile ("ldrex    %0, [%1]\n"
245                                           "subs  %0, %0, %2\n"
246                                           "strexeq %0, %3, [%1]\n"
247                                           : "=&r" (r)
248                                           : "r" (&a), "Ir" (o), "r" (n)
249                                           : "cc");
250                             return (a==1 ? 0 : -1);
251                         ]]),
252                         [pulseaudio_cv_support_arm_atomic_ops=yes],
253                         [pulseaudio_cv_support_arm_atomic_ops=no])
254                 ])
255                 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
256                     AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
257                     need_libatomic_ops=no
258                 ])
259             fi
260         ;;
261         *-netbsdelf5*)
262             AC_MSG_RESULT([yes])
263             need_libatomic_ops=no
264         ;;
265         *-freebsd*)
266             AC_MSG_RESULT([yes])
267             need_libatomic_ops=no
268         ;;
269         *)
270             AC_MSG_RESULT([unknown])
271         ;;
272     esac
273 fi
274
275 # If we're on ARM, check for the ARMV6 instructions we need */
276 case $host in
277   arm*)
278     AC_CACHE_CHECK([support for required armv6 instructions],
279       pulseaudio_cv_support_armv6,
280       [AC_COMPILE_IFELSE(
281          AC_LANG_PROGRAM([],
282            [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
283              asm volatile ("ldr r0, %2 \n"
284                            "ldr r2, %3 \n"
285                            "ldr r3, %4 \n"
286                            "ssat r1, #8, r0 \n"
287                            "str r1, %0 \n"
288                            "pkhbt r1, r3, r2, LSL #8 \n"
289                            "str r1, %1 \n"
290                            : "=m" (a), "=m" (b)
291                            : "m" (a), "m" (b), "m" (c)
292                            : "r0", "r1", "r2", "r3", "cc");
293              return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
294            ]]),
295          [pulseaudio_cv_support_armv6=yes],
296          [pulseaudio_cv_support_armv6=no])
297       ])
298     AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
299         AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
300       ])
301   ;;
302   *)
303   ;;
304 esac
305
306
307 #### libtool stuff ####
308
309 LT_PREREQ(2.2)
310 LT_INIT([dlopen win32-dll disable-static])
311
312 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
313 dnl exactly which version of libltdl is present in the system, so we
314 dnl just assume that it's a working version as long as we have the
315 dnl library and the header files.
316 dnl
317 dnl As an extra safety device, check for lt_dladvise_init() which is
318 dnl only implemented in libtool 2.x, and refine as we go if we have
319 dnl refined requirements.
320 dnl
321 dnl Check the header files first since the system may have a
322 dnl libltdl.so for runtime, but no headers, and we want to bail out as
323 dnl soon as possible.
324 dnl
325 dnl We don't need any special variable for this though, since the user
326 dnl can give the proper place to find libltdl through the standard
327 dnl variables like LDFLAGS and CPPFLAGS.
328
329 AC_CHECK_HEADER([ltdl.h],
330     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
331     [LIBLTDL=])
332
333 AS_IF([test "x$LIBLTDL" = "x"],
334     [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
335 AC_SUBST([LIBLTDL])
336
337
338 ###################################
339 #   Basic environment checks      #
340 ###################################
341
342 #### Checks for header files. ####
343
344 # ISO
345 AC_HEADER_STDC
346
347 # POSIX
348 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
349     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
350     sys/mman.h sys/select.h sys/socket.h sys/wait.h \
351     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
352 AC_CHECK_HEADERS([netinet/ip.h], [], [],
353                  [#include <sys/types.h>
354                   #if HAVE_NETINET_IN_H
355                   # include <netinet/in.h>
356                   #endif
357                   #if HAVE_NETINET_IN_SYSTM_H
358                   # include <netinet/in_systm.h>
359                   #endif
360                  ])
361 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
362 AC_SUBST(HAVE_SYS_RESOURCE_H)
363 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
364 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
365 AC_SUBST(HAVE_AF_UNIX)
366
367 # Linux
368 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
369 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
370
371 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
372
373 # Solaris
374 AC_CHECK_HEADERS_ONCE([sys/filio.h])
375
376 # Windows
377 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
378
379 # NetBSD
380 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
381
382 # Other
383 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
384 AC_CHECK_HEADERS_ONCE([byteswap.h])
385 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
386 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
387 AC_CHECK_HEADERS_ONCE([execinfo.h])
388 AC_CHECK_HEADERS_ONCE([langinfo.h])
389 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
390
391
392 #### Typdefs, structures, etc. ####
393
394 AC_C_CONST
395 AC_C_BIGENDIAN
396 AC_TYPE_PID_T
397 AC_TYPE_SIZE_T
398 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
399 AC_TYPE_OFF_T
400
401 AC_TYPE_UID_T
402 AC_CHECK_DECLS(environ)
403
404 # SIGXCPU
405 AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
406 AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
407 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
408
409 # INADDR_NONE, Solaris lacks this
410 AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
411     [AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
412         [AC_DEFINE([INADDR_NONE],  [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
413
414
415 # _Bool
416 AC_CACHE_CHECK([whether $CC knows _Bool],
417     pulseaudio_cv__Bool,
418     [AC_COMPILE_IFELSE(
419         AC_LANG_PROGRAM([], [[_Bool b;]]),
420         [pulseaudio_cv__Bool=yes],
421         [pulseaudio_cv__Bool=no])
422     ])
423
424 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
425
426
427 #### Thread support ####
428
429 AX_TLS
430 AS_IF([test "$ac_cv_tls" == "__thread"],
431     AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
432
433 # Win32 build breaks with win32 pthread installed
434 AS_IF([test "x$os_is_win32" != "x1"],
435   [AX_PTHREAD])
436
437 AS_IF([test "x$ax_pthread_ok" == "xyes"],
438     AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
439
440
441 #### Check for libs ####
442
443 # ISO
444 AC_SEARCH_LIBS([pow], [m])
445
446 # POSIX
447 AC_SEARCH_LIBS([sched_setscheduler], [rt])
448 AC_SEARCH_LIBS([dlopen], [dl])
449 AC_SEARCH_LIBS([shm_open], [rt])
450 AC_SEARCH_LIBS([inet_ntop], [nsl])
451 AC_SEARCH_LIBS([timer_create], [rt])
452 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
453 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
454 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
455
456 # BSD
457 AC_SEARCH_LIBS([connect], [socket])
458 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
459
460 # Darwin/OS X
461 if test "x$os_is_darwin" = "x1" ; then
462     AC_MSG_CHECKING([looking for Apple CoreService Framework])
463     # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
464     AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
465         [LIBS="$LIBS -framework CoreServices"],
466         [AC_MSG_ERROR([CoreServices.h header file not found])]
467     )
468
469     AC_MSG_RESULT([ok])
470     AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
471     HAVE_BONJOUR=1
472 fi
473
474 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
475
476 # Windows
477 AC_SEARCH_LIBS([regexec], [pcreposix])
478 # This magic is needed so we do not needlessly add static libs to the win32  build, disabling its ability to make dlls.
479 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
480
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 AC_SUBST(HAVE_MKFIFO)
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 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
513
514 AC_FUNC_ALLOCA
515
516 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
517 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
518
519 # Large File-Support (LFS)
520 AC_SYS_LARGEFILE
521 # Check for open64 to know if the current system does have open64() and similar functions
522 AC_CHECK_FUNCS_ONCE([open64])
523
524
525 ###################################
526 #      External libraries         #
527 ###################################
528
529 #### [lib]iconv ####
530
531 AM_ICONV
532
533 #### X11 (optional) ####
534
535 AC_ARG_ENABLE([x11],
536     AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
537
538 AS_IF([test "x$enable_x11" != "xno"],
539     [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
540     HAVE_X11=0)
541
542 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
543     [AC_MSG_ERROR([*** X11 not found])])
544
545 AC_SUBST(X11_CFLAGS)
546 AC_SUBST(X11_LIBS)
547 AC_SUBST(HAVE_X11)
548 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
549 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
550
551 #### Capabilities (optional) ####
552
553 CAP_LIBS=''
554
555 AC_ARG_WITH([caps],
556     AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
557
558 if test "x${with_caps}" != "xno"; then
559     AC_SEARCH_LIBS([cap_init], [cap], [], [
560                     if test "x${with_caps}" = "xyes" ; then
561                         AC_MSG_ERROR([*** POSIX caps libraries not found])
562                     fi])
563     AC_CHECK_HEADERS([sys/capability.h], [], [
564                     if test "x${with_caps}" = "xyes" ; then
565                         AC_MSG_ERROR([*** POSIX caps headers not found])
566                     fi])
567 fi
568
569 #### Valgrind (optional) ####
570
571 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
572
573 #### json parsing ####
574
575 PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])
576 AC_SUBST(LIBJSON_CFLAGS)
577 AC_SUBST(LIBJSON_LIBS)
578
579 #### Sound file ####
580
581 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
582 AC_SUBST(LIBSNDFILE_CFLAGS)
583 AC_SUBST(LIBSNDFILE_LIBS)
584
585 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
586 AC_SUBST(LIBSPEEX_CFLAGS)
587 AC_SUBST(LIBSPEEX_LIBS)
588
589 #### atomic-ops ####
590
591 AC_MSG_CHECKING([whether we need libatomic_ops])
592 if test "x$need_libatomic_ops" = "xyes"; then
593     AC_MSG_RESULT([yes])
594     AC_CHECK_HEADERS([atomic_ops.h],
595         [CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
596         [AC_MSG_ERROR([*** libatomic-ops headers not found])])
597
598     # Win32 does not need the lib and breaks horribly if we try to include it
599     AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
600 else
601     AC_MSG_RESULT([no])
602 fi
603
604 #### Libsamplerate support (optional) ####
605
606 AC_ARG_ENABLE([samplerate],
607     AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]))
608
609 AS_IF([test "x$enable_samplerate" != "xno"],
610     [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
611     HAVE_LIBSAMPLERATE=0)
612
613 AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
614     [AC_MSG_ERROR([*** Libsamplerate not found])])
615
616 AC_SUBST(LIBSAMPLERATE_CFLAGS)
617 AC_SUBST(LIBSAMPLERATE_LIBS)
618 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
619 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
620
621 #### Database support ####
622
623 AC_ARG_WITH([database],
624     AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
625
626
627 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
628     [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
629     HAVE_TDB=0)
630 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
631
632 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
633     [AC_MSG_ERROR([*** tdb not found])])
634
635
636 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
637     [
638         HAVE_GDBM=1
639         AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
640         AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
641     ],
642     HAVE_GDBM=0)
643 AS_IF([test "x$HAVE_GDBM" = "x1"],
644     [
645         with_database=gdbm
646         GDBM_CFLAGS=
647         GDBM_LIBS=-lgdbm
648     ])
649
650 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
651     [AC_MSG_ERROR([*** gdbm not found])])
652
653
654 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
655     HAVE_SIMPLEDB=1,
656     HAVE_SIMPLEDB=0)
657 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
658
659 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
660     AC_MSG_ERROR([*** missing database backend]))
661
662
663 AC_SUBST(TDB_CFLAGS)
664 AC_SUBST(TDB_LIBS)
665 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
666 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
667
668 AC_SUBST(GDBM_CFLAGS)
669 AC_SUBST(GDBM_LIBS)
670 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
671 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
672
673 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
674 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
675
676 #### OSS support (optional) ####
677
678 AC_ARG_ENABLE([oss-output],
679     AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
680
681 AC_ARG_ENABLE([oss-wrapper],
682     AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
683
684 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
685     [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
686     HAVE_OSS=0)
687
688 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
689     [AC_MSG_ERROR([*** OSS support not found])])
690
691 AS_IF([test "x$enable_oss_output" != "xno"],
692     [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
693     HAVE_OSS_OUTPUT=0)
694
695 AS_IF([test "x$enable_oss_wrapper" != "xno"],
696     [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
697     HAVE_OSS_WRAPPER=0)
698
699 AC_SUBST(HAVE_OSS_OUTPUT)
700 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
701 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
702 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
703 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
704
705 #### CoreAudio support (optional) ####
706
707 AC_ARG_ENABLE([coreaudio-output],
708     AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
709
710 AS_IF([test "x$enable_coreaudio_output" != "xno"],
711     [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
712     HAVE_COREAUDIO=0)
713
714 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
715     [AC_MSG_ERROR([*** CoreAudio output support not found])])
716
717 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
718
719 #### ALSA support (optional) ####
720
721 AC_ARG_ENABLE([alsa],
722     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
723
724 AS_IF([test "x$enable_alsa" != "xno"],
725     [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
726     HAVE_ALSA=0)
727
728 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
729     [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
730
731 AC_SUBST(ASOUNDLIB_CFLAGS)
732 AC_SUBST(ASOUNDLIB_LIBS)
733 AC_SUBST(HAVE_ALSA)
734 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
735 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
736
737 #### Solaris audio support (optional) ####
738
739 AC_ARG_ENABLE([solaris],
740     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
741
742 AS_IF([test "x$enable_solaris" != "xno"],
743     [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
744     HAVE_SOLARIS=0)
745
746 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
747     [AC_MSG_ERROR([*** Solaris audio support not found])])
748
749 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
750 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
751
752 #### WaveOut audio support (optional) ####
753
754 AC_ARG_ENABLE([waveout],
755     AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
756
757 AS_IF([test "x$enable_waveout" != "xno"],
758     [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
759     HAVE_WAVEOUT=0)
760
761 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
762     [AC_MSG_ERROR([*** WaveOut audio support not found])])
763
764 AC_SUBST(HAVE_WAVEOUT)
765 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
766 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
767
768 #### GLib 2 support (optional) ####
769
770 AC_ARG_ENABLE([glib2],
771     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
772
773 AS_IF([test "x$enable_glib2" != "xno"],
774     [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
775     HAVE_GLIB20=0)
776
777 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
778     [AC_MSG_ERROR([*** GLib 2 support not found])])
779
780 AC_SUBST(GLIB20_CFLAGS)
781 AC_SUBST(GLIB20_LIBS)
782 AC_SUBST(HAVE_GLIB20)
783 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
784 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
785
786 #### GTK2 support (optional) ####
787
788 AC_ARG_ENABLE([gtk2],
789     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]))
790
791 AS_IF([test "x$enable_gtk2" != "xno"],
792     [PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ], HAVE_GTK20=1, HAVE_GTK20=0)],
793     HAVE_GTK20=0)
794
795 AS_IF([test "x$enable_gtk2" = "xyes" && test "x$HAVE_GTK20" = "x0"],
796     [AC_MSG_ERROR([*** Gtk+ 2 support not found])])
797
798 AC_SUBST(GTK20_CFLAGS)
799 AC_SUBST(GTK20_LIBS)
800 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
801 AS_IF([test "x$HAVE_GTK20" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
802
803 #### GConf support (optional) ####
804
805 AC_ARG_ENABLE([gconf],
806     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
807
808 AS_IF([test "x$enable_gconf" != "xno"],
809     [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
810     HAVE_GCONF=0)
811
812 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
813     [AC_MSG_ERROR([*** GConf support not found])])
814
815 AC_SUBST(GCONF_CFLAGS)
816 AC_SUBST(GCONF_LIBS)
817 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
818
819 #### Avahi support (optional) ####
820
821 AC_ARG_ENABLE([avahi],
822     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
823
824 AS_IF([test "x$enable_avahi" != "xno"],
825     [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
826     HAVE_AVAHI=0)
827
828 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
829     [AC_MSG_ERROR([*** Avahi support not found])])
830
831 AC_SUBST(AVAHI_CFLAGS)
832 AC_SUBST(AVAHI_LIBS)
833 AC_SUBST(HAVE_AVAHI)
834 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
835
836 #### JACK (optional) ####
837
838 AC_ARG_ENABLE([jack],
839     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
840
841 AS_IF([test "x$enable_jack" != "xno"],
842     [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
843     HAVE_JACK=0)
844
845 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
846     [AC_MSG_ERROR([*** JACK support not found])])
847
848 AC_SUBST(JACK_CFLAGS)
849 AC_SUBST(JACK_LIBS)
850 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
851
852 #### Async DNS support (optional) ####
853
854 AC_ARG_ENABLE([asyncns],
855     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
856
857 AS_IF([test "x$enable_asyncns" != "xno"],
858     [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
859     HAVE_LIBASYNCNS=0)
860
861 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
862     [AC_MSG_ERROR([*** Async DNS support not found])])
863
864 AC_SUBST(LIBASYNCNS_CFLAGS)
865 AC_SUBST(LIBASYNCNS_LIBS)
866 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
867 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
868
869 #### TCP wrappers (optional) ####
870
871 AC_ARG_ENABLE([tcpwrap],
872     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
873
874 AS_IF([test "x$enable_tcpwrap" != "xno"],
875     [
876         ACX_LIBWRAP
877         AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
878     ],
879     HAVE_TCPWRAP=0)
880
881 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
882     [AC_MSG_ERROR([*** TCP wrappers support not found])])
883
884 AC_SUBST(LIBWRAP_LIBS)
885
886 #### LIRC support (optional) ####
887
888 AC_ARG_ENABLE([lirc],
889     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
890
891 LIRC_CFLAGS=
892 LIRC_LIBS=
893
894 AS_IF([test "x$enable_lirc" != "xno"],
895     [
896         HAVE_LIRC=1
897         AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
898         AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
899     ],
900     HAVE_LIRC=0)
901
902 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
903     [AC_MSG_ERROR([*** LIRC support not found])])
904
905 AC_SUBST(LIRC_CFLAGS)
906 AC_SUBST(LIRC_LIBS)
907 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
908
909 #### D-Bus support (optional) ####
910
911 AC_ARG_ENABLE([dbus],
912     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
913
914 AS_IF([test "x$enable_dbus" != "xno"],
915     [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.3.0 ], HAVE_DBUS=1, HAVE_DBUS=0)],
916     HAVE_DBUS=0)
917
918 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
919     [AC_MSG_ERROR([*** D-Bus (1.3.0+) support not found])])
920
921 AS_IF([test "x$HAVE_DBUS" = "x1"],
922     [
923         save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
924         save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
925         AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
926         CFLAGS="$save_CFLAGS"
927         LIBS="$save_LIBS"
928     ])
929
930 AC_SUBST(DBUS_CFLAGS)
931 AC_SUBST(DBUS_LIBS)
932 AC_SUBST(HAVE_DBUS)
933 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
934 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
935
936 PA_MACHINE_ID="${localstatedir}/lib/dbus/machine-id"
937 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
938 PA_MACHINE_ID_FALLBACK="${sysconfdir}/machine-id"
939 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
940               [Fallback machine-id file])
941
942 #### HAL support (optional), dependant on D-Bus ####
943
944 AC_ARG_ENABLE([hal],
945     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]))
946
947 AS_IF([test "x$enable_hal" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
948     [PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ], HAVE_HAL=1, HAVE_HAL=0)],
949     HAVE_HAL=0)
950 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_HAL=0)
951
952 AS_IF([test "x$enable_hal" = "xyes" && test "x$HAVE_HAL" = "x0"],
953     [AC_MSG_ERROR([*** HAL support not found (requires D-Bus)])])
954
955 AC_SUBST(HAL_CFLAGS)
956 AC_SUBST(HAL_LIBS)
957 AC_SUBST(HAVE_HAL)
958 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
959 AS_IF([test "x$HAVE_HAL" = "x1"], AC_DEFINE([HAVE_HAL], 1, [Have HAL.]))
960
961 #### BlueZ support (optional, dependant on D-Bus) ####
962
963 AC_ARG_ENABLE([bluez],
964     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]))
965
966 AS_IF([test "x$enable_bluez" != "xno"],
967     [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
968     HAVE_BLUEZ=0)
969 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_BLUEZ=0)
970
971 AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"],
972     [AC_MSG_ERROR([*** BLUEZ support not found (requires D-Bus)])])
973
974 AC_SUBST(BLUEZ_CFLAGS)
975 AC_SUBST(BLUEZ_LIBS)
976 AC_SUBST(HAVE_BLUEZ)
977 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
978
979 #### UDEV support (optional) ####
980
981 AC_ARG_ENABLE([udev],
982     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
983
984 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
985     [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
986     HAVE_UDEV=0)
987
988 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
989     [AC_MSG_ERROR([*** UDEV support not found])])
990
991 AC_SUBST(UDEV_CFLAGS)
992 AC_SUBST(UDEV_LIBS)
993 AC_SUBST(HAVE_UDEV)
994 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
995 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
996
997 #### HAL compat support (optional, dependant on UDEV) ####
998
999 AC_ARG_ENABLE([hal-compat],
1000     AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1001
1002 AS_IF([test "x$enable_hal_compat" != "xno"],
1003     [AS_IF([test "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1004     HAVE_HAL_COMPAT=0)
1005
1006 AS_IF([test "x$enable_hal_compat" = "xyes" && test "x$HAVE_HAL_COMPAT" = "x0"],
1007     [AC_MSG_ERROR([*** HAL-compat support requires UDEV and no HAL])])
1008
1009 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1010 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1011
1012 #### IPv6 connection support (optional) ####
1013
1014 AC_ARG_ENABLE([ipv6],
1015     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1016
1017 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1018
1019 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1020
1021 #### OpenSSL support (optional) ####
1022
1023 AC_ARG_ENABLE([openssl],
1024     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1025
1026 AS_IF([test "x$enable_openssl" != "xno"],
1027     [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1028     HAVE_OPENSSL=0)
1029
1030 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1031     [AC_MSG_ERROR([*** OpenSSL support not found])])
1032
1033 AC_SUBST(OPENSSL_CFLAGS)
1034 AC_SUBST(OPENSSL_LIBS)
1035 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1036 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1037
1038 #### FFTW (optional) ####
1039
1040 AC_ARG_WITH([fftw],
1041     AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1042
1043 AS_IF([test "x$with_fftw" != "xno"],
1044     [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1045     HAVE_FFTW=0)
1046
1047 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1048     [AC_MSG_ERROR([*** FFTW support not found])])
1049
1050 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1051
1052 #### ORC (optional) ####
1053
1054 ORC_CHECK([0.4.11])
1055
1056 #### Build and Install man pages ####
1057
1058 AC_ARG_ENABLE([manpages],
1059     AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1060
1061 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1062
1063 #### PulseAudio system group & user  #####
1064
1065 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1066 if test -z "$with_system_user" ; then
1067     PA_SYSTEM_USER=pulse
1068 else
1069     PA_SYSTEM_USER=$with_system_user
1070 fi
1071 AC_SUBST(PA_SYSTEM_USER)
1072 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1073
1074 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1075 if test -z "$with_system_group" ; then
1076     PA_SYSTEM_GROUP=pulse
1077 else
1078     PA_SYSTEM_GROUP=$with_system_group
1079 fi
1080 AC_SUBST(PA_SYSTEM_GROUP)
1081 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1082
1083 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)]))
1084 if test -z "$with_access_group" ; then
1085     PA_ACCESS_GROUP=pulse-access
1086 else
1087     PA_ACCESS_GROUP=$with_access_group
1088 fi
1089 AC_SUBST(PA_ACCESS_GROUP)
1090 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1091
1092 AC_ARG_ENABLE([per-user-esound-socket],
1093     AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1094
1095 if test "x$enable_per_user_esound_socket" != "xno"; then
1096     USE_PER_USER_ESOUND_SOCKET=1
1097     AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1098 else
1099     USE_PER_USER_ESOUND_SOCKET=0
1100 fi
1101
1102 #### PulseAudio system runtime dir ####
1103
1104 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1105 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1106 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1107 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1108 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1109 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1110
1111 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1112 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1113
1114 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1115 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1116
1117 AC_SUBST(PA_SOEXT, [.so])
1118
1119 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1120 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1121
1122 AC_DEFINE_UNQUOTED(PA_BUILDDIR, "${ac_pwd}/src", [Location of uninstalled binaries])
1123
1124 #### Mac OSX specific stuff #####
1125
1126 AC_ARG_ENABLE(mac-universal,
1127     AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1128     enable_mac_universal=$enableval, enable_mac_universal="no")
1129
1130 AC_ARG_WITH(mac-version-min,
1131     AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1132     mac_version_min=$withval, mac_version_min="10.5")
1133
1134 AC_ARG_WITH(mac-sysroot,
1135     AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1136     mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
1137
1138 if test "x$os_is_darwin" = "x1" ; then
1139     LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1140     CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1141
1142     if test "x$enable_mac_universal" = "xyes" ; then
1143         mac_arches="-arch i386 -arch x86_64"
1144         LDFLAGS="$LDFLAGS $mac_arches"
1145         CFLAGS="$CFLAGS $mac_arches"
1146     fi
1147 fi
1148
1149 AC_ARG_ENABLE([webrtc-aec],
1150     AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1151
1152 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1153     [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1154     [HAVE_WEBRTC=0])
1155
1156 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1157     [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1158
1159 AC_SUBST(WEBRTC_CFLAGS)
1160 AC_SUBST(WEBRTC_LIBS)
1161 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1162
1163
1164 ###################################
1165 #            Output               #
1166 ###################################
1167
1168 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1169
1170 # Check whether to build tests by default (as compile-test) or not
1171 AC_ARG_ENABLE([default-build-tests],
1172     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1173 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1174
1175 AC_ARG_ENABLE([legacy-runtime-dir],
1176         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1177 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1178         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1179 fi
1180
1181 AC_ARG_ENABLE([legacy-database-entry-format],
1182         AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1183 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1184         AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1185 fi
1186 AC_DEFINE([WIBBLE], 1, [Just a test.])
1187
1188 AC_ARG_ENABLE([static-bins],
1189     AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1190 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1191
1192 AC_ARG_WITH(
1193         [preopen-mods],
1194         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1195         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1196 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1197 if test "x$PREOPEN_MODS" != "xall" ; then
1198     tmpLIBS=""
1199     for mod in $PREOPEN_MODS; do
1200         tmpLIBS="$tmpLIBS module-$mod.la"
1201     done
1202     PREOPEN_MODS="$tmpLIBS"
1203     AC_SUBST(PREOPEN_MODS)
1204 fi
1205
1206 AC_ARG_WITH(
1207         [module-dir],
1208         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1209         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1210
1211 AC_SUBST(modlibexecdir)
1212 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1213
1214 AC_ARG_WITH(
1215         [udev-rules-dir],
1216         AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1217         [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1218
1219 AC_SUBST(udevrulesdir)
1220
1221 AC_ARG_ENABLE([force-preopen],
1222     AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1223
1224 if test "x$enable_force_preopen" = "xyes"; then
1225     FORCE_PREOPEN=yes
1226 else
1227     FORCE_PREOPEN=no
1228 fi
1229
1230 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1231
1232 AC_CONFIG_FILES([
1233 Makefile
1234 src/Makefile
1235 man/Makefile
1236 libpulse.pc
1237 libpulse-simple.pc
1238 libpulse-mainloop-glib.pc
1239 doxygen/Makefile
1240 doxygen/doxygen.conf
1241 src/pulse/version.h
1242 po/Makefile.in
1243 man/pulseaudio.1.xml
1244 man/esdcompat.1.xml
1245 man/pax11publish.1.xml
1246 man/paplay.1.xml
1247 man/pacat.1.xml
1248 man/pacmd.1.xml
1249 man/pactl.1.xml
1250 man/pasuspender.1.xml
1251 man/padsp.1.xml
1252 man/pulse-daemon.conf.5.xml
1253 man/pulse-client.conf.5.xml
1254 man/default.pa.5.xml
1255 man/start-pulseaudio-kde.1.xml
1256 man/start-pulseaudio-x11.1.xml
1257 ])
1258
1259 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1260 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1261 AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
1262 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1263 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1264     [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1265 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1266     [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1267 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1268     [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1269
1270 # CMake related ProjectConfig files
1271 PA_LIBDIR="$libdir"
1272 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1273 PA_INCDIR="$includedir"
1274 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1275
1276 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1277     [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1278 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1279
1280 AC_OUTPUT
1281
1282 # ==========================================================================
1283
1284 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1285 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1286 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1287 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1288 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1289 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1290 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1291 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1292 AS_IF([test "x$HAVE_GTK20" = "x1"], ENABLE_GTK20=yes, ENABLE_GTK20=no)
1293 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1294 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1295 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1296 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1297 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1298 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1299 AS_IF([test "x$HAVE_HAL" = "x1"], ENABLE_HAL=yes, ENABLE_HAL=no)
1300 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1301 AS_IF([test "x$HAVE_BLUEZ" = "x1"], ENABLE_BLUEZ=yes, ENABLE_BLUEZ=no)
1302 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1303 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1304 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
1305 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1306 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1307 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1308 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1309 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1310 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1311 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1312 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1313 AS_IF([test "x$USE_PER_USER_ESOUND_SOCKET" = "x1"], ENABLE_PER_USER_ESOUND_SOCKET=yes, ENABLE_PER_USER_ESOUND_SOCKET=no)
1314 AS_IF([test "x$enable_legacy_runtime_dir" != "xno"], ENABLE_LEGACY_RUNTIME_DIR=yes, ENABLE_LEGACY_RUNTIME_DIR=no)
1315 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1316
1317 echo "
1318  ---{ $PACKAGE_NAME $VERSION }---
1319
1320     prefix:                        ${prefix}
1321     sysconfdir:                    ${sysconfdir}
1322     localstatedir:                 ${localstatedir}
1323     modlibexecdir:                 ${modlibexecdir}
1324     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1325     System State Path:             ${PA_SYSTEM_STATE_PATH}
1326     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1327     Compiler:                      ${CC}
1328     CFLAGS:                        ${CFLAGS}
1329     LIBS:                          ${LIBS}
1330
1331     Enable X11:                    ${ENABLE_X11}
1332     Enable OSS Output:             ${ENABLE_OSS_OUTPUT}
1333     Enable OSS Wrapper:            ${ENABLE_OSS_WRAPPER}
1334     Enable Alsa:                   ${ENABLE_ALSA}
1335     Enable CoreAudio:              ${ENABLE_COREAUDIO}
1336     Enable Solaris:                ${ENABLE_SOLARIS}
1337     Enable WaveOut:                ${ENABLE_WAVEOUT}
1338     Enable GLib 2.0:               ${ENABLE_GLIB20}
1339     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1340     Enable GConf:                  ${ENABLE_GCONF}
1341     Enable Avahi:                  ${ENABLE_AVAHI}
1342     Enable Jack:                   ${ENABLE_JACK}
1343     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1344     Enable LIRC:                   ${ENABLE_LIRC}
1345     Enable D-Bus:                  ${ENABLE_DBUS}
1346       Enable HAL:                  ${ENABLE_HAL}
1347       Enable BlueZ:                ${ENABLE_BLUEZ}
1348     Enable udev:                   ${ENABLE_UDEV}
1349       Enable HAL->udev compat:     ${ENABLE_HAL_COMPAT}
1350     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1351     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1352     Enable IPv6:                   ${ENABLE_IPV6}
1353     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1354     Enable fftw:                   ${ENABLE_FFTW}
1355     Enable orc:                    ${ENABLE_ORC}
1356     Enable WebRTC echo canceller:  ${ENABLE_WEBRTC}
1357     Database
1358       tdb:                         ${ENABLE_TDB}
1359       gdbm:                        ${ENABLE_GDBM}
1360       simple database:             ${ENABLE_SIMPLEDB}
1361
1362     System User:                   ${PA_SYSTEM_USER}
1363     System Group:                  ${PA_SYSTEM_GROUP}
1364     Access Group:                  ${PA_ACCESS_GROUP}
1365     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1366     Force preopen:                 ${FORCE_PREOPEN}
1367     Preopened modules:             ${PREOPEN_MODS}
1368
1369     Legacy Runtime Dir Support:    ${ENABLE_LEGACY_RUNTIME_DIR}
1370     Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1371 "
1372
1373 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1374    echo "
1375 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1376 You do not have D-Bus support enabled. It is strongly recommended
1377 that you enable D-Bus support if your platform supports it.
1378 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1379 to the Device Reservation Protocol to speak to JACK, Bluetooth
1380 support and even a native control protocol for communicating and
1381 controling the PulseAudio daemon itself.
1382 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1383 "
1384 fi
1385
1386 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1387    echo "
1388 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1389 You do not have udev support enabled. It is strongly recommended
1390 that you enable udev support if your platform supports it as it is
1391 the primary method used to detect hardware audio devices (on Linux)
1392 and is thus a critical part of PulseAudio on that platform.
1393 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1394 "
1395 fi