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 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
32 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
34 AC_SUBST(PA_MAJOR, pa_major)
35 AC_SUBST(PA_MINOR, pa_minor)
36 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
38 AC_SUBST(PA_API_VERSION, 12)
39 AC_SUBST(PA_PROTOCOL_VERSION, 23)
41 # The stable ABI for client applications, for the version info x:y:z
42 # always will hold y=z
43 AC_SUBST(LIBPULSE_VERSION_INFO, [13:4:13])
45 # A simplified, synchronous, ABI-stable interface for client
46 # applications, for the version info x:y:z always will hold y=z
47 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])
49 # The ABI-stable network browsing interface for client applications,
50 # for the version info x:y:z always will hold y=z
51 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
53 # The ABI-stable GLib adapter for client applications, for the version
54 # info x:y:z always will hold y=z
55 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
58 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
60 AC_CHECK_PROG([STOW], [stow], [yes], [no])
62 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
63 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
64 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
67 AM_SILENT_RULES([yes])
70 #### Checks for programs. ####
81 # Only required if you want the WebRTC canceller -- no runtime dep on
84 AC_PROG_GCC_TRADITIONAL
85 AC_USE_SYSTEM_EXTENSIONS
89 AC_CHECK_PROGS([M4], gm4 m4, no)
90 AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
98 IT_PROG_INTLTOOL([0.35.0])
99 GETTEXT_PACKAGE=pulseaudio
100 AC_SUBST([GETTEXT_PACKAGE])
101 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
104 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
105 AX_DEFINE_DIR(PULSE_LOCALEDIR, pulselocaledir, [Gettext locale dir])
108 #### Determine host OS ####
114 AC_MSG_CHECKING([host operating system])
117 AC_MSG_RESULT([linux])
121 AC_MSG_RESULT([darwin])
123 AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
126 AC_MSG_RESULT([win32])
128 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
131 AC_MSG_RESULT([unknown])
135 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
136 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
137 AC_SUBST([OS_IS_WIN32], [$os_is_win32])
139 # Platform specific hacks
142 AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
145 AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
148 AC_DEFINE(_XOPEN_SOURCE, 600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
149 AC_DEFINE(__EXTENSIONS__, 1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
154 #### Compiler flags ####
156 AX_APPEND_COMPILE_FLAGS(
157 [-Wall -W -Wextra -pipe -Wno-long-long -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option],
158 [], [-pedantic -Werror])
161 #### Linker flags ####
163 # Check whether the linker supports the -version-script option.
164 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
165 # so that it is expanded the right way in every subdir.
166 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
167 [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
168 AC_SUBST([VERSIONING_LDFLAGS])
170 # Use immediate (now) bindings; avoids the funky re-call in itself.
171 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
172 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
173 AC_SUBST([IMMEDIATE_LDFLAGS])
175 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
176 # so we request the nodelete flag to be enabled.
177 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
178 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
179 AC_SUBST([NODELETE_LDFLAGS])
181 # Check for the proper way to build libraries that have no undefined symbols
183 # FreeBSD (et al.) does not complete linking for shared objects when pthreads
184 # are requested, as different implementations are present.
185 *-freebsd* | *-openbsd*) ;;
187 for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
188 AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
192 AC_SUBST([NOUNDEFINED_LDFLAGS])
195 #### Atomic operations ####
197 # Native atomic operation support
198 AC_ARG_ENABLE([atomic-arm-linux-helpers],
199 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
201 AC_ARG_ENABLE([atomic-arm-memory-barrier],
202 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
204 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
205 AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
208 # If everything else fails use libatomic_ops
209 need_libatomic_ops=yes
211 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
212 pulseaudio_cv_sync_bool_compare_and_swap, [
214 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
215 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
216 [pulseaudio_cv_sync_bool_compare_and_swap=no])
219 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
220 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
221 need_libatomic_ops=no
223 # HW specific atomic ops stuff
224 AC_MSG_CHECKING([architecture for native atomic operations])
228 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
229 # The Linux kernel helper functions have been there since 2.6.16. However
230 # compile time checking for kernel version in cross compile environment
231 # (which is usually the case for arm cpu) is tricky (or impossible).
232 if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
234 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
235 need_libatomic_ops=no
238 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
239 pulseaudio_cv_support_arm_atomic_ops, [
241 AC_LANG_PROGRAM([], [[
244 asm volatile ("ldrex %0, [%1]\n"
246 "strexeq %0, %3, [%1]\n"
248 : "r" (&a), "Ir" (o), "r" (n)
250 return (a==1 ? 0 : -1);
252 [pulseaudio_cv_support_arm_atomic_ops=yes],
253 [pulseaudio_cv_support_arm_atomic_ops=no])
255 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
256 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
257 need_libatomic_ops=no
263 need_libatomic_ops=no
267 need_libatomic_ops=no
270 AC_MSG_RESULT([unknown])
275 # If we're on ARM, check for the ARMV6 instructions we need */
278 AC_CACHE_CHECK([support for required armv6 instructions],
279 pulseaudio_cv_support_armv6,
282 [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
283 asm volatile ("ldr r0, %2 \n"
288 "pkhbt r1, r3, r2, LSL #8 \n"
291 : "m" (a), "m" (b), "m" (c)
292 : "r0", "r1", "r2", "r3", "cc");
293 return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
295 [pulseaudio_cv_support_armv6=yes],
296 [pulseaudio_cv_support_armv6=no])
298 AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
299 AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
307 #### libtool stuff ####
310 LT_INIT([dlopen win32-dll disable-static])
312 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
313 dnl exactly which version of libltdl is present in the system, so we
314 dnl just assume that it's a working version as long as we have the
315 dnl library and the header files.
317 dnl As an extra safety device, check for lt_dladvise_init() which is
318 dnl only implemented in libtool 2.x, and refine as we go if we have
319 dnl refined requirements.
321 dnl Check the header files first since the system may have a
322 dnl libltdl.so for runtime, but no headers, and we want to bail out as
323 dnl soon as possible.
325 dnl We don't need any special variable for this though, since the user
326 dnl can give the proper place to find libltdl through the standard
327 dnl variables like LDFLAGS and CPPFLAGS.
329 AC_CHECK_HEADER([ltdl.h],
330 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
333 AS_IF([test "x$LIBLTDL" = "x"],
334 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
338 ###################################
339 # Basic environment checks #
340 ###################################
342 #### Checks for header files. ####
348 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
349 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
350 sys/mman.h sys/select.h sys/socket.h sys/wait.h \
351 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
352 AC_CHECK_HEADERS([netinet/ip.h], [], [],
353 [#include <sys/types.h>
354 #if HAVE_NETINET_IN_H
355 # include <netinet/in.h>
357 #if HAVE_NETINET_IN_SYSTM_H
358 # include <netinet/in_systm.h>
361 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
362 AC_SUBST(HAVE_SYS_RESOURCE_H)
363 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
364 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
365 AC_SUBST(HAVE_AF_UNIX)
368 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
369 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
371 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
374 AC_CHECK_HEADERS_ONCE([sys/filio.h])
377 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
380 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
383 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
384 AC_CHECK_HEADERS_ONCE([byteswap.h])
385 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
386 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
387 AC_CHECK_HEADERS_ONCE([execinfo.h])
388 AC_CHECK_HEADERS_ONCE([langinfo.h])
389 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
392 #### Typdefs, structures, etc. ####
398 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
402 AC_CHECK_DECLS(environ)
405 AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
406 AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
407 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
409 # INADDR_NONE, Solaris lacks this
410 AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
411 [AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
412 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
416 AC_CACHE_CHECK([whether $CC knows _Bool],
419 AC_LANG_PROGRAM([], [[_Bool b;]]),
420 [pulseaudio_cv__Bool=yes],
421 [pulseaudio_cv__Bool=no])
424 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
427 #### Thread support ####
430 AS_IF([test "$ac_cv_tls" == "__thread"],
431 AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
433 # Win32 build breaks with win32 pthread installed
434 AS_IF([test "x$os_is_win32" != "x1"],
437 AS_IF([test "x$ax_pthread_ok" == "xyes"],
438 AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
441 #### Check for libs ####
444 AC_SEARCH_LIBS([pow], [m])
447 AC_SEARCH_LIBS([sched_setscheduler], [rt])
448 AC_SEARCH_LIBS([dlopen], [dl])
449 AC_SEARCH_LIBS([shm_open], [rt])
450 AC_SEARCH_LIBS([inet_ntop], [nsl])
451 AC_SEARCH_LIBS([timer_create], [rt])
452 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
453 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
454 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
457 AC_SEARCH_LIBS([connect], [socket])
458 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
461 if test "x$os_is_darwin" = "x1" ; then
462 AC_MSG_CHECKING([looking for Apple CoreService Framework])
463 # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
464 AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
465 [LIBS="$LIBS -framework CoreServices"],
466 [AC_MSG_ERROR([CoreServices.h header file not found])]
470 AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
474 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
477 AC_SEARCH_LIBS([regexec], [pcreposix])
478 # This magic is needed so we do not needlessly add static libs to the win32 build, disabling its ability to make dlls.
479 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
482 #### Check for functions ####
485 AC_CHECK_FUNCS_ONCE([lrintf strtof])
490 AC_FUNC_SELECT_ARGTYPES
491 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
492 getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
493 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
494 sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
495 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
496 AC_SUBST(HAVE_MKFIFO)
497 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
500 AC_CHECK_FUNCS_ONCE([readlink])
503 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
506 AC_CHECK_FUNCS_ONCE([strerror_r])
509 AC_CHECK_FUNCS_ONCE([lstat])
512 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
516 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
517 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
519 # Large File-Support (LFS)
521 # Check for open64 to know if the current system does have open64() and similar functions
522 AC_CHECK_FUNCS_ONCE([open64])
525 ###################################
526 # External libraries #
527 ###################################
533 #### X11 (optional) ####
536 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
538 AS_IF([test "x$enable_x11" != "xno"],
539 [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
542 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
543 [AC_MSG_ERROR([*** X11 not found])])
548 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
549 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
551 #### Capabilities (optional) ####
556 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
558 if test "x${with_caps}" != "xno"; then
559 AC_SEARCH_LIBS([cap_init], [cap], [], [
560 if test "x${with_caps}" = "xyes" ; then
561 AC_MSG_ERROR([*** POSIX caps libraries not found])
563 AC_CHECK_HEADERS([sys/capability.h], [], [
564 if test "x${with_caps}" = "xyes" ; then
565 AC_MSG_ERROR([*** POSIX caps headers not found])
569 #### Valgrind (optional) ####
571 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
573 #### json parsing ####
575 PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])
576 AC_SUBST(LIBJSON_CFLAGS)
577 AC_SUBST(LIBJSON_LIBS)
581 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
582 AC_SUBST(LIBSNDFILE_CFLAGS)
583 AC_SUBST(LIBSNDFILE_LIBS)
585 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
586 AC_SUBST(LIBSPEEX_CFLAGS)
587 AC_SUBST(LIBSPEEX_LIBS)
591 AC_MSG_CHECKING([whether we need libatomic_ops])
592 if test "x$need_libatomic_ops" = "xyes"; then
594 AC_CHECK_HEADERS([atomic_ops.h],
595 [CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
596 [AC_MSG_ERROR([*** libatomic-ops headers not found])])
598 # Win32 does not need the lib and breaks horribly if we try to include it
599 AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
604 #### Libsamplerate support (optional) ####
606 AC_ARG_ENABLE([samplerate],
607 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]))
609 AS_IF([test "x$enable_samplerate" != "xno"],
610 [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
611 HAVE_LIBSAMPLERATE=0)
613 AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
614 [AC_MSG_ERROR([*** Libsamplerate not found])])
616 AC_SUBST(LIBSAMPLERATE_CFLAGS)
617 AC_SUBST(LIBSAMPLERATE_LIBS)
618 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
619 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
621 #### Database support ####
623 AC_ARG_WITH([database],
624 AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
627 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
628 [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
630 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
632 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
633 [AC_MSG_ERROR([*** tdb not found])])
636 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
639 AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
640 AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
643 AS_IF([test "x$HAVE_GDBM" = "x1"],
650 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
651 [AC_MSG_ERROR([*** gdbm not found])])
654 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
657 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
659 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
660 AC_MSG_ERROR([*** missing database backend]))
665 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
666 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
668 AC_SUBST(GDBM_CFLAGS)
670 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
671 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
673 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
674 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
676 #### OSS support (optional) ####
678 AC_ARG_ENABLE([oss-output],
679 AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
681 AC_ARG_ENABLE([oss-wrapper],
682 AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
684 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
685 [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
688 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
689 [AC_MSG_ERROR([*** OSS support not found])])
691 AS_IF([test "x$enable_oss_output" != "xno"],
692 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
695 AS_IF([test "x$enable_oss_wrapper" != "xno"],
696 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
699 AC_SUBST(HAVE_OSS_OUTPUT)
700 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
701 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
702 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
703 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
705 #### CoreAudio support (optional) ####
707 AC_ARG_ENABLE([coreaudio-output],
708 AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
710 AS_IF([test "x$enable_coreaudio_output" != "xno"],
711 [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
714 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
715 [AC_MSG_ERROR([*** CoreAudio output support not found])])
717 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
719 #### ALSA support (optional) ####
721 AC_ARG_ENABLE([alsa],
722 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
724 AS_IF([test "x$enable_alsa" != "xno"],
725 [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
728 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
729 [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
731 AC_SUBST(ASOUNDLIB_CFLAGS)
732 AC_SUBST(ASOUNDLIB_LIBS)
734 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
735 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
737 #### Solaris audio support (optional) ####
739 AC_ARG_ENABLE([solaris],
740 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
742 AS_IF([test "x$enable_solaris" != "xno"],
743 [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
746 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
747 [AC_MSG_ERROR([*** Solaris audio support not found])])
749 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
750 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
752 #### WaveOut audio support (optional) ####
754 AC_ARG_ENABLE([waveout],
755 AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
757 AS_IF([test "x$enable_waveout" != "xno"],
758 [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
761 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
762 [AC_MSG_ERROR([*** WaveOut audio support not found])])
764 AC_SUBST(HAVE_WAVEOUT)
765 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
766 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
768 #### GLib 2 support (optional) ####
770 AC_ARG_ENABLE([glib2],
771 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
773 AS_IF([test "x$enable_glib2" != "xno"],
774 [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
777 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
778 [AC_MSG_ERROR([*** GLib 2 support not found])])
780 AC_SUBST(GLIB20_CFLAGS)
781 AC_SUBST(GLIB20_LIBS)
782 AC_SUBST(HAVE_GLIB20)
783 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
784 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
786 #### GTK2 support (optional) ####
788 AC_ARG_ENABLE([gtk2],
789 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]))
791 AS_IF([test "x$enable_gtk2" != "xno"],
792 [PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ], HAVE_GTK20=1, HAVE_GTK20=0)],
795 AS_IF([test "x$enable_gtk2" = "xyes" && test "x$HAVE_GTK20" = "x0"],
796 [AC_MSG_ERROR([*** Gtk+ 2 support not found])])
798 AC_SUBST(GTK20_CFLAGS)
800 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
801 AS_IF([test "x$HAVE_GTK20" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
803 #### GConf support (optional) ####
805 AC_ARG_ENABLE([gconf],
806 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
808 AS_IF([test "x$enable_gconf" != "xno"],
809 [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
812 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
813 [AC_MSG_ERROR([*** GConf support not found])])
815 AC_SUBST(GCONF_CFLAGS)
817 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
819 #### Avahi support (optional) ####
821 AC_ARG_ENABLE([avahi],
822 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
824 AS_IF([test "x$enable_avahi" != "xno"],
825 [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
828 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
829 [AC_MSG_ERROR([*** Avahi support not found])])
831 AC_SUBST(AVAHI_CFLAGS)
834 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
836 #### JACK (optional) ####
838 AC_ARG_ENABLE([jack],
839 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
841 AS_IF([test "x$enable_jack" != "xno"],
842 [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
845 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
846 [AC_MSG_ERROR([*** JACK support not found])])
848 AC_SUBST(JACK_CFLAGS)
850 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
852 #### Async DNS support (optional) ####
854 AC_ARG_ENABLE([asyncns],
855 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
857 AS_IF([test "x$enable_asyncns" != "xno"],
858 [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
861 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
862 [AC_MSG_ERROR([*** Async DNS support not found])])
864 AC_SUBST(LIBASYNCNS_CFLAGS)
865 AC_SUBST(LIBASYNCNS_LIBS)
866 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
867 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
869 #### TCP wrappers (optional) ####
871 AC_ARG_ENABLE([tcpwrap],
872 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
874 AS_IF([test "x$enable_tcpwrap" != "xno"],
877 AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
881 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
882 [AC_MSG_ERROR([*** TCP wrappers support not found])])
884 AC_SUBST(LIBWRAP_LIBS)
886 #### LIRC support (optional) ####
888 AC_ARG_ENABLE([lirc],
889 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
894 AS_IF([test "x$enable_lirc" != "xno"],
897 AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
898 AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
902 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
903 [AC_MSG_ERROR([*** LIRC support not found])])
905 AC_SUBST(LIRC_CFLAGS)
907 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
909 #### D-Bus support (optional) ####
911 AC_ARG_ENABLE([dbus],
912 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
914 AS_IF([test "x$enable_dbus" != "xno"],
915 [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.3.0 ], HAVE_DBUS=1, HAVE_DBUS=0)],
918 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
919 [AC_MSG_ERROR([*** D-Bus (1.3.0+) support not found])])
921 AS_IF([test "x$HAVE_DBUS" = "x1"],
923 save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
924 save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
925 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
926 CFLAGS="$save_CFLAGS"
930 AC_SUBST(DBUS_CFLAGS)
933 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
934 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
936 PA_MACHINE_ID="${localstatedir}/lib/dbus/machine-id"
937 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
939 #### HAL support (optional), dependant on D-Bus ####
942 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]))
944 AS_IF([test "x$enable_hal" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
945 [PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ], HAVE_HAL=1, HAVE_HAL=0)],
947 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_HAL=0)
949 AS_IF([test "x$enable_hal" = "xyes" && test "x$HAVE_HAL" = "x0"],
950 [AC_MSG_ERROR([*** HAL support not found (requires D-Bus)])])
955 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
956 AS_IF([test "x$HAVE_HAL" = "x1"], AC_DEFINE([HAVE_HAL], 1, [Have HAL.]))
958 #### BlueZ support (optional, dependant on D-Bus) ####
960 AC_ARG_ENABLE([bluez],
961 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]))
963 AS_IF([test "x$enable_bluez" != "xno"],
964 [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
966 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_BLUEZ=0)
968 AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"],
969 [AC_MSG_ERROR([*** BLUEZ support not found (requires D-Bus)])])
971 AC_SUBST(BLUEZ_CFLAGS)
974 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
976 #### UDEV support (optional) ####
978 AC_ARG_ENABLE([udev],
979 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
981 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
982 [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
985 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
986 [AC_MSG_ERROR([*** UDEV support not found])])
988 AC_SUBST(UDEV_CFLAGS)
991 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
992 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
994 #### HAL compat support (optional, dependant on UDEV) ####
996 AC_ARG_ENABLE([hal-compat],
997 AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
999 AS_IF([test "x$enable_hal_compat" != "xno"],
1000 [AS_IF([test "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1003 AS_IF([test "x$enable_hal_compat" = "xyes" && test "x$HAVE_HAL_COMPAT" = "x0"],
1004 [AC_MSG_ERROR([*** HAL-compat support requires UDEV and no HAL])])
1006 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1007 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1009 #### IPv6 connection support (optional) ####
1011 AC_ARG_ENABLE([ipv6],
1012 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1014 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1016 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1018 #### OpenSSL support (optional) ####
1020 AC_ARG_ENABLE([openssl],
1021 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1023 AS_IF([test "x$enable_openssl" != "xno"],
1024 [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1027 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1028 [AC_MSG_ERROR([*** OpenSSL support not found])])
1030 AC_SUBST(OPENSSL_CFLAGS)
1031 AC_SUBST(OPENSSL_LIBS)
1032 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1033 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1035 #### FFTW (optional) ####
1038 AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1040 AS_IF([test "x$with_fftw" != "xno"],
1041 [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1044 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1045 [AC_MSG_ERROR([*** FFTW support not found])])
1047 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1049 #### ORC (optional) ####
1053 #### Build and Install man pages ####
1055 AC_ARG_ENABLE([manpages],
1056 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1058 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1060 #### PulseAudio system group & user #####
1062 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1063 if test -z "$with_system_user" ; then
1064 PA_SYSTEM_USER=pulse
1066 PA_SYSTEM_USER=$with_system_user
1068 AC_SUBST(PA_SYSTEM_USER)
1069 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1071 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1072 if test -z "$with_system_group" ; then
1073 PA_SYSTEM_GROUP=pulse
1075 PA_SYSTEM_GROUP=$with_system_group
1077 AC_SUBST(PA_SYSTEM_GROUP)
1078 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1080 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)]))
1081 if test -z "$with_access_group" ; then
1082 PA_ACCESS_GROUP=pulse-access
1084 PA_ACCESS_GROUP=$with_access_group
1086 AC_SUBST(PA_ACCESS_GROUP)
1087 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1089 AC_ARG_ENABLE([per-user-esound-socket],
1090 AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1092 if test "x$enable_per_user_esound_socket" != "xno"; then
1093 USE_PER_USER_ESOUND_SOCKET=1
1094 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1096 USE_PER_USER_ESOUND_SOCKET=0
1099 #### PulseAudio system runtime dir ####
1101 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1102 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1103 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1104 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1105 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1106 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1108 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1109 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1111 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1112 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1114 AC_SUBST(PA_SOEXT, [.so])
1116 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1117 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1119 AC_DEFINE_UNQUOTED(PA_BUILDDIR, "${ac_pwd}/src", [Location of uninstalled binaries])
1121 #### Mac OSX specific stuff #####
1123 AC_ARG_ENABLE(mac-universal,
1124 AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1125 enable_mac_universal=$enableval, enable_mac_universal="no")
1127 AC_ARG_WITH(mac-version-min,
1128 AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1129 mac_version_min=$withval, mac_version_min="10.5")
1131 AC_ARG_WITH(mac-sysroot,
1132 AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1133 mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
1135 if test "x$os_is_darwin" = "x1" ; then
1136 LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1137 CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1139 if test "x$enable_mac_universal" = "xyes" ; then
1140 mac_arches="-arch i386 -arch x86_64"
1141 LDFLAGS="$LDFLAGS $mac_arches"
1142 CFLAGS="$CFLAGS $mac_arches"
1146 AC_ARG_ENABLE([webrtc-aec],
1147 AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1149 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1150 [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1153 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1154 [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1156 AC_SUBST(WEBRTC_CFLAGS)
1157 AC_SUBST(WEBRTC_LIBS)
1158 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1161 ###################################
1163 ###################################
1165 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1167 # Check whether to build tests by default (as compile-test) or not
1168 AC_ARG_ENABLE([default-build-tests],
1169 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1170 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1172 AC_ARG_ENABLE([legacy-runtime-dir],
1173 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1174 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1175 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1178 AC_ARG_ENABLE([legacy-database-entry-format],
1179 AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1180 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1181 AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1183 AC_DEFINE([WIBBLE], 1, [Just a test.])
1185 AC_ARG_ENABLE([static-bins],
1186 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1187 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1191 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1192 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1193 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1194 if test "x$PREOPEN_MODS" != "xall" ; then
1196 for mod in $PREOPEN_MODS; do
1197 tmpLIBS="$tmpLIBS module-$mod.la"
1199 PREOPEN_MODS="$tmpLIBS"
1200 AC_SUBST(PREOPEN_MODS)
1205 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1206 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1208 AC_SUBST(modlibexecdir)
1209 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1213 AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1214 [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1216 AC_SUBST(udevrulesdir)
1218 AC_ARG_ENABLE([force-preopen],
1219 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1221 if test "x$enable_force_preopen" = "xyes"; then
1227 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1235 libpulse-mainloop-glib.pc
1237 doxygen/doxygen.conf
1240 man/pulseaudio.1.xml
1242 man/pax11publish.1.xml
1247 man/pasuspender.1.xml
1249 man/pulse-daemon.conf.5.xml
1250 man/pulse-client.conf.5.xml
1251 man/default.pa.5.xml
1252 man/start-pulseaudio-kde.1.xml
1253 man/start-pulseaudio-x11.1.xml
1256 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1257 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1258 AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
1259 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1260 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1261 [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1262 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1263 [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1264 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1265 [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1267 # CMake related ProjectConfig files
1269 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1270 PA_INCDIR="$includedir"
1271 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1273 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1274 [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1275 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1279 # ==========================================================================
1281 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1282 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1283 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1284 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1285 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1286 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1287 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1288 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1289 AS_IF([test "x$HAVE_GTK20" = "x1"], ENABLE_GTK20=yes, ENABLE_GTK20=no)
1290 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1291 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1292 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1293 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1294 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1295 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1296 AS_IF([test "x$HAVE_HAL" = "x1"], ENABLE_HAL=yes, ENABLE_HAL=no)
1297 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1298 AS_IF([test "x$HAVE_BLUEZ" = "x1"], ENABLE_BLUEZ=yes, ENABLE_BLUEZ=no)
1299 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1300 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1301 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
1302 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1303 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1304 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1305 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1306 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1307 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1308 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1309 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1310 AS_IF([test "x$USE_PER_USER_ESOUND_SOCKET" = "x1"], ENABLE_PER_USER_ESOUND_SOCKET=yes, ENABLE_PER_USER_ESOUND_SOCKET=no)
1311 AS_IF([test "x$enable_legacy_runtime_dir" != "xno"], ENABLE_LEGACY_RUNTIME_DIR=yes, ENABLE_LEGACY_RUNTIME_DIR=no)
1312 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1315 ---{ $PACKAGE_NAME $VERSION }---
1318 sysconfdir: ${sysconfdir}
1319 localstatedir: ${localstatedir}
1320 modlibexecdir: ${modlibexecdir}
1321 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1322 System State Path: ${PA_SYSTEM_STATE_PATH}
1323 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1328 Enable X11: ${ENABLE_X11}
1329 Enable OSS Output: ${ENABLE_OSS_OUTPUT}
1330 Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
1331 Enable Alsa: ${ENABLE_ALSA}
1332 Enable CoreAudio: ${ENABLE_COREAUDIO}
1333 Enable Solaris: ${ENABLE_SOLARIS}
1334 Enable WaveOut: ${ENABLE_WAVEOUT}
1335 Enable GLib 2.0: ${ENABLE_GLIB20}
1336 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1337 Enable GConf: ${ENABLE_GCONF}
1338 Enable Avahi: ${ENABLE_AVAHI}
1339 Enable Jack: ${ENABLE_JACK}
1340 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1341 Enable LIRC: ${ENABLE_LIRC}
1342 Enable D-Bus: ${ENABLE_DBUS}
1343 Enable HAL: ${ENABLE_HAL}
1344 Enable BlueZ: ${ENABLE_BLUEZ}
1345 Enable udev: ${ENABLE_UDEV}
1346 Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
1347 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1348 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1349 Enable IPv6: ${ENABLE_IPV6}
1350 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1351 Enable fftw: ${ENABLE_FFTW}
1352 Enable orc: ${ENABLE_ORC}
1353 Enable WebRTC echo canceller: ${ENABLE_WEBRTC}
1356 gdbm: ${ENABLE_GDBM}
1357 simple database: ${ENABLE_SIMPLEDB}
1359 System User: ${PA_SYSTEM_USER}
1360 System Group: ${PA_SYSTEM_GROUP}
1361 Access Group: ${PA_ACCESS_GROUP}
1362 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1363 Force preopen: ${FORCE_PREOPEN}
1364 Preopened modules: ${PREOPEN_MODS}
1366 Legacy Runtime Dir Support: ${ENABLE_LEGACY_RUNTIME_DIR}
1367 Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1370 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1372 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1373 You do not have D-Bus support enabled. It is strongly recommended
1374 that you enable D-Bus support if your platform supports it.
1375 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1376 to the Device Reservation Protocol to speak to JACK, Bluetooth
1377 support and even a native control protocol for communicating and
1378 controling the PulseAudio daemon itself.
1379 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1383 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1385 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1386 You do not have udev support enabled. It is strongly recommended
1387 that you enable udev support if your platform supports it as it is
1388 the primary method used to detect hardware audio devices (on Linux)
1389 and is thus a critical part of PulseAudio on that platform.
1390 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====