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