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, 25)
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])
160 # Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
161 AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [AX_APPEND_FLAG(["-DFASTPATH"], [CPPFLAGS])])
164 #### Linker flags ####
166 # Check whether the linker supports the -version-script option.
167 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
168 # so that it is expanded the right way in every subdir.
169 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
170 [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
171 AC_SUBST([VERSIONING_LDFLAGS])
173 # Use immediate (now) bindings; avoids the funky re-call in itself.
174 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
175 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
176 AC_SUBST([IMMEDIATE_LDFLAGS])
178 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
179 # so we request the nodelete flag to be enabled.
180 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
181 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
182 AC_SUBST([NODELETE_LDFLAGS])
184 # Check for the proper way to build libraries that have no undefined symbols
186 # FreeBSD (et al.) does not complete linking for shared objects when pthreads
187 # are requested, as different implementations are present.
188 *-freebsd* | *-openbsd*) ;;
190 for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
191 AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
195 AC_SUBST([NOUNDEFINED_LDFLAGS])
198 #### Atomic operations ####
200 # Native atomic operation support
201 AC_ARG_ENABLE([atomic-arm-linux-helpers],
202 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
204 AC_ARG_ENABLE([atomic-arm-memory-barrier],
205 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
207 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
208 AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
211 # If everything else fails use libatomic_ops
212 need_libatomic_ops=yes
214 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
215 pulseaudio_cv_sync_bool_compare_and_swap, [
217 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
218 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
219 [pulseaudio_cv_sync_bool_compare_and_swap=no])
222 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
223 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
224 need_libatomic_ops=no
226 # HW specific atomic ops stuff
227 AC_MSG_CHECKING([architecture for native atomic operations])
231 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
232 # The Linux kernel helper functions have been there since 2.6.16. However
233 # compile time checking for kernel version in cross compile environment
234 # (which is usually the case for arm cpu) is tricky (or impossible).
235 if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
237 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
238 need_libatomic_ops=no
241 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
242 pulseaudio_cv_support_arm_atomic_ops, [
244 AC_LANG_PROGRAM([], [[
247 asm volatile ("ldrex %0, [%1]\n"
249 "strexeq %0, %3, [%1]\n"
251 : "r" (&a), "Ir" (o), "r" (n)
253 return (a==1 ? 0 : -1);
255 [pulseaudio_cv_support_arm_atomic_ops=yes],
256 [pulseaudio_cv_support_arm_atomic_ops=no])
258 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
259 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
260 need_libatomic_ops=no
266 need_libatomic_ops=no
270 need_libatomic_ops=no
273 AC_MSG_RESULT([unknown])
278 # If we're on ARM, check for the ARMV6 instructions we need */
281 AC_CACHE_CHECK([support for required armv6 instructions],
282 pulseaudio_cv_support_armv6,
285 [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
286 asm volatile ("ldr r0, %2 \n"
291 "pkhbt r1, r3, r2, LSL #8 \n"
294 : "m" (a), "m" (b), "m" (c)
295 : "r0", "r1", "r2", "r3", "cc");
296 return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
298 [pulseaudio_cv_support_armv6=yes],
299 [pulseaudio_cv_support_armv6=no])
301 AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
302 AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
310 #### libtool stuff ####
313 LT_INIT([dlopen win32-dll disable-static])
315 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
316 dnl exactly which version of libltdl is present in the system, so we
317 dnl just assume that it's a working version as long as we have the
318 dnl library and the header files.
320 dnl As an extra safety device, check for lt_dladvise_init() which is
321 dnl only implemented in libtool 2.x, and refine as we go if we have
322 dnl refined requirements.
324 dnl Check the header files first since the system may have a
325 dnl libltdl.so for runtime, but no headers, and we want to bail out as
326 dnl soon as possible.
328 dnl We don't need any special variable for this though, since the user
329 dnl can give the proper place to find libltdl through the standard
330 dnl variables like LDFLAGS and CPPFLAGS.
332 AC_CHECK_HEADER([ltdl.h],
333 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
336 AS_IF([test "x$LIBLTDL" = "x"],
337 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
341 ###################################
342 # Basic environment checks #
343 ###################################
345 #### Checks for header files. ####
351 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
352 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
353 sys/mman.h sys/select.h sys/socket.h sys/wait.h \
354 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
355 AC_CHECK_HEADERS([netinet/ip.h], [], [],
356 [#include <sys/types.h>
357 #if HAVE_NETINET_IN_H
358 # include <netinet/in.h>
360 #if HAVE_NETINET_IN_SYSTM_H
361 # include <netinet/in_systm.h>
364 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
365 AC_SUBST(HAVE_SYS_RESOURCE_H)
366 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
367 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
368 AC_SUBST(HAVE_AF_UNIX)
371 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
372 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
374 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
377 AC_CHECK_HEADERS_ONCE([sys/filio.h])
380 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
383 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
386 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
387 AC_CHECK_HEADERS_ONCE([byteswap.h])
388 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
389 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
390 AC_CHECK_HEADERS_ONCE([execinfo.h])
391 AC_CHECK_HEADERS_ONCE([langinfo.h])
392 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
395 #### Typdefs, structures, etc. ####
401 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
405 AC_CHECK_DECLS(environ)
408 AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
409 AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
410 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
412 # INADDR_NONE, Solaris lacks this
413 AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
414 [AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
415 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
419 AC_CACHE_CHECK([whether $CC knows _Bool],
422 AC_LANG_PROGRAM([], [[_Bool b;]]),
423 [pulseaudio_cv__Bool=yes],
424 [pulseaudio_cv__Bool=no])
427 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
430 #### Thread support ####
433 AS_IF([test "$ac_cv_tls" == "__thread"],
434 AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
436 # Win32 build breaks with win32 pthread installed
437 AS_IF([test "x$os_is_win32" != "x1"],
440 AS_IF([test "x$ax_pthread_ok" == "xyes"],
441 AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
444 #### Check for libs ####
447 AC_SEARCH_LIBS([pow], [m])
450 AC_SEARCH_LIBS([sched_setscheduler], [rt])
451 AC_SEARCH_LIBS([dlopen], [dl])
452 AC_SEARCH_LIBS([shm_open], [rt])
453 AC_SEARCH_LIBS([inet_ntop], [nsl])
454 AC_SEARCH_LIBS([timer_create], [rt])
455 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
456 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
457 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
460 AC_SEARCH_LIBS([connect], [socket])
461 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
464 if test "x$os_is_darwin" = "x1" ; then
465 AC_MSG_CHECKING([looking for Apple CoreService Framework])
466 # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
467 AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
468 [LIBS="$LIBS -framework CoreServices"],
469 [AC_MSG_ERROR([CoreServices.h header file not found])]
473 AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
477 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
480 AC_SEARCH_LIBS([regexec], [pcreposix])
481 # This magic is needed so we do not needlessly add static libs to the win32 build, disabling its ability to make dlls.
482 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
485 #### Check for functions ####
488 AC_CHECK_FUNCS_ONCE([lrintf strtof])
493 AC_FUNC_SELECT_ARGTYPES
494 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
495 getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
496 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
497 sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
498 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
499 AC_SUBST(HAVE_MKFIFO)
500 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
503 AC_CHECK_FUNCS_ONCE([readlink])
506 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
509 AC_CHECK_FUNCS_ONCE([strerror_r])
512 AC_CHECK_FUNCS_ONCE([lstat])
515 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
519 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
520 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
522 # Large File-Support (LFS)
524 # Check for open64 to know if the current system does have open64() and similar functions
525 AC_CHECK_FUNCS_ONCE([open64])
528 ###################################
529 # External libraries #
530 ###################################
536 #### X11 (optional) ####
539 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
541 AS_IF([test "x$enable_x11" != "xno"],
542 [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
545 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
546 [AC_MSG_ERROR([*** X11 not found])])
551 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
552 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
554 #### Capabilities (optional) ####
559 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
561 if test "x${with_caps}" != "xno"; then
562 AC_SEARCH_LIBS([cap_init], [cap], [], [
563 if test "x${with_caps}" = "xyes" ; then
564 AC_MSG_ERROR([*** POSIX caps libraries not found])
566 AC_CHECK_HEADERS([sys/capability.h], [], [
567 if test "x${with_caps}" = "xyes" ; then
568 AC_MSG_ERROR([*** POSIX caps headers not found])
572 #### Valgrind (optional) ####
574 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
576 #### json parsing ####
578 PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])
579 AC_SUBST(LIBJSON_CFLAGS)
580 AC_SUBST(LIBJSON_LIBS)
584 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
585 AC_SUBST(LIBSNDFILE_CFLAGS)
586 AC_SUBST(LIBSNDFILE_LIBS)
588 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
589 AC_SUBST(LIBSPEEX_CFLAGS)
590 AC_SUBST(LIBSPEEX_LIBS)
594 AC_MSG_CHECKING([whether we need libatomic_ops])
595 if test "x$need_libatomic_ops" = "xyes"; then
597 AC_CHECK_HEADERS([atomic_ops.h],
598 [CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
599 [AC_MSG_ERROR([*** libatomic-ops headers not found])])
601 # Win32 does not need the lib and breaks horribly if we try to include it
602 AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
607 #### Libsamplerate support (optional) ####
609 AC_ARG_ENABLE([samplerate],
610 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]))
612 AS_IF([test "x$enable_samplerate" != "xno"],
613 [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
614 HAVE_LIBSAMPLERATE=0)
616 AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
617 [AC_MSG_ERROR([*** Libsamplerate not found])])
619 AC_SUBST(LIBSAMPLERATE_CFLAGS)
620 AC_SUBST(LIBSAMPLERATE_LIBS)
621 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
622 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
624 #### Database support ####
626 AC_ARG_WITH([database],
627 AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
630 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
631 [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
633 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
635 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
636 [AC_MSG_ERROR([*** tdb not found])])
639 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
642 AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
643 AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
646 AS_IF([test "x$HAVE_GDBM" = "x1"],
653 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
654 [AC_MSG_ERROR([*** gdbm not found])])
657 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
660 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
662 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
663 AC_MSG_ERROR([*** missing database backend]))
668 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
669 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
671 AC_SUBST(GDBM_CFLAGS)
673 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
674 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
676 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
677 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
679 #### OSS support (optional) ####
681 AC_ARG_ENABLE([oss-output],
682 AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
684 AC_ARG_ENABLE([oss-wrapper],
685 AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
687 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
688 [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
691 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
692 [AC_MSG_ERROR([*** OSS support not found])])
694 AS_IF([test "x$enable_oss_output" != "xno"],
695 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
698 AS_IF([test "x$enable_oss_wrapper" != "xno"],
699 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
702 AC_SUBST(HAVE_OSS_OUTPUT)
703 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
704 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
705 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
706 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
708 #### CoreAudio support (optional) ####
710 AC_ARG_ENABLE([coreaudio-output],
711 AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
713 AS_IF([test "x$enable_coreaudio_output" != "xno"],
714 [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
717 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
718 [AC_MSG_ERROR([*** CoreAudio output support not found])])
720 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
722 #### ALSA support (optional) ####
724 AC_ARG_ENABLE([alsa],
725 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
727 AS_IF([test "x$enable_alsa" != "xno"],
728 [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
731 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
732 [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
734 AC_SUBST(ASOUNDLIB_CFLAGS)
735 AC_SUBST(ASOUNDLIB_LIBS)
737 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
738 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
740 #### Solaris audio support (optional) ####
742 AC_ARG_ENABLE([solaris],
743 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
745 AS_IF([test "x$enable_solaris" != "xno"],
746 [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
749 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
750 [AC_MSG_ERROR([*** Solaris audio support not found])])
752 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
753 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
755 #### WaveOut audio support (optional) ####
757 AC_ARG_ENABLE([waveout],
758 AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
760 AS_IF([test "x$enable_waveout" != "xno"],
761 [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
764 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
765 [AC_MSG_ERROR([*** WaveOut audio support not found])])
767 AC_SUBST(HAVE_WAVEOUT)
768 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
769 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
771 #### GLib 2 support (optional) ####
773 AC_ARG_ENABLE([glib2],
774 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
776 AS_IF([test "x$enable_glib2" != "xno"],
777 [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
780 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
781 [AC_MSG_ERROR([*** GLib 2 support not found])])
783 AC_SUBST(GLIB20_CFLAGS)
784 AC_SUBST(GLIB20_LIBS)
785 AC_SUBST(HAVE_GLIB20)
786 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
787 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
789 #### GTK2 support (optional) ####
791 AC_ARG_ENABLE([gtk2],
792 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]))
794 AS_IF([test "x$enable_gtk2" != "xno"],
795 [PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ], HAVE_GTK20=1, HAVE_GTK20=0)],
798 AS_IF([test "x$enable_gtk2" = "xyes" && test "x$HAVE_GTK20" = "x0"],
799 [AC_MSG_ERROR([*** Gtk+ 2 support not found])])
801 AC_SUBST(GTK20_CFLAGS)
803 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
804 AS_IF([test "x$HAVE_GTK20" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
806 #### GConf support (optional) ####
808 AC_ARG_ENABLE([gconf],
809 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
811 AS_IF([test "x$enable_gconf" != "xno"],
812 [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
815 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
816 [AC_MSG_ERROR([*** GConf support not found])])
818 AC_SUBST(GCONF_CFLAGS)
820 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
822 #### Avahi support (optional) ####
824 AC_ARG_ENABLE([avahi],
825 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
827 AS_IF([test "x$enable_avahi" != "xno"],
828 [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
831 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
832 [AC_MSG_ERROR([*** Avahi support not found])])
834 AC_SUBST(AVAHI_CFLAGS)
837 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
839 #### JACK (optional) ####
841 AC_ARG_ENABLE([jack],
842 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
844 AS_IF([test "x$enable_jack" != "xno"],
845 [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
848 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
849 [AC_MSG_ERROR([*** JACK support not found])])
851 AC_SUBST(JACK_CFLAGS)
853 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
855 #### Async DNS support (optional) ####
857 AC_ARG_ENABLE([asyncns],
858 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
860 AS_IF([test "x$enable_asyncns" != "xno"],
861 [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
864 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
865 [AC_MSG_ERROR([*** Async DNS support not found])])
867 AC_SUBST(LIBASYNCNS_CFLAGS)
868 AC_SUBST(LIBASYNCNS_LIBS)
869 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
870 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
872 #### TCP wrappers (optional) ####
874 AC_ARG_ENABLE([tcpwrap],
875 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
877 AS_IF([test "x$enable_tcpwrap" != "xno"],
880 AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
884 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
885 [AC_MSG_ERROR([*** TCP wrappers support not found])])
887 AC_SUBST(LIBWRAP_LIBS)
889 #### LIRC support (optional) ####
891 AC_ARG_ENABLE([lirc],
892 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
897 AS_IF([test "x$enable_lirc" != "xno"],
900 AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
901 AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
905 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
906 [AC_MSG_ERROR([*** LIRC support not found])])
908 AC_SUBST(LIRC_CFLAGS)
910 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
912 #### D-Bus support (optional) ####
914 AC_ARG_ENABLE([dbus],
915 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
917 AS_IF([test "x$enable_dbus" != "xno"],
918 [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.3.0 ], HAVE_DBUS=1, HAVE_DBUS=0)],
921 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
922 [AC_MSG_ERROR([*** D-Bus (1.3.0+) support not found])])
924 AS_IF([test "x$HAVE_DBUS" = "x1"],
926 save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
927 save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
928 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
929 CFLAGS="$save_CFLAGS"
933 AC_SUBST(DBUS_CFLAGS)
936 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
937 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
939 PA_MACHINE_ID="${localstatedir}/lib/dbus/machine-id"
940 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
941 PA_MACHINE_ID_FALLBACK="${sysconfdir}/machine-id"
942 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
943 [Fallback machine-id file])
945 #### HAL support (optional), dependant on D-Bus ####
948 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]))
950 AS_IF([test "x$enable_hal" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
951 [PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ], HAVE_HAL=1, HAVE_HAL=0)],
953 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_HAL=0)
955 AS_IF([test "x$enable_hal" = "xyes" && test "x$HAVE_HAL" = "x0"],
956 [AC_MSG_ERROR([*** HAL support not found (requires D-Bus)])])
961 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
962 AS_IF([test "x$HAVE_HAL" = "x1"], AC_DEFINE([HAVE_HAL], 1, [Have HAL.]))
964 #### BlueZ support (optional, dependant on D-Bus) ####
966 AC_ARG_ENABLE([bluez],
967 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]))
969 AS_IF([test "x$enable_bluez" != "xno"],
970 [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
972 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_BLUEZ=0)
974 AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"],
975 [AC_MSG_ERROR([*** BLUEZ support not found (requires D-Bus)])])
977 AC_SUBST(BLUEZ_CFLAGS)
980 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
982 #### UDEV support (optional) ####
984 AC_ARG_ENABLE([udev],
985 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
987 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
988 [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
991 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
992 [AC_MSG_ERROR([*** UDEV support not found])])
994 AC_SUBST(UDEV_CFLAGS)
997 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
998 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
1000 #### HAL compat support (optional, dependant on UDEV) ####
1002 AC_ARG_ENABLE([hal-compat],
1003 AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1005 AS_IF([test "x$enable_hal_compat" != "xno"],
1006 [AS_IF([test "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1009 AS_IF([test "x$enable_hal_compat" = "xyes" && test "x$HAVE_HAL_COMPAT" = "x0"],
1010 [AC_MSG_ERROR([*** HAL-compat support requires UDEV and no HAL])])
1012 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1013 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1015 #### IPv6 connection support (optional) ####
1017 AC_ARG_ENABLE([ipv6],
1018 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1020 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1022 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1024 #### OpenSSL support (optional) ####
1026 AC_ARG_ENABLE([openssl],
1027 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1029 AS_IF([test "x$enable_openssl" != "xno"],
1030 [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1033 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1034 [AC_MSG_ERROR([*** OpenSSL support not found])])
1036 AC_SUBST(OPENSSL_CFLAGS)
1037 AC_SUBST(OPENSSL_LIBS)
1038 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1039 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1041 #### FFTW (optional) ####
1044 AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1046 AS_IF([test "x$with_fftw" != "xno"],
1047 [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1050 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1051 [AC_MSG_ERROR([*** FFTW support not found])])
1053 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1055 #### ORC (optional) ####
1059 #### Build and Install man pages ####
1061 AC_ARG_ENABLE([manpages],
1062 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1064 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1066 #### PulseAudio system group & user #####
1068 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1069 if test -z "$with_system_user" ; then
1070 PA_SYSTEM_USER=pulse
1072 PA_SYSTEM_USER=$with_system_user
1074 AC_SUBST(PA_SYSTEM_USER)
1075 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1077 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1078 if test -z "$with_system_group" ; then
1079 PA_SYSTEM_GROUP=pulse
1081 PA_SYSTEM_GROUP=$with_system_group
1083 AC_SUBST(PA_SYSTEM_GROUP)
1084 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1086 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)]))
1087 if test -z "$with_access_group" ; then
1088 PA_ACCESS_GROUP=pulse-access
1090 PA_ACCESS_GROUP=$with_access_group
1092 AC_SUBST(PA_ACCESS_GROUP)
1093 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1095 AC_ARG_ENABLE([per-user-esound-socket],
1096 AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1098 if test "x$enable_per_user_esound_socket" != "xno"; then
1099 USE_PER_USER_ESOUND_SOCKET=1
1100 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1102 USE_PER_USER_ESOUND_SOCKET=0
1105 #### PulseAudio system runtime dir ####
1107 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1108 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1109 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1110 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1111 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1112 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1114 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1115 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1117 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1118 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1120 AC_SUBST(PA_SOEXT, [.so])
1122 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1123 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1125 AC_DEFINE_UNQUOTED(PA_BUILDDIR, "${ac_pwd}/src", [Location of uninstalled binaries])
1127 #### Mac OSX specific stuff #####
1129 AC_ARG_ENABLE(mac-universal,
1130 AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1131 enable_mac_universal=$enableval, enable_mac_universal="no")
1133 AC_ARG_WITH(mac-version-min,
1134 AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1135 mac_version_min=$withval, mac_version_min="10.5")
1137 AC_ARG_WITH(mac-sysroot,
1138 AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1139 mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
1141 if test "x$os_is_darwin" = "x1" ; then
1142 LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1143 CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1145 if test "x$enable_mac_universal" = "xyes" ; then
1146 mac_arches="-arch i386 -arch x86_64"
1147 LDFLAGS="$LDFLAGS $mac_arches"
1148 CFLAGS="$CFLAGS $mac_arches"
1152 AC_ARG_ENABLE([webrtc-aec],
1153 AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1155 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1156 [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1159 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1160 [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1162 AC_SUBST(WEBRTC_CFLAGS)
1163 AC_SUBST(WEBRTC_LIBS)
1164 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1167 ###################################
1169 ###################################
1171 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1173 # Check whether to build tests by default (as compile-test) or not
1174 AC_ARG_ENABLE([default-build-tests],
1175 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1176 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1178 AC_ARG_ENABLE([legacy-runtime-dir],
1179 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1180 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1181 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1184 AC_ARG_ENABLE([legacy-database-entry-format],
1185 AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1186 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1187 AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1189 AC_DEFINE([WIBBLE], 1, [Just a test.])
1191 AC_ARG_ENABLE([static-bins],
1192 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1193 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1197 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1198 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1199 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1200 if test "x$PREOPEN_MODS" != "xall" ; then
1202 for mod in $PREOPEN_MODS; do
1203 tmpLIBS="$tmpLIBS module-$mod.la"
1205 PREOPEN_MODS="$tmpLIBS"
1206 AC_SUBST(PREOPEN_MODS)
1211 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1212 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1214 AC_SUBST(modlibexecdir)
1215 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1219 AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1220 [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1222 AC_SUBST(udevrulesdir)
1224 AC_ARG_ENABLE([force-preopen],
1225 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1227 if test "x$enable_force_preopen" = "xyes"; then
1233 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1241 libpulse-mainloop-glib.pc
1243 doxygen/doxygen.conf
1246 man/pulseaudio.1.xml
1248 man/pax11publish.1.xml
1253 man/pasuspender.1.xml
1255 man/pulse-daemon.conf.5.xml
1256 man/pulse-client.conf.5.xml
1257 man/default.pa.5.xml
1258 man/start-pulseaudio-kde.1.xml
1259 man/start-pulseaudio-x11.1.xml
1262 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1263 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1264 AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
1265 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1266 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1267 [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1268 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1269 [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1270 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1271 [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1273 # CMake related ProjectConfig files
1275 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1276 PA_INCDIR="$includedir"
1277 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1279 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1280 [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1281 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1285 # ==========================================================================
1287 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1288 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1289 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1290 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1291 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1292 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1293 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1294 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1295 AS_IF([test "x$HAVE_GTK20" = "x1"], ENABLE_GTK20=yes, ENABLE_GTK20=no)
1296 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1297 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1298 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1299 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1300 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1301 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1302 AS_IF([test "x$HAVE_HAL" = "x1"], ENABLE_HAL=yes, ENABLE_HAL=no)
1303 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1304 AS_IF([test "x$HAVE_BLUEZ" = "x1"], ENABLE_BLUEZ=yes, ENABLE_BLUEZ=no)
1305 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1306 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1307 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
1308 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1309 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1310 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1311 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1312 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1313 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1314 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1315 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1316 AS_IF([test "x$USE_PER_USER_ESOUND_SOCKET" = "x1"], ENABLE_PER_USER_ESOUND_SOCKET=yes, ENABLE_PER_USER_ESOUND_SOCKET=no)
1317 AS_IF([test "x$enable_legacy_runtime_dir" != "xno"], ENABLE_LEGACY_RUNTIME_DIR=yes, ENABLE_LEGACY_RUNTIME_DIR=no)
1318 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1321 ---{ $PACKAGE_NAME $VERSION }---
1324 sysconfdir: ${sysconfdir}
1325 localstatedir: ${localstatedir}
1326 modlibexecdir: ${modlibexecdir}
1327 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1328 System State Path: ${PA_SYSTEM_STATE_PATH}
1329 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1334 Enable X11: ${ENABLE_X11}
1335 Enable OSS Output: ${ENABLE_OSS_OUTPUT}
1336 Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
1337 Enable Alsa: ${ENABLE_ALSA}
1338 Enable CoreAudio: ${ENABLE_COREAUDIO}
1339 Enable Solaris: ${ENABLE_SOLARIS}
1340 Enable WaveOut: ${ENABLE_WAVEOUT}
1341 Enable GLib 2.0: ${ENABLE_GLIB20}
1342 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1343 Enable GConf: ${ENABLE_GCONF}
1344 Enable Avahi: ${ENABLE_AVAHI}
1345 Enable Jack: ${ENABLE_JACK}
1346 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1347 Enable LIRC: ${ENABLE_LIRC}
1348 Enable D-Bus: ${ENABLE_DBUS}
1349 Enable HAL: ${ENABLE_HAL}
1350 Enable BlueZ: ${ENABLE_BLUEZ}
1351 Enable udev: ${ENABLE_UDEV}
1352 Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
1353 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1354 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1355 Enable IPv6: ${ENABLE_IPV6}
1356 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1357 Enable fftw: ${ENABLE_FFTW}
1358 Enable orc: ${ENABLE_ORC}
1359 Enable WebRTC echo canceller: ${ENABLE_WEBRTC}
1362 gdbm: ${ENABLE_GDBM}
1363 simple database: ${ENABLE_SIMPLEDB}
1365 System User: ${PA_SYSTEM_USER}
1366 System Group: ${PA_SYSTEM_GROUP}
1367 Access Group: ${PA_ACCESS_GROUP}
1368 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1369 Force preopen: ${FORCE_PREOPEN}
1370 Preopened modules: ${PREOPEN_MODS}
1372 Legacy Runtime Dir Support: ${ENABLE_LEGACY_RUNTIME_DIR}
1373 Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1376 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1378 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1379 You do not have D-Bus support enabled. It is strongly recommended
1380 that you enable D-Bus support if your platform supports it.
1381 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1382 to the Device Reservation Protocol to speak to JACK, Bluetooth
1383 support and even a native control protocol for communicating and
1384 controling the PulseAudio daemon itself.
1385 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1389 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1391 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1392 You do not have udev support enabled. It is strongly recommended
1393 that you enable udev support if your platform supports it as it is
1394 the primary method used to detect hardware audio devices (on Linux)
1395 and is thus a critical part of PulseAudio on that platform.
1396 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====