2 # Process this file with autoconf to produce a configure script.
4 # This file is part of PulseAudio.
6 # Copyright 2004-2008 Lennart Poettering
7 # Copyright 2006-2007 Pierre Ossman <ossman@cendio.se> for Cendio AB
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.
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.
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.
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])
31 AS_IF([! test -n "$VERSION"], [
32 AC_MSG_ERROR([git-version-gen failed])
35 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
36 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
38 AC_SUBST(PA_MAJOR, pa_major)
39 AC_SUBST(PA_MINOR, pa_minor)
40 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
42 AC_SUBST(PA_API_VERSION, 12)
43 AC_SUBST(PA_PROTOCOL_VERSION, 27)
45 # The stable ABI for client applications, for the version info x:y:z
46 # always will hold y=z
47 AC_SUBST(LIBPULSE_VERSION_INFO, [14:2:14])
49 # A simplified, synchronous, ABI-stable interface for client
50 # applications, for the version info x:y:z always will hold y=z
51 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])
53 # The ABI-stable network browsing interface for client applications,
54 # for the version info x:y:z always will hold y=z
55 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
57 # The ABI-stable GLib adapter for client applications, for the version
58 # info x:y:z always will hold y=z
59 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
62 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
64 AC_CHECK_PROG([STOW], [stow], [yes], [no])
66 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
67 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
68 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
71 AM_SILENT_RULES([yes])
74 #### Checks for programs. ####
85 # Only required if you want the WebRTC canceller -- no runtime dep on
88 AC_PROG_GCC_TRADITIONAL
89 AC_USE_SYSTEM_EXTENSIONS
93 AC_CHECK_PROGS([M4], gm4 m4, no)
94 AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
102 if test "x$enable_nls" != "xno"; then
103 IT_PROG_INTLTOOL([0.35.0])
104 GETTEXT_PACKAGE=pulseaudio
105 AC_SUBST([GETTEXT_PACKAGE])
106 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
109 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
110 AX_DEFINE_DIR(PULSE_LOCALEDIR, pulselocaledir, [Gettext locale dir])
112 # workaround till an intltool m4 bug is fixed upstream
113 # (https://bugs.launchpad.net/intltool/+bug/904647)
119 #### Determine host OS ####
125 AC_MSG_CHECKING([host operating system])
128 AC_MSG_RESULT([linux])
132 AC_MSG_RESULT([darwin])
134 AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
137 AC_MSG_RESULT([win32])
139 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
142 AC_MSG_RESULT([unknown])
146 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
147 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
148 AC_SUBST([OS_IS_WIN32], [$os_is_win32])
150 # Platform specific hacks
153 AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
156 AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
159 AC_DEFINE(_XOPEN_SOURCE, 600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
160 AC_DEFINE(__EXTENSIONS__, 1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
165 #### Compiler flags ####
167 AX_APPEND_COMPILE_FLAGS(
168 [-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],
169 [], [-pedantic -Werror])
171 # Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
172 AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [AX_APPEND_FLAG(["-DFASTPATH"], [CPPFLAGS])])
175 #### Linker flags ####
177 # Check whether the linker supports the -version-script option.
178 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
179 # so that it is expanded the right way in every subdir.
180 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
181 [VERSIONING_LDFLAGS='-Wl,-version-script=$(abs_top_srcdir)/src/map-file'])
182 AC_SUBST([VERSIONING_LDFLAGS])
184 # Use immediate (now) bindings; avoids the funky re-call in itself.
185 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
186 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
187 AC_SUBST([IMMEDIATE_LDFLAGS])
189 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
190 # so we request the nodelete flag to be enabled.
191 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
192 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
193 AC_SUBST([NODELETE_LDFLAGS])
195 # Check for the proper way to build libraries that have no undefined symbols
197 # FreeBSD (et al.) does not complete linking for shared objects when pthreads
198 # are requested, as different implementations are present.
199 *-freebsd* | *-openbsd*) ;;
201 for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
202 AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
206 AC_SUBST([NOUNDEFINED_LDFLAGS])
209 #### Atomic operations ####
211 # Native atomic operation support
212 AC_ARG_ENABLE([atomic-arm-linux-helpers],
213 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
215 AC_ARG_ENABLE([atomic-arm-memory-barrier],
216 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
218 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
219 AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
222 # If everything else fails use libatomic_ops
223 need_libatomic_ops=yes
225 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
226 pulseaudio_cv_sync_bool_compare_and_swap, [
228 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
229 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
230 [pulseaudio_cv_sync_bool_compare_and_swap=no])
233 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
234 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
235 need_libatomic_ops=no
237 # HW specific atomic ops stuff
238 AC_MSG_CHECKING([architecture for native atomic operations])
242 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
243 # The Linux kernel helper functions have been there since 2.6.16. However
244 # compile time checking for kernel version in cross compile environment
245 # (which is usually the case for arm cpu) is tricky (or impossible).
246 if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
248 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
249 need_libatomic_ops=no
252 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
253 pulseaudio_cv_support_arm_atomic_ops, [
255 AC_LANG_PROGRAM([], [[
258 asm volatile ("ldrex %0, [%1]\n"
260 "strexeq %0, %3, [%1]\n"
262 : "r" (&a), "Ir" (o), "r" (n)
264 return (a==1 ? 0 : -1);
266 [pulseaudio_cv_support_arm_atomic_ops=yes],
267 [pulseaudio_cv_support_arm_atomic_ops=no])
269 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
270 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
271 need_libatomic_ops=no
277 need_libatomic_ops=no
281 need_libatomic_ops=no
284 AC_MSG_RESULT([unknown])
289 # If we're on ARM, check for the ARMV6 instructions we need */
292 AC_CACHE_CHECK([support for required armv6 instructions],
293 pulseaudio_cv_support_armv6,
296 [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
297 asm volatile ("ldr r0, %2 \n"
302 "pkhbt r1, r3, r2, LSL #8 \n"
305 : "m" (a), "m" (b), "m" (c)
306 : "r0", "r1", "r2", "r3", "cc");
307 return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
309 [pulseaudio_cv_support_armv6=yes],
310 [pulseaudio_cv_support_armv6=no])
312 AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
313 AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
321 #### libtool stuff ####
324 LT_INIT([dlopen win32-dll disable-static])
326 dnl As an extra safety device, check for lt_dladvise_init() which is
327 dnl only implemented in libtool 2.x, and refine as we go if we have
328 dnl refined requirements.
330 dnl Check the header files first since the system may have a
331 dnl libltdl.so for runtime, but no headers, and we want to bail out as
332 dnl soon as possible.
334 dnl We don't need any special variable for this though, since the user
335 dnl can give the proper place to find libltdl through the standard
336 dnl variables like LDFLAGS and CPPFLAGS.
338 AC_CHECK_HEADER([ltdl.h],
339 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
342 AS_IF([test "x$LIBLTDL" = "x"],
343 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.4 or later installed.])])
347 ###################################
348 # Basic environment checks #
349 ###################################
351 #### Checks for header files. ####
357 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
358 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
359 sys/mman.h sys/select.h sys/socket.h sys/wait.h \
360 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
361 AC_CHECK_HEADERS([netinet/ip.h], [], [],
362 [#include <sys/types.h>
363 #if HAVE_NETINET_IN_H
364 # include <netinet/in.h>
366 #if HAVE_NETINET_IN_SYSTM_H
367 # include <netinet/in_systm.h>
370 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
371 AC_SUBST(HAVE_SYS_RESOURCE_H)
372 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
373 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
374 AC_SUBST(HAVE_AF_UNIX)
377 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
378 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
380 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
383 AC_CHECK_HEADERS_ONCE([sys/filio.h])
386 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
389 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
392 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
393 AC_CHECK_HEADERS_ONCE([byteswap.h])
394 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
395 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
396 AC_CHECK_HEADERS_ONCE([execinfo.h])
397 AC_CHECK_HEADERS_ONCE([langinfo.h])
398 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
401 #### Typdefs, structures, etc. ####
407 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
411 AC_CHECK_DECLS(environ)
414 AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
415 AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
416 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
418 # INADDR_NONE, Solaris lacks this
419 AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
420 [AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
421 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
425 AC_CACHE_CHECK([whether $CC knows _Bool],
428 AC_LANG_PROGRAM([], [[_Bool b;]]),
429 [pulseaudio_cv__Bool=yes],
430 [pulseaudio_cv__Bool=no])
433 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
436 #### Thread support ####
439 AS_IF([test "$ac_cv_tls" == "__thread"],
440 AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
442 # Win32 build breaks with win32 pthread installed
443 AS_IF([test "x$os_is_win32" != "x1"],
446 AS_IF([test "x$ax_pthread_ok" == "xyes"],
447 AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
450 #### Check for libs ####
453 AC_SEARCH_LIBS([pow], [m])
456 AC_SEARCH_LIBS([sched_setscheduler], [rt])
457 AC_SEARCH_LIBS([dlopen], [dl])
458 AC_SEARCH_LIBS([shm_open], [rt])
459 AC_SEARCH_LIBS([inet_ntop], [nsl])
460 AC_SEARCH_LIBS([timer_create], [rt])
461 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
462 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
463 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
466 AC_SEARCH_LIBS([connect], [socket])
467 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
470 if test "x$os_is_darwin" = "x1" ; then
471 AC_MSG_CHECKING([looking for Apple CoreService Framework])
472 # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
473 AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
474 [LIBS="$LIBS -framework CoreServices"],
475 [AC_MSG_ERROR([CoreServices.h header file not found])]
479 AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
483 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
486 AC_SEARCH_LIBS([regexec], [pcreposix])
487 # This magic is needed so we do not needlessly add static libs to the win32 build, disabling its ability to make dlls.
488 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
491 #### Check for functions ####
494 AC_CHECK_FUNCS_ONCE([lrintf strtof])
499 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
500 getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
501 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
502 sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
503 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
504 AC_SUBST(HAVE_MKFIFO)
505 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
508 AC_CHECK_FUNCS_ONCE([readlink])
511 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
514 AC_CHECK_FUNCS_ONCE([strerror_r])
517 AC_CHECK_FUNCS_ONCE([lstat])
520 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
524 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
525 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
527 # Large File-Support (LFS)
529 # Check for open64 to know if the current system does have open64() and similar functions
530 AC_CHECK_FUNCS_ONCE([open64])
533 ###################################
534 # External libraries #
535 ###################################
541 #### X11 (optional) ####
544 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
546 AS_IF([test "x$enable_x11" != "xno"],
547 [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
550 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
551 [AC_MSG_ERROR([*** X11 not found])])
556 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
557 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
559 #### Capabilities (optional) ####
564 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
566 if test "x${with_caps}" != "xno"; then
567 AC_SEARCH_LIBS([cap_init], [cap], [], [
568 if test "x${with_caps}" = "xyes" ; then
569 AC_MSG_ERROR([*** POSIX caps libraries not found])
571 AC_CHECK_HEADERS([sys/capability.h], [], [
572 if test "x${with_caps}" = "xyes" ; then
573 AC_MSG_ERROR([*** POSIX caps headers not found])
577 #### Valgrind (optional) ####
579 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
581 #### check unit tests ####
583 AC_ARG_ENABLE([tests],
584 AS_HELP_STRING([--disable-tests],[Disable unit tests]))
586 AS_IF([test "x$enable_tests" != "xno"],
587 [PKG_CHECK_MODULES(LIBCHECK, [ check ], HAVE_LIBCHECK=1, HAVE_LIBCHECK=0)],
590 AC_SUBST(LIBCHECK_CFLAGS)
591 AC_SUBST(LIBCHECK_LIBS)
593 AS_IF([test "x$enable_tests" = "xyes" && test "x$HAVE_LIBCHECK" = "x0"],
594 [AC_MSG_ERROR([*** check library not found])])
596 AM_CONDITIONAL([HAVE_TESTS], [test "x$HAVE_LIBCHECK" = x1])
598 #### json parsing ####
600 PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])
601 AC_SUBST(LIBJSON_CFLAGS)
602 AC_SUBST(LIBJSON_LIBS)
606 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
607 AC_SUBST(LIBSNDFILE_CFLAGS)
608 AC_SUBST(LIBSNDFILE_LIBS)
612 AC_MSG_CHECKING([whether we need libatomic_ops])
613 if test "x$need_libatomic_ops" = "xyes"; then
615 AC_CHECK_HEADERS([atomic_ops.h],
616 [CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
617 [AC_MSG_ERROR([*** libatomic-ops headers not found])])
619 # Win32 does not need the lib and breaks horribly if we try to include it
620 AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
625 #### Libsamplerate support (optional) ####
627 AC_ARG_ENABLE([samplerate],
628 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]))
630 AS_IF([test "x$enable_samplerate" != "xno"],
631 [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
632 HAVE_LIBSAMPLERATE=0)
634 AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
635 [AC_MSG_ERROR([*** Libsamplerate not found])])
637 AC_SUBST(LIBSAMPLERATE_CFLAGS)
638 AC_SUBST(LIBSAMPLERATE_LIBS)
639 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
640 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
642 #### Database support ####
644 AC_ARG_WITH([database],
645 AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
648 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
649 [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
651 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
653 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
654 [AC_MSG_ERROR([*** tdb not found])])
657 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
660 AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
661 AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
664 AS_IF([test "x$HAVE_GDBM" = "x1"],
671 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
672 [AC_MSG_ERROR([*** gdbm not found])])
675 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
678 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
680 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
681 AC_MSG_ERROR([*** missing database backend]))
686 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
687 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
689 AC_SUBST(GDBM_CFLAGS)
691 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
692 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
694 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
695 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
697 #### OSS support (optional) ####
699 AC_ARG_ENABLE([oss-output],
700 AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
702 AC_ARG_ENABLE([oss-wrapper],
703 AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
705 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
706 [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
709 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
710 [AC_MSG_ERROR([*** OSS support not found])])
712 AS_IF([test "x$enable_oss_output" != "xno"],
713 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
716 AS_IF([test "x$enable_oss_wrapper" != "xno"],
717 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
720 AC_SUBST(HAVE_OSS_OUTPUT)
721 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
722 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
723 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
724 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
726 #### CoreAudio support (optional) ####
728 AC_ARG_ENABLE([coreaudio-output],
729 AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
731 AS_IF([test "x$enable_coreaudio_output" != "xno"],
732 [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
735 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
736 [AC_MSG_ERROR([*** CoreAudio output support not found])])
738 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
740 #### ALSA support (optional) ####
742 AC_ARG_ENABLE([alsa],
743 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
745 AS_IF([test "x$enable_alsa" != "xno"],
746 [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
749 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
750 [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
752 AC_SUBST(ASOUNDLIB_CFLAGS)
753 AC_SUBST(ASOUNDLIB_LIBS)
755 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
756 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
758 #### EsounD support (optional) ####
760 AC_ARG_ENABLE([esound],
761 AS_HELP_STRING([--disable-esound],[Disable optional EsounD support]))
762 AM_CONDITIONAL([HAVE_ESOUND], [test "x$enable_esound" != "xno"])
763 AS_IF([test "x$enable_esound" != "xno"], [HAVE_ESOUND=1])
765 #### Solaris audio support (optional) ####
767 AC_ARG_ENABLE([solaris],
768 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
770 AS_IF([test "x$enable_solaris" != "xno"],
771 [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
774 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
775 [AC_MSG_ERROR([*** Solaris audio support not found])])
777 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
778 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
780 #### WaveOut audio support (optional) ####
782 AC_ARG_ENABLE([waveout],
783 AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
785 AS_IF([test "x$enable_waveout" != "xno"],
786 [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
789 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
790 [AC_MSG_ERROR([*** WaveOut audio support not found])])
792 AC_SUBST(HAVE_WAVEOUT)
793 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
794 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
796 #### GLib 2 support (optional) ####
798 AC_ARG_ENABLE([glib2],
799 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
801 AS_IF([test "x$enable_glib2" != "xno"],
802 [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
805 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
806 [AC_MSG_ERROR([*** GLib 2 support not found])])
808 AC_SUBST(GLIB20_CFLAGS)
809 AC_SUBST(GLIB20_LIBS)
810 AC_SUBST(HAVE_GLIB20)
811 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
812 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
814 #### GTK2 support (optional) ####
816 AC_ARG_ENABLE([gtk2],
817 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]))
819 AS_IF([test "x$enable_gtk2" != "xno"],
820 [PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ], HAVE_GTK20=1, HAVE_GTK20=0)],
823 AS_IF([test "x$enable_gtk2" = "xyes" && test "x$HAVE_GTK20" = "x0"],
824 [AC_MSG_ERROR([*** Gtk+ 2 support not found])])
826 AC_SUBST(GTK20_CFLAGS)
828 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
829 AS_IF([test "x$HAVE_GTK20" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
831 #### GConf support (optional) ####
833 AC_ARG_ENABLE([gconf],
834 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
836 AS_IF([test "x$enable_gconf" != "xno"],
837 [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
840 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
841 [AC_MSG_ERROR([*** GConf support not found])])
843 AC_SUBST(GCONF_CFLAGS)
845 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
847 #### Avahi support (optional) ####
849 AC_ARG_ENABLE([avahi],
850 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
852 AS_IF([test "x$enable_avahi" != "xno"],
853 [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
856 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
857 [AC_MSG_ERROR([*** Avahi support not found])])
859 AC_SUBST(AVAHI_CFLAGS)
862 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
864 #### JACK (optional) ####
866 AC_ARG_ENABLE([jack],
867 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
869 AS_IF([test "x$enable_jack" != "xno"],
870 [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
873 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
874 [AC_MSG_ERROR([*** JACK support not found])])
876 AC_SUBST(JACK_CFLAGS)
878 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
880 #### Async DNS support (optional) ####
882 AC_ARG_ENABLE([asyncns],
883 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
885 AS_IF([test "x$enable_asyncns" != "xno"],
886 [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
889 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
890 [AC_MSG_ERROR([*** Async DNS support not found])])
892 AC_SUBST(LIBASYNCNS_CFLAGS)
893 AC_SUBST(LIBASYNCNS_LIBS)
894 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
895 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
897 #### TCP wrappers (optional) ####
899 AC_ARG_ENABLE([tcpwrap],
900 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
902 AS_IF([test "x$enable_tcpwrap" != "xno"],
905 AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
909 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
910 [AC_MSG_ERROR([*** TCP wrappers support not found])])
912 AC_SUBST(LIBWRAP_LIBS)
914 #### LIRC support (optional) ####
916 AC_ARG_ENABLE([lirc],
917 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
922 AS_IF([test "x$enable_lirc" != "xno"],
925 AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
926 AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
930 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
931 [AC_MSG_ERROR([*** LIRC support not found])])
933 AC_SUBST(LIRC_CFLAGS)
935 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
937 #### D-Bus support (optional) ####
939 AC_ARG_ENABLE([dbus],
940 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
942 AS_IF([test "x$enable_dbus" != "xno"],
943 [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.3.0 ], HAVE_DBUS=1, HAVE_DBUS=0)],
946 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
947 [AC_MSG_ERROR([*** D-Bus (1.3.0+) support not found])])
949 AS_IF([test "x$HAVE_DBUS" = "x1"],
951 save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
952 save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
953 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
954 CFLAGS="$save_CFLAGS"
958 AC_SUBST(DBUS_CFLAGS)
961 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
962 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
964 PA_MACHINE_ID="${sysconfdir}/machine-id"
965 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
966 PA_MACHINE_ID_FALLBACK="${localstatedir}/lib/dbus/machine-id"
967 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
968 [Fallback machine-id file])
970 #### BlueZ support (optional, dependant on D-Bus) ####
972 AC_ARG_ENABLE([bluez],
973 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]))
975 AS_IF([test "x$enable_bluez" != "xno"],
976 [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
978 AS_IF([test "x$enable_bluez" != "xno"],
979 [PKG_CHECK_MODULES(SBC, [ sbc >= 1.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
981 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_BLUEZ=0)
983 AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"],
984 [AC_MSG_ERROR([*** BLUEZ support not found (requires D-Bus)])])
986 AC_SUBST(BLUEZ_CFLAGS)
989 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
991 #### UDEV support (optional) ####
993 AC_ARG_ENABLE([udev],
994 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
996 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
997 [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
1000 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
1001 [AC_MSG_ERROR([*** UDEV support not found])])
1003 AC_SUBST(UDEV_CFLAGS)
1006 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1007 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
1009 #### HAL compat support (optional, dependant on UDEV) ####
1011 AC_ARG_ENABLE([hal-compat],
1012 AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1014 AS_IF([test "x$enable_hal_compat" != "xno"],
1015 [AS_IF([test "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1018 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1019 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1021 #### IPv6 connection support (optional) ####
1023 AC_ARG_ENABLE([ipv6],
1024 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1026 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1028 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1030 #### OpenSSL support (optional) ####
1032 AC_ARG_ENABLE([openssl],
1033 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1035 AS_IF([test "x$enable_openssl" != "xno"],
1036 [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1039 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1040 [AC_MSG_ERROR([*** OpenSSL support not found])])
1042 AC_SUBST(OPENSSL_CFLAGS)
1043 AC_SUBST(OPENSSL_LIBS)
1044 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1045 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1047 #### FFTW (optional) ####
1050 AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1052 AS_IF([test "x$with_fftw" != "xno"],
1053 [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1056 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1057 [AC_MSG_ERROR([*** FFTW support not found])])
1059 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1061 #### speex (optional) ####
1063 AC_ARG_WITH([speex],
1064 AS_HELP_STRING([--without-speex],[Omit speex (resampling, AEC)]))
1066 AS_IF([test "x$with_speex" != "xno"],
1067 [PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ], HAVE_SPEEX=1, HAVE_SPEEX=0)],
1070 AS_IF([test "x$with_speex" = "xyes" && test "x$HAVE_SPEEX" = "x0"],
1071 [AC_MSG_ERROR([*** speex support not found])])
1073 AM_CONDITIONAL([HAVE_SPEEX], [test "x$HAVE_SPEEX" = "x1"])
1074 AS_IF([test "x$HAVE_SPEEX" = "x1"], AC_DEFINE([HAVE_SPEEX], 1, [Have speex]))
1076 AC_SUBST(LIBSPEEX_CFLAGS)
1077 AC_SUBST(LIBSPEEX_LIBS)
1079 #### Xen support (optional) ####
1081 AC_ARG_ENABLE([xen],
1082 AS_HELP_STRING([--disable-xen],[Disable optional Xen paravirtualized driver]))
1087 AS_IF([test "x$enable_xen" != "xno"],
1090 AC_CHECK_HEADER(xenctrl.h, [], [HAVE_XEN=0])
1091 AC_CHECK_HEADER(xs.h, [], [HAVE_XEN=0])
1092 AC_CHECK_LIB(xenctrl, xc_interface_open, [XEN_LIBS="$XEN_LIBS -lxenctrl"], [HAVE_XEN=0])
1093 AC_CHECK_LIB(xenstore, xs_domain_open, [XEN_LIBS="$XEN_LIBS -lxenstore"], [HAVE_XEN=0])
1097 AS_IF([test "x$enable_xen" = "xyes" && test "x$HAVE_XEN" = "x0"],
1098 [AC_MSG_ERROR([*** Xen development headers or libraries not found])])
1100 AC_SUBST(XEN_CFLAGS)
1102 AM_CONDITIONAL([HAVE_XEN], [test "x$HAVE_XEN" = x1])
1104 #### gcov support (optional) #####
1106 AC_ARG_ENABLE([gcov],
1107 AS_HELP_STRING([--enable-gcov],[Enable optional gcov coverage analysis]))
1112 AS_IF([test "x$enable_gcov" = "xyes"],
1115 GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs -ftest-coverage"
1116 GCOV_LIBS="$GCOV_LIBS -fprofile-arcs"
1120 AC_SUBST(GCOV_CFLAGS)
1122 AM_CONDITIONAL([HAVE_GCOV], [test "x$HAVE_GCOV" = x1])
1124 #### ORC (optional) ####
1128 #### systemd support (optional) ####
1130 AC_ARG_ENABLE([systemd],
1131 AS_HELP_STRING([--disable-systemd],[Disable optional systemd support]))
1133 AS_IF([test "x$enable_systemd" != "xno"],
1134 [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd-login libsystemd-daemon ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
1137 AS_IF([test "x$enable_systemd" = "xyes" && test "x$HAVE_SYSTEMD" = "x0"],
1138 [AC_MSG_ERROR([*** Needed systemd support not found])])
1140 AC_SUBST(HAVE_SYSTEMD)
1141 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$HAVE_SYSTEMD" = x1])
1142 AS_IF([test "x$HAVE_SYSTEMD" = "x1"], AC_DEFINE([HAVE_SYSTEMD], 1, [Have SYSTEMD?]))
1144 #### Build and Install man pages ####
1146 AC_ARG_ENABLE([manpages],
1147 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1149 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1151 #### PulseAudio system group & user #####
1153 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1154 if test -z "$with_system_user" ; then
1155 PA_SYSTEM_USER=pulse
1157 PA_SYSTEM_USER=$with_system_user
1159 AC_SUBST(PA_SYSTEM_USER)
1160 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1162 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1163 if test -z "$with_system_group" ; then
1164 PA_SYSTEM_GROUP=pulse
1166 PA_SYSTEM_GROUP=$with_system_group
1168 AC_SUBST(PA_SYSTEM_GROUP)
1169 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1171 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)]))
1172 if test -z "$with_access_group" ; then
1173 PA_ACCESS_GROUP=pulse-access
1175 PA_ACCESS_GROUP=$with_access_group
1177 AC_SUBST(PA_ACCESS_GROUP)
1178 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1180 AC_ARG_ENABLE([per-user-esound-socket],
1181 AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1183 if test "x$enable_per_user_esound_socket" != "xno"; then
1184 USE_PER_USER_ESOUND_SOCKET=1
1185 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1187 USE_PER_USER_ESOUND_SOCKET=0
1190 #### PulseAudio system runtime dir ####
1192 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1193 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1194 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1195 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1196 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1197 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1199 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1200 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1202 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1203 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1205 AC_SUBST(PA_SOEXT, [.so])
1207 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1208 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1210 AC_DEFINE_UNQUOTED(PA_BUILDDIR, "${ac_pwd}/src", [Location of uninstalled binaries])
1212 #### Mac OSX specific stuff #####
1214 AC_ARG_ENABLE(mac-universal,
1215 AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1216 enable_mac_universal=$enableval, enable_mac_universal="no")
1218 AC_ARG_WITH(mac-version-min,
1219 AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1220 mac_version_min=$withval, mac_version_min="10.5")
1222 AC_ARG_WITH(mac-sysroot,
1223 AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1224 mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
1226 if test "x$os_is_darwin" = "x1" ; then
1227 LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1228 CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1230 if test "x$enable_mac_universal" = "xyes" ; then
1231 mac_arches="-arch i386 -arch x86_64"
1232 LDFLAGS="$LDFLAGS $mac_arches"
1233 CFLAGS="$CFLAGS $mac_arches"
1237 AC_ARG_ENABLE([webrtc-aec],
1238 AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1240 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1241 [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1244 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1245 [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1247 AC_SUBST(WEBRTC_CFLAGS)
1248 AC_SUBST(WEBRTC_LIBS)
1249 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1251 AC_ARG_ENABLE([adrian-aec],
1252 AS_HELP_STRING([--enable-adrian-aec], [Enable Adrian's optional echo canceller]))
1253 AS_IF([test "x$enable_adrian_aec" != "xno"],
1255 AM_CONDITIONAL([HAVE_ADRIAN_EC], [test "x$HAVE_ADRIAN_EC" = "x1"])
1259 ###################################
1261 ###################################
1263 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1265 # Check whether to build tests by default (as compile-test) or not
1266 AC_ARG_ENABLE([default-build-tests],
1267 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1268 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1270 AC_ARG_ENABLE([legacy-database-entry-format],
1271 AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1272 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1273 AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1275 AC_DEFINE([WIBBLE], 1, [Just a test.])
1277 AC_ARG_ENABLE([static-bins],
1278 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1279 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1283 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1284 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1285 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1286 if test "x$PREOPEN_MODS" != "xall" ; then
1288 for mod in $PREOPEN_MODS; do
1289 tmpLIBS="$tmpLIBS module-$mod.la"
1291 PREOPEN_MODS="$tmpLIBS"
1292 AC_SUBST(PREOPEN_MODS)
1297 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1298 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1300 AC_SUBST(modlibexecdir)
1301 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1305 AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1306 [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1308 AC_SUBST(udevrulesdir)
1310 AC_ARG_ENABLE([force-preopen],
1311 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1313 if test "x$enable_force_preopen" = "xyes"; then
1319 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1327 libpulse-mainloop-glib.pc
1329 doxygen/doxygen.conf
1332 man/pulseaudio.1.xml
1334 man/pax11publish.1.xml
1339 man/pasuspender.1.xml
1341 man/pulse-daemon.conf.5.xml
1342 man/pulse-client.conf.5.xml
1343 man/default.pa.5.xml
1344 man/pulse-cli-syntax.5.xml
1345 man/start-pulseaudio-kde.1.xml
1346 man/start-pulseaudio-x11.1.xml
1349 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1350 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1351 AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
1352 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1353 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1354 [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1355 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1356 [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1357 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1358 [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1360 # CMake related ProjectConfig files
1362 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1363 PA_INCDIR="$includedir"
1364 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1366 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1367 [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1368 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1372 # ==========================================================================
1374 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1375 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1376 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1377 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1378 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1379 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1380 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1381 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1382 AS_IF([test "x$HAVE_GTK20" = "x1"], ENABLE_GTK20=yes, ENABLE_GTK20=no)
1383 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1384 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1385 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1386 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1387 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1388 AS_IF([test "x$HAVE_XEN" = "x1"], ENABLE_XEN=yes, ENABLE_XEN=no)
1389 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1390 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1391 AS_IF([test "x$HAVE_SYSTEMD" = "x1"], ENABLE_SYSTEMD=yes, ENABLE_SYSTEMD=no)
1392 AS_IF([test "x$HAVE_BLUEZ" = "x1"], ENABLE_BLUEZ=yes, ENABLE_BLUEZ=no)
1393 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1394 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1395 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
1396 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1397 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1398 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1399 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1400 AS_IF([test "x$HAVE_ADRIAN_EC" = "x1"], ENABLE_ADRIAN_EC=yes, ENABLE_ADRIAN_EC=no)
1401 AS_IF([test "x$HAVE_SPEEX" = "x1"], ENABLE_SPEEX=yes, ENABLE_SPEEX=no)
1402 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1403 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1404 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1405 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1406 AS_IF([test "x$HAVE_ESOUND" = "x1"], ENABLE_ESOUND=yes, ENABLE_ESOUND=no)
1407 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)
1408 AS_IF([test "x$HAVE_GCOV" = "x1"], ENABLE_GCOV=yes, ENABLE_GCOV=no)
1409 AS_IF([test "x$HAVE_LIBCHECK" = "x1"], ENABLE_TESTS=yes, ENABLE_TESTS=no)
1410 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1413 ---{ $PACKAGE_NAME $VERSION }---
1416 sysconfdir: ${sysconfdir}
1417 localstatedir: ${localstatedir}
1418 modlibexecdir: ${modlibexecdir}
1419 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1420 System State Path: ${PA_SYSTEM_STATE_PATH}
1421 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1426 Enable X11: ${ENABLE_X11}
1427 Enable OSS Output: ${ENABLE_OSS_OUTPUT}
1428 Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
1429 Enable EsounD: ${ENABLE_ESOUND}
1430 Enable Alsa: ${ENABLE_ALSA}
1431 Enable CoreAudio: ${ENABLE_COREAUDIO}
1432 Enable Solaris: ${ENABLE_SOLARIS}
1433 Enable WaveOut: ${ENABLE_WAVEOUT}
1434 Enable GLib 2.0: ${ENABLE_GLIB20}
1435 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1436 Enable GConf: ${ENABLE_GCONF}
1437 Enable Avahi: ${ENABLE_AVAHI}
1438 Enable Jack: ${ENABLE_JACK}
1439 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1440 Enable LIRC: ${ENABLE_LIRC}
1441 Enable Xen PV driver: ${ENABLE_XEN}
1442 Enable D-Bus: ${ENABLE_DBUS}
1443 Enable BlueZ: ${ENABLE_BLUEZ}
1444 Enable udev: ${ENABLE_UDEV}
1445 Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
1446 Enable systemd login: ${ENABLE_SYSTEMD}
1447 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1448 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1449 Enable IPv6: ${ENABLE_IPV6}
1450 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1451 Enable fftw: ${ENABLE_FFTW}
1452 Enable orc: ${ENABLE_ORC}
1453 Enable Adrian echo canceller: ${ENABLE_ADRIAN_EC}
1454 Enable speex (resampler, AEC): ${ENABLE_SPEEX}
1455 Enable WebRTC echo canceller: ${ENABLE_WEBRTC}
1456 Enable gcov coverage: ${ENABLE_GCOV}
1457 Enable unit tests: ${ENABLE_TESTS}
1460 gdbm: ${ENABLE_GDBM}
1461 simple database: ${ENABLE_SIMPLEDB}
1463 System User: ${PA_SYSTEM_USER}
1464 System Group: ${PA_SYSTEM_GROUP}
1465 Access Group: ${PA_ACCESS_GROUP}
1466 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1467 Force preopen: ${FORCE_PREOPEN}
1468 Preopened modules: ${PREOPEN_MODS}
1470 Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1473 if test "${ENABLE_SPEEX}" = "no" && test "${ENABLE_WEBRTC}" = "no" && test "${ENABLE_ADRIAN_EC}" = "no" ; then
1474 AC_MSG_ERROR([At least one echo canceller implementation must be available.])
1477 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1479 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1480 You do not have D-Bus support enabled. It is strongly recommended
1481 that you enable D-Bus support if your platform supports it.
1482 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1483 to the Device Reservation Protocol to speak to JACK, Bluetooth
1484 support and even a native control protocol for communicating and
1485 controling the PulseAudio daemon itself.
1486 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1490 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1492 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1493 You do not have udev support enabled. It is strongly recommended
1494 that you enable udev support if your platform supports it as it is
1495 the primary method used to detect hardware audio devices (on Linux)
1496 and is thus a critical part of PulseAudio on that platform.
1497 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1501 if test "${ENABLE_SPEEX}" = "no" && test "x$os_is_win32" != "x1" ; then
1503 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1504 You do not have speex support enabled. It is strongly recommended
1505 that you enable speex support if your platform supports it as it is
1506 the primary method used for audio resampling and is thus a critical
1507 part of PulseAudio on that platform.
1508 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====