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 if test "x$enable_nls" != "xno"; then
99 IT_PROG_INTLTOOL([0.35.0])
100 GETTEXT_PACKAGE=pulseaudio
101 AC_SUBST([GETTEXT_PACKAGE])
102 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
105 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
106 AX_DEFINE_DIR(PULSE_LOCALEDIR, pulselocaledir, [Gettext locale dir])
110 #### Determine host OS ####
116 AC_MSG_CHECKING([host operating system])
119 AC_MSG_RESULT([linux])
123 AC_MSG_RESULT([darwin])
125 AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
128 AC_MSG_RESULT([win32])
130 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
133 AC_MSG_RESULT([unknown])
137 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
138 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
139 AC_SUBST([OS_IS_WIN32], [$os_is_win32])
141 # Platform specific hacks
144 AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
147 AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
150 AC_DEFINE(_XOPEN_SOURCE, 600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
151 AC_DEFINE(__EXTENSIONS__, 1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
156 #### Compiler flags ####
158 AX_APPEND_COMPILE_FLAGS(
159 [-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],
160 [], [-pedantic -Werror])
162 # Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
163 AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [AX_APPEND_FLAG(["-DFASTPATH"], [CPPFLAGS])])
166 #### Linker flags ####
168 # Check whether the linker supports the -version-script option.
169 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
170 # so that it is expanded the right way in every subdir.
171 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${abs_top_srcdir}/src/map-file"],
172 [VERSIONING_LDFLAGS='-Wl,-version-script=$(abs_top_srcdir)/map-file'])
173 AC_SUBST([VERSIONING_LDFLAGS])
175 # Use immediate (now) bindings; avoids the funky re-call in itself.
176 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
177 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
178 AC_SUBST([IMMEDIATE_LDFLAGS])
180 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
181 # so we request the nodelete flag to be enabled.
182 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
183 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
184 AC_SUBST([NODELETE_LDFLAGS])
186 # Check for the proper way to build libraries that have no undefined symbols
188 # FreeBSD (et al.) does not complete linking for shared objects when pthreads
189 # are requested, as different implementations are present.
190 *-freebsd* | *-openbsd*) ;;
192 for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
193 AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
197 AC_SUBST([NOUNDEFINED_LDFLAGS])
200 #### Atomic operations ####
202 # Native atomic operation support
203 AC_ARG_ENABLE([atomic-arm-linux-helpers],
204 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
206 AC_ARG_ENABLE([atomic-arm-memory-barrier],
207 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
209 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
210 AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
213 # If everything else fails use libatomic_ops
214 need_libatomic_ops=yes
216 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
217 pulseaudio_cv_sync_bool_compare_and_swap, [
219 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
220 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
221 [pulseaudio_cv_sync_bool_compare_and_swap=no])
224 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
225 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
226 need_libatomic_ops=no
228 # HW specific atomic ops stuff
229 AC_MSG_CHECKING([architecture for native atomic operations])
233 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
234 # The Linux kernel helper functions have been there since 2.6.16. However
235 # compile time checking for kernel version in cross compile environment
236 # (which is usually the case for arm cpu) is tricky (or impossible).
237 if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
239 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
240 need_libatomic_ops=no
243 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
244 pulseaudio_cv_support_arm_atomic_ops, [
246 AC_LANG_PROGRAM([], [[
249 asm volatile ("ldrex %0, [%1]\n"
251 "strexeq %0, %3, [%1]\n"
253 : "r" (&a), "Ir" (o), "r" (n)
255 return (a==1 ? 0 : -1);
257 [pulseaudio_cv_support_arm_atomic_ops=yes],
258 [pulseaudio_cv_support_arm_atomic_ops=no])
260 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
261 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
262 need_libatomic_ops=no
268 need_libatomic_ops=no
272 need_libatomic_ops=no
275 AC_MSG_RESULT([unknown])
280 # If we're on ARM, check for the ARMV6 instructions we need */
283 AC_CACHE_CHECK([support for required armv6 instructions],
284 pulseaudio_cv_support_armv6,
287 [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
288 asm volatile ("ldr r0, %2 \n"
293 "pkhbt r1, r3, r2, LSL #8 \n"
296 : "m" (a), "m" (b), "m" (c)
297 : "r0", "r1", "r2", "r3", "cc");
298 return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
300 [pulseaudio_cv_support_armv6=yes],
301 [pulseaudio_cv_support_armv6=no])
303 AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
304 AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
312 #### libtool stuff ####
315 LT_INIT([dlopen win32-dll disable-static])
317 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
318 dnl exactly which version of libltdl is present in the system, so we
319 dnl just assume that it's a working version as long as we have the
320 dnl library and the header files.
322 dnl As an extra safety device, check for lt_dladvise_init() which is
323 dnl only implemented in libtool 2.x, and refine as we go if we have
324 dnl refined requirements.
326 dnl Check the header files first since the system may have a
327 dnl libltdl.so for runtime, but no headers, and we want to bail out as
328 dnl soon as possible.
330 dnl We don't need any special variable for this though, since the user
331 dnl can give the proper place to find libltdl through the standard
332 dnl variables like LDFLAGS and CPPFLAGS.
334 AC_CHECK_HEADER([ltdl.h],
335 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
338 AS_IF([test "x$LIBLTDL" = "x"],
339 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
343 ###################################
344 # Basic environment checks #
345 ###################################
347 #### Checks for header files. ####
353 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
354 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
355 sys/mman.h sys/select.h sys/socket.h sys/wait.h \
356 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
357 AC_CHECK_HEADERS([netinet/ip.h], [], [],
358 [#include <sys/types.h>
359 #if HAVE_NETINET_IN_H
360 # include <netinet/in.h>
362 #if HAVE_NETINET_IN_SYSTM_H
363 # include <netinet/in_systm.h>
366 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
367 AC_SUBST(HAVE_SYS_RESOURCE_H)
368 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
369 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
370 AC_SUBST(HAVE_AF_UNIX)
373 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
374 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
376 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
379 AC_CHECK_HEADERS_ONCE([sys/filio.h])
382 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
385 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
388 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
389 AC_CHECK_HEADERS_ONCE([byteswap.h])
390 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
391 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
392 AC_CHECK_HEADERS_ONCE([execinfo.h])
393 AC_CHECK_HEADERS_ONCE([langinfo.h])
394 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
397 #### Typdefs, structures, etc. ####
403 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
407 AC_CHECK_DECLS(environ)
410 AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
411 AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
412 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
414 # INADDR_NONE, Solaris lacks this
415 AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
416 [AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
417 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
421 AC_CACHE_CHECK([whether $CC knows _Bool],
424 AC_LANG_PROGRAM([], [[_Bool b;]]),
425 [pulseaudio_cv__Bool=yes],
426 [pulseaudio_cv__Bool=no])
429 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
432 #### Thread support ####
435 AS_IF([test "$ac_cv_tls" == "__thread"],
436 AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
438 # Win32 build breaks with win32 pthread installed
439 AS_IF([test "x$os_is_win32" != "x1"],
442 AS_IF([test "x$ax_pthread_ok" == "xyes"],
443 AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
446 #### Check for libs ####
449 AC_SEARCH_LIBS([pow], [m])
452 AC_SEARCH_LIBS([sched_setscheduler], [rt])
453 AC_SEARCH_LIBS([dlopen], [dl])
454 AC_SEARCH_LIBS([shm_open], [rt])
455 AC_SEARCH_LIBS([inet_ntop], [nsl])
456 AC_SEARCH_LIBS([timer_create], [rt])
457 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
458 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
459 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
462 AC_SEARCH_LIBS([connect], [socket])
463 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
466 if test "x$os_is_darwin" = "x1" ; then
467 AC_MSG_CHECKING([looking for Apple CoreService Framework])
468 # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
469 AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
470 [LIBS="$LIBS -framework CoreServices"],
471 [AC_MSG_ERROR([CoreServices.h header file not found])]
475 AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
479 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
482 AC_SEARCH_LIBS([regexec], [pcreposix])
483 # This magic is needed so we do not needlessly add static libs to the win32 build, disabling its ability to make dlls.
484 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
487 #### Check for functions ####
490 AC_CHECK_FUNCS_ONCE([lrintf strtof])
495 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
496 getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
497 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
498 sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
499 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
500 AC_SUBST(HAVE_MKFIFO)
501 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
504 AC_CHECK_FUNCS_ONCE([readlink])
507 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
510 AC_CHECK_FUNCS_ONCE([strerror_r])
513 AC_CHECK_FUNCS_ONCE([lstat])
516 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
520 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
521 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
523 # Large File-Support (LFS)
525 # Check for open64 to know if the current system does have open64() and similar functions
526 AC_CHECK_FUNCS_ONCE([open64])
529 ###################################
530 # External libraries #
531 ###################################
537 #### X11 (optional) ####
540 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
542 AS_IF([test "x$enable_x11" != "xno"],
543 [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
546 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
547 [AC_MSG_ERROR([*** X11 not found])])
552 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
553 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
555 #### Capabilities (optional) ####
560 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
562 if test "x${with_caps}" != "xno"; then
563 AC_SEARCH_LIBS([cap_init], [cap], [], [
564 if test "x${with_caps}" = "xyes" ; then
565 AC_MSG_ERROR([*** POSIX caps libraries not found])
567 AC_CHECK_HEADERS([sys/capability.h], [], [
568 if test "x${with_caps}" = "xyes" ; then
569 AC_MSG_ERROR([*** POSIX caps headers not found])
573 #### Valgrind (optional) ####
575 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
577 #### json parsing ####
579 PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])
580 AC_SUBST(LIBJSON_CFLAGS)
581 AC_SUBST(LIBJSON_LIBS)
585 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
586 AC_SUBST(LIBSNDFILE_CFLAGS)
587 AC_SUBST(LIBSNDFILE_LIBS)
589 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
590 AC_SUBST(LIBSPEEX_CFLAGS)
591 AC_SUBST(LIBSPEEX_LIBS)
595 AC_MSG_CHECKING([whether we need libatomic_ops])
596 if test "x$need_libatomic_ops" = "xyes"; then
598 AC_CHECK_HEADERS([atomic_ops.h],
599 [CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
600 [AC_MSG_ERROR([*** libatomic-ops headers not found])])
602 # Win32 does not need the lib and breaks horribly if we try to include it
603 AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
608 #### Libsamplerate support (optional) ####
610 AC_ARG_ENABLE([samplerate],
611 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]))
613 AS_IF([test "x$enable_samplerate" != "xno"],
614 [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
615 HAVE_LIBSAMPLERATE=0)
617 AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
618 [AC_MSG_ERROR([*** Libsamplerate not found])])
620 AC_SUBST(LIBSAMPLERATE_CFLAGS)
621 AC_SUBST(LIBSAMPLERATE_LIBS)
622 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
623 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
625 #### Database support ####
627 AC_ARG_WITH([database],
628 AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
631 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
632 [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
634 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
636 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
637 [AC_MSG_ERROR([*** tdb not found])])
640 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
643 AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
644 AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
647 AS_IF([test "x$HAVE_GDBM" = "x1"],
654 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
655 [AC_MSG_ERROR([*** gdbm not found])])
658 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
661 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
663 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
664 AC_MSG_ERROR([*** missing database backend]))
669 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
670 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
672 AC_SUBST(GDBM_CFLAGS)
674 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
675 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
677 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
678 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
680 #### OSS support (optional) ####
682 AC_ARG_ENABLE([oss-output],
683 AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
685 AC_ARG_ENABLE([oss-wrapper],
686 AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
688 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
689 [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
692 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
693 [AC_MSG_ERROR([*** OSS support not found])])
695 AS_IF([test "x$enable_oss_output" != "xno"],
696 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
699 AS_IF([test "x$enable_oss_wrapper" != "xno"],
700 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
703 AC_SUBST(HAVE_OSS_OUTPUT)
704 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
705 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
706 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
707 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
709 #### CoreAudio support (optional) ####
711 AC_ARG_ENABLE([coreaudio-output],
712 AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
714 AS_IF([test "x$enable_coreaudio_output" != "xno"],
715 [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
718 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
719 [AC_MSG_ERROR([*** CoreAudio output support not found])])
721 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
723 #### ALSA support (optional) ####
725 AC_ARG_ENABLE([alsa],
726 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
728 AS_IF([test "x$enable_alsa" != "xno"],
729 [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
732 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
733 [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
735 AC_SUBST(ASOUNDLIB_CFLAGS)
736 AC_SUBST(ASOUNDLIB_LIBS)
738 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
739 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
741 #### Solaris audio support (optional) ####
743 AC_ARG_ENABLE([solaris],
744 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
746 AS_IF([test "x$enable_solaris" != "xno"],
747 [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
750 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
751 [AC_MSG_ERROR([*** Solaris audio support not found])])
753 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
754 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
756 #### WaveOut audio support (optional) ####
758 AC_ARG_ENABLE([waveout],
759 AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
761 AS_IF([test "x$enable_waveout" != "xno"],
762 [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
765 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
766 [AC_MSG_ERROR([*** WaveOut audio support not found])])
768 AC_SUBST(HAVE_WAVEOUT)
769 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
770 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
772 #### GLib 2 support (optional) ####
774 AC_ARG_ENABLE([glib2],
775 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
777 AS_IF([test "x$enable_glib2" != "xno"],
778 [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
781 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
782 [AC_MSG_ERROR([*** GLib 2 support not found])])
784 AC_SUBST(GLIB20_CFLAGS)
785 AC_SUBST(GLIB20_LIBS)
786 AC_SUBST(HAVE_GLIB20)
787 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
788 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
790 #### GTK2 support (optional) ####
792 AC_ARG_ENABLE([gtk2],
793 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]))
795 AS_IF([test "x$enable_gtk2" != "xno"],
796 [PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ], HAVE_GTK20=1, HAVE_GTK20=0)],
799 AS_IF([test "x$enable_gtk2" = "xyes" && test "x$HAVE_GTK20" = "x0"],
800 [AC_MSG_ERROR([*** Gtk+ 2 support not found])])
802 AC_SUBST(GTK20_CFLAGS)
804 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
805 AS_IF([test "x$HAVE_GTK20" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
807 #### GConf support (optional) ####
809 AC_ARG_ENABLE([gconf],
810 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
812 AS_IF([test "x$enable_gconf" != "xno"],
813 [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
816 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
817 [AC_MSG_ERROR([*** GConf support not found])])
819 AC_SUBST(GCONF_CFLAGS)
821 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
823 #### Avahi support (optional) ####
825 AC_ARG_ENABLE([avahi],
826 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
828 AS_IF([test "x$enable_avahi" != "xno"],
829 [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
832 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
833 [AC_MSG_ERROR([*** Avahi support not found])])
835 AC_SUBST(AVAHI_CFLAGS)
838 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
840 #### JACK (optional) ####
842 AC_ARG_ENABLE([jack],
843 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
845 AS_IF([test "x$enable_jack" != "xno"],
846 [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
849 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
850 [AC_MSG_ERROR([*** JACK support not found])])
852 AC_SUBST(JACK_CFLAGS)
854 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
856 #### Async DNS support (optional) ####
858 AC_ARG_ENABLE([asyncns],
859 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
861 AS_IF([test "x$enable_asyncns" != "xno"],
862 [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
865 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
866 [AC_MSG_ERROR([*** Async DNS support not found])])
868 AC_SUBST(LIBASYNCNS_CFLAGS)
869 AC_SUBST(LIBASYNCNS_LIBS)
870 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
871 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
873 #### TCP wrappers (optional) ####
875 AC_ARG_ENABLE([tcpwrap],
876 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
878 AS_IF([test "x$enable_tcpwrap" != "xno"],
881 AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
885 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
886 [AC_MSG_ERROR([*** TCP wrappers support not found])])
888 AC_SUBST(LIBWRAP_LIBS)
890 #### LIRC support (optional) ####
892 AC_ARG_ENABLE([lirc],
893 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
898 AS_IF([test "x$enable_lirc" != "xno"],
901 AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
902 AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
906 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
907 [AC_MSG_ERROR([*** LIRC support not found])])
909 AC_SUBST(LIRC_CFLAGS)
911 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
913 #### D-Bus support (optional) ####
915 AC_ARG_ENABLE([dbus],
916 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
918 AS_IF([test "x$enable_dbus" != "xno"],
919 [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.3.0 ], HAVE_DBUS=1, HAVE_DBUS=0)],
922 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
923 [AC_MSG_ERROR([*** D-Bus (1.3.0+) support not found])])
925 AS_IF([test "x$HAVE_DBUS" = "x1"],
927 save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
928 save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
929 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
930 CFLAGS="$save_CFLAGS"
934 AC_SUBST(DBUS_CFLAGS)
937 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
938 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
940 PA_MACHINE_ID="${localstatedir}/lib/dbus/machine-id"
941 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
942 PA_MACHINE_ID_FALLBACK="${sysconfdir}/machine-id"
943 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
944 [Fallback machine-id file])
946 #### HAL support (optional), dependant on D-Bus ####
949 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]))
951 AS_IF([test "x$enable_hal" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
952 [PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ], HAVE_HAL=1, HAVE_HAL=0)],
954 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_HAL=0)
956 AS_IF([test "x$enable_hal" = "xyes" && test "x$HAVE_HAL" = "x0"],
957 [AC_MSG_ERROR([*** HAL support not found (requires D-Bus)])])
962 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
963 AS_IF([test "x$HAVE_HAL" = "x1"], AC_DEFINE([HAVE_HAL], 1, [Have HAL.]))
965 #### BlueZ support (optional, dependant on D-Bus) ####
967 AC_ARG_ENABLE([bluez],
968 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]))
970 AS_IF([test "x$enable_bluez" != "xno"],
971 [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
973 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_BLUEZ=0)
975 AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"],
976 [AC_MSG_ERROR([*** BLUEZ support not found (requires D-Bus)])])
978 AC_SUBST(BLUEZ_CFLAGS)
981 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
983 #### UDEV support (optional) ####
985 AC_ARG_ENABLE([udev],
986 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
988 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
989 [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
992 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
993 [AC_MSG_ERROR([*** UDEV support not found])])
995 AC_SUBST(UDEV_CFLAGS)
998 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
999 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
1001 #### HAL compat support (optional, dependant on UDEV) ####
1003 AC_ARG_ENABLE([hal-compat],
1004 AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1006 AS_IF([test "x$enable_hal_compat" != "xno"],
1007 [AS_IF([test "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1010 AS_IF([test "x$enable_hal_compat" = "xyes" && test "x$HAVE_HAL_COMPAT" = "x0"],
1011 [AC_MSG_ERROR([*** HAL-compat support requires UDEV and no HAL])])
1013 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1014 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1016 #### IPv6 connection support (optional) ####
1018 AC_ARG_ENABLE([ipv6],
1019 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1021 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1023 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1025 #### OpenSSL support (optional) ####
1027 AC_ARG_ENABLE([openssl],
1028 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1030 AS_IF([test "x$enable_openssl" != "xno"],
1031 [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1034 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1035 [AC_MSG_ERROR([*** OpenSSL support not found])])
1037 AC_SUBST(OPENSSL_CFLAGS)
1038 AC_SUBST(OPENSSL_LIBS)
1039 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1040 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1042 #### FFTW (optional) ####
1045 AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1047 AS_IF([test "x$with_fftw" != "xno"],
1048 [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1051 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1052 [AC_MSG_ERROR([*** FFTW support not found])])
1054 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1056 #### ORC (optional) ####
1060 #### Build and Install man pages ####
1062 AC_ARG_ENABLE([manpages],
1063 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1065 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1067 #### PulseAudio system group & user #####
1069 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1070 if test -z "$with_system_user" ; then
1071 PA_SYSTEM_USER=pulse
1073 PA_SYSTEM_USER=$with_system_user
1075 AC_SUBST(PA_SYSTEM_USER)
1076 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1078 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1079 if test -z "$with_system_group" ; then
1080 PA_SYSTEM_GROUP=pulse
1082 PA_SYSTEM_GROUP=$with_system_group
1084 AC_SUBST(PA_SYSTEM_GROUP)
1085 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1087 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)]))
1088 if test -z "$with_access_group" ; then
1089 PA_ACCESS_GROUP=pulse-access
1091 PA_ACCESS_GROUP=$with_access_group
1093 AC_SUBST(PA_ACCESS_GROUP)
1094 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1096 AC_ARG_ENABLE([per-user-esound-socket],
1097 AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1099 if test "x$enable_per_user_esound_socket" != "xno"; then
1100 USE_PER_USER_ESOUND_SOCKET=1
1101 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1103 USE_PER_USER_ESOUND_SOCKET=0
1106 #### PulseAudio system runtime dir ####
1108 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1109 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1110 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1111 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1112 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1113 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1115 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1116 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1118 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1119 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1121 AC_SUBST(PA_SOEXT, [.so])
1123 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1124 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1126 AC_DEFINE_UNQUOTED(PA_BUILDDIR, "${ac_pwd}/src", [Location of uninstalled binaries])
1128 #### Mac OSX specific stuff #####
1130 AC_ARG_ENABLE(mac-universal,
1131 AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1132 enable_mac_universal=$enableval, enable_mac_universal="no")
1134 AC_ARG_WITH(mac-version-min,
1135 AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1136 mac_version_min=$withval, mac_version_min="10.5")
1138 AC_ARG_WITH(mac-sysroot,
1139 AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1140 mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
1142 if test "x$os_is_darwin" = "x1" ; then
1143 LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1144 CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1146 if test "x$enable_mac_universal" = "xyes" ; then
1147 mac_arches="-arch i386 -arch x86_64"
1148 LDFLAGS="$LDFLAGS $mac_arches"
1149 CFLAGS="$CFLAGS $mac_arches"
1153 AC_ARG_ENABLE([webrtc-aec],
1154 AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1156 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1157 [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1160 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1161 [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1163 AC_SUBST(WEBRTC_CFLAGS)
1164 AC_SUBST(WEBRTC_LIBS)
1165 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1168 ###################################
1170 ###################################
1172 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1174 # Check whether to build tests by default (as compile-test) or not
1175 AC_ARG_ENABLE([default-build-tests],
1176 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1177 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1179 AC_ARG_ENABLE([legacy-runtime-dir],
1180 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1181 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1182 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1185 AC_ARG_ENABLE([legacy-database-entry-format],
1186 AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1187 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1188 AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1190 AC_DEFINE([WIBBLE], 1, [Just a test.])
1192 AC_ARG_ENABLE([static-bins],
1193 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1194 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1198 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1199 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1200 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1201 if test "x$PREOPEN_MODS" != "xall" ; then
1203 for mod in $PREOPEN_MODS; do
1204 tmpLIBS="$tmpLIBS module-$mod.la"
1206 PREOPEN_MODS="$tmpLIBS"
1207 AC_SUBST(PREOPEN_MODS)
1212 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1213 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1215 AC_SUBST(modlibexecdir)
1216 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1220 AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1221 [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1223 AC_SUBST(udevrulesdir)
1225 AC_ARG_ENABLE([force-preopen],
1226 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1228 if test "x$enable_force_preopen" = "xyes"; then
1234 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1242 libpulse-mainloop-glib.pc
1244 doxygen/doxygen.conf
1247 man/pulseaudio.1.xml
1249 man/pax11publish.1.xml
1254 man/pasuspender.1.xml
1256 man/pulse-daemon.conf.5.xml
1257 man/pulse-client.conf.5.xml
1258 man/default.pa.5.xml
1259 man/start-pulseaudio-kde.1.xml
1260 man/start-pulseaudio-x11.1.xml
1263 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1264 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1265 AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
1266 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1267 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1268 [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1269 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1270 [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1271 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1272 [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1274 # CMake related ProjectConfig files
1276 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1277 PA_INCDIR="$includedir"
1278 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1280 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1281 [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1282 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1286 # ==========================================================================
1288 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1289 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1290 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1291 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1292 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1293 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1294 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1295 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1296 AS_IF([test "x$HAVE_GTK20" = "x1"], ENABLE_GTK20=yes, ENABLE_GTK20=no)
1297 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1298 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1299 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1300 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1301 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1302 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1303 AS_IF([test "x$HAVE_HAL" = "x1"], ENABLE_HAL=yes, ENABLE_HAL=no)
1304 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1305 AS_IF([test "x$HAVE_BLUEZ" = "x1"], ENABLE_BLUEZ=yes, ENABLE_BLUEZ=no)
1306 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1307 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1308 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
1309 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1310 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1311 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1312 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1313 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1314 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1315 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1316 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1317 AS_IF([test "x$USE_PER_USER_ESOUND_SOCKET" = "x1"], ENABLE_PER_USER_ESOUND_SOCKET=yes, ENABLE_PER_USER_ESOUND_SOCKET=no)
1318 AS_IF([test "x$enable_legacy_runtime_dir" != "xno"], ENABLE_LEGACY_RUNTIME_DIR=yes, ENABLE_LEGACY_RUNTIME_DIR=no)
1319 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1322 ---{ $PACKAGE_NAME $VERSION }---
1325 sysconfdir: ${sysconfdir}
1326 localstatedir: ${localstatedir}
1327 modlibexecdir: ${modlibexecdir}
1328 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1329 System State Path: ${PA_SYSTEM_STATE_PATH}
1330 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1335 Enable X11: ${ENABLE_X11}
1336 Enable OSS Output: ${ENABLE_OSS_OUTPUT}
1337 Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
1338 Enable Alsa: ${ENABLE_ALSA}
1339 Enable CoreAudio: ${ENABLE_COREAUDIO}
1340 Enable Solaris: ${ENABLE_SOLARIS}
1341 Enable WaveOut: ${ENABLE_WAVEOUT}
1342 Enable GLib 2.0: ${ENABLE_GLIB20}
1343 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1344 Enable GConf: ${ENABLE_GCONF}
1345 Enable Avahi: ${ENABLE_AVAHI}
1346 Enable Jack: ${ENABLE_JACK}
1347 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1348 Enable LIRC: ${ENABLE_LIRC}
1349 Enable D-Bus: ${ENABLE_DBUS}
1350 Enable HAL: ${ENABLE_HAL}
1351 Enable BlueZ: ${ENABLE_BLUEZ}
1352 Enable udev: ${ENABLE_UDEV}
1353 Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
1354 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1355 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1356 Enable IPv6: ${ENABLE_IPV6}
1357 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1358 Enable fftw: ${ENABLE_FFTW}
1359 Enable orc: ${ENABLE_ORC}
1360 Enable WebRTC echo canceller: ${ENABLE_WEBRTC}
1363 gdbm: ${ENABLE_GDBM}
1364 simple database: ${ENABLE_SIMPLEDB}
1366 System User: ${PA_SYSTEM_USER}
1367 System Group: ${PA_SYSTEM_GROUP}
1368 Access Group: ${PA_ACCESS_GROUP}
1369 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1370 Force preopen: ${FORCE_PREOPEN}
1371 Preopened modules: ${PREOPEN_MODS}
1373 Legacy Runtime Dir Support: ${ENABLE_LEGACY_RUNTIME_DIR}
1374 Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1377 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1379 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1380 You do not have D-Bus support enabled. It is strongly recommended
1381 that you enable D-Bus support if your platform supports it.
1382 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1383 to the Device Reservation Protocol to speak to JACK, Bluetooth
1384 support and even a native control protocol for communicating and
1385 controling the PulseAudio daemon itself.
1386 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1390 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1392 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1393 You do not have udev support enabled. It is strongly recommended
1394 that you enable udev support if your platform supports it as it is
1395 the primary method used to detect hardware audio devices (on Linux)
1396 and is thus a critical part of PulseAudio on that platform.
1397 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====