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]),
26 [mzchyfrnhqvb (at) 0pointer (dot) net])
27 AC_CONFIG_SRCDIR([src/daemon/main.c])
28 AC_CONFIG_MACRO_DIR([m4])
29 AC_CONFIG_HEADERS([config.h])
30 AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax])
32 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
33 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
34 m4_define(pa_micro, `echo $VERSION | cut -d. -f3 | cut -d- -f1`)
36 AC_SUBST(PA_MAJOR, pa_major)
37 AC_SUBST(PA_MINOR, pa_minor)
38 AC_SUBST(PA_MICRO, pa_micro)
39 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
40 AC_SUBST(PA_MAJORMINORMICRO, pa_major.pa_minor.pa_micro)
41 AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
43 AC_SUBST(PA_API_VERSION, 12)
44 AC_SUBST(PA_PROTOCOL_VERSION, 16)
46 # The stable ABI for client applications, for the version info x:y:z
47 # always will hold y=z
48 AC_SUBST(LIBPULSE_VERSION_INFO, [8:0:8])
50 # A simplified, synchronous, ABI-stable interface for client
51 # applications, for the version info x:y:z always will hold y=z
52 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:2:0])
54 # The ABI-stable network browsing interface for client applications,
55 # for the version info x:y:z always will hold y=z
56 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
58 # The ABI-stable GLib adapter for client applications, for the version
59 # info x:y:z always will hold y=z
60 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
63 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
65 if type -p stow > /dev/null && test -d /usr/local/stow ; then
66 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
67 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
70 #### Platform hacks ####
74 AC_DEFINE(_XOPEN_SOURCE, 600, Needed to get declarations for msg_control and msg_controllen on Solaris)
75 AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
79 AM_SILENT_RULES([yes])
81 #### Checks for programs. ####
92 AC_PROG_GCC_TRADITIONAL
93 AC_USE_SYSTEM_EXTENSIONS
97 AC_CHECK_PROGS([M4], gm4 m4, no)
98 if test "x$M4" = xno ; then
99 AC_MSG_ERROR([m4 missing])
103 CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pipe -Wno-long-long -Winline -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=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option])
106 dnl Check whether the linker supports the -version-script option.
108 dnl This variable is used to make sure ${srcdir} is expanded and not
109 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
110 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
112 CC_CHECK_LDFLAGS([${tmp_ldflag}],
113 [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
114 AC_SUBST([VERSIONING_LDFLAGS])
116 dnl Use immediate (now) bindings; avoids the funky re-call in itself
117 dnl the -z now syntax is lifted from Sun's linker and works with GNU's too
118 dnl other linkes might be added later
119 CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"])
120 AC_SUBST([IMMEDIATE_LDFLAGS])
122 dnl Check for the proper way to build libraries that have no undefined
123 dnl symbols; on some hosts this needs to be avoided but the macro
124 dnl takes care of it.
127 dnl Check whether to build tests by default (as compile-test) or not
128 AC_ARG_ENABLE([default-build-tests],
129 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
131 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
133 # Native atomic operation support
134 AC_ARG_ENABLE([atomic-arm-linux-helpers],
135 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
137 case "${enableval}" in
138 yes) atomic_arm_linux_helpers=yes ;;
139 no) atomic_arm_linux_helpers=no ;;
140 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
143 [atomic_arm_linux_helpers=auto])
145 AC_ARG_ENABLE([atomic-arm-memory-barrier],
146 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
148 case "${enableval}" in
149 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
151 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
155 AC_ARG_ENABLE([netbsd-atomic-ops],
156 AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
158 case "${enableval}" in
159 yes) atomic_netbsd_helpers=yes ;;
160 no) atomic_netbsd_helpers=no ;;
161 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
164 [atomic_netbsd_helpers=auto])
166 AC_MSG_CHECKING([target operating system])
169 AC_MSG_RESULT([linux])
170 pulse_target_os=linux
173 AC_MSG_RESULT([netbsd])
174 pulse_target_os=netbsd
177 AC_MSG_RESULT([unknown])
178 pulse_target_os=unknown
182 # If everything else fails use libatomic_ops
183 need_libatomic_ops=yes
185 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
186 pulseaudio_cv_sync_bool_compare_and_swap,
188 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
189 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
190 [pulseaudio_cv_sync_bool_compare_and_swap=no])
193 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
194 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
195 need_libatomic_ops=no
197 # HW specific atomic ops stuff
198 AC_MSG_CHECKING([architecture for native atomic operations])
202 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
203 # The Linux kernel helper functions have been there since 2.6.16. However
204 # compile time checking for kernel version in cross compile environment
205 # (which is usually the case for arm cpu) is tricky (or impossible).
206 if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
208 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
209 need_libatomic_ops=no
212 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
213 pulseaudio_cv_support_arm_atomic_ops,
218 asm volatile ("ldrex %0, [%1]\n"
220 "strexeq %0, %3, [%1]\n"
222 : "r" (&a), "Ir" (o), "r" (n)
224 return (a==1 ? 0 : -1);
226 [pulseaudio_cv_support_arm_atomic_ops=yes],
227 [pulseaudio_cv_support_arm_atomic_ops=no])
229 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
230 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
231 need_libatomic_ops=no
236 if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
238 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
239 need_libatomic_ops=no
241 AC_MSG_RESULT([unknown])
249 AC_CACHE_CHECK([whether $CC knows _Bool],
252 AC_LANG_PROGRAM([], [[_Bool b;]]),
253 [pulseaudio_cv__Bool=yes],
254 [pulseaudio_cv__Bool=no])
257 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
258 AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
261 #### libtool stuff ####
263 LT_INIT([dlopen win32-dll disable-static])
265 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
266 dnl exactly which version of libltdl is present in the system, so we
267 dnl just assume that it's a working version as long as we have the
268 dnl library and the header files.
270 dnl As an extra safety device, check for lt_dladvise_init() which is
271 dnl only implemented in libtool 2.x, and refine as we go if we have
272 dnl refined requirements.
274 dnl Check the header files first since the system may have a
275 dnl libltdl.so for runtime, but no headers, and we want to bail out as
276 dnl soon as possible.
278 dnl We don't need any special variable for this though, since the user
279 dnl can give the proper place to find libltdl through the standard
280 dnl variables like LDFLAGS and CPPFLAGS.
282 AC_CHECK_HEADER([ltdl.h],
283 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
286 AS_IF([test "x$LIBLTDL" = "x"],
287 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
290 #### Determine build environment ####
296 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
301 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
303 ###################################
304 # Basic environment checks #
305 ###################################
307 #### Checks for header files. ####
313 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
314 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
315 sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
316 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
317 AC_CHECK_HEADERS([netinet/ip.h], [], [],
318 [#include <sys/types.h>
319 #if HAVE_NETINET_IN_H
320 # include <netinet/in.h>
322 #if HAVE_NETINET_IN_SYSTM_H
323 # include <netinet/in_systm.h>
326 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
327 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
329 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
330 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
333 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
335 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
337 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
340 AC_CHECK_HEADERS_ONCE([sys/filio.h])
343 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
346 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
349 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
350 AC_CHECK_HEADERS_ONCE([byteswap.h])
351 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
352 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
353 AC_CHECK_HEADERS_ONCE([execinfo.h])
355 #### Typdefs, structures, etc. ####
361 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
362 [Define ssize_t if it is not done by the standard libs.])])
366 AC_CHECK_DECLS(environ)
368 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
370 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
372 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
375 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
376 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
377 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
379 #### POSIX threads ####
383 #### Check for libs ####
386 AC_SEARCH_LIBS([pow], [m])
389 AC_SEARCH_LIBS([sched_setscheduler], [rt])
390 AC_SEARCH_LIBS([dlopen], [dl])
391 AC_SEARCH_LIBS([shm_open], [rt])
392 AC_SEARCH_LIBS([inet_ntop], [nsl])
393 AC_SEARCH_LIBS([timer_create], [rt])
396 AC_SEARCH_LIBS([connect], [socket])
397 AC_SEARCH_LIBS([backtrace], [execinfo])
401 # This magic is needed so we do not needlessly add static libs to the win32
402 # build, disabling its ability to make dlls.
403 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
405 #### Check for functions ####
408 AC_CHECK_FUNCS_ONCE([lrintf strtof])
413 AC_FUNC_SELECT_ARGTYPES
414 AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
415 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
416 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
417 sigaction sleep sysconf pthread_setaffinity_np])
418 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
420 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
423 AC_CHECK_FUNCS_ONCE([readlink])
426 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
429 AC_CHECK_FUNCS_ONCE([strerror_r])
432 AC_CHECK_FUNCS_ONCE([lstat])
436 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
440 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
441 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
442 [save_CC=$CC; CC=$PTHREAD_CC
443 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
444 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
450 [[int i = PTHREAD_PRIO_INHERIT;]]),
451 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
452 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
458 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
459 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
462 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
464 #### Large File-Support (LFS) ####
468 # Check for open64 to know if the current system does have open64() and similar functions
469 AC_CHECK_FUNCS_ONCE([open64])
475 IT_PROG_INTLTOOL([0.35.0])
476 GETTEXT_PACKAGE=pulseaudio
477 AC_SUBST([GETTEXT_PACKAGE])
478 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
481 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
482 AC_SUBST(pulselocaledir)
484 ###################################
485 # External libraries #
486 ###################################
492 #### X11 (optional) ####
495 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
497 case "${enableval}" in
500 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
505 if test "x${x11}" != xno ; then
506 PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
510 if test "x$x11" = xyes ; then
511 AC_MSG_ERROR([*** X11 not found])
518 if test "x${HAVE_X11}" = x1 ; then
519 AC_DEFINE([HAVE_X11], 1, [Have X11?])
525 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
527 #### Capabilities (optional) ####
533 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
535 if test "x${with_caps}" != "xno"; then
536 AC_SEARCH_LIBS([cap_init], [cap], [], [
537 if test "x${with_caps}" = "xyes" ; then
538 AC_MSG_ERROR([*** POSIX caps libraries not found])
540 AC_CHECK_HEADERS([sys/capability.h], [], [
541 if test "x${with_caps}" = "xyes" ; then
542 AC_MSG_ERROR([*** POSIX caps headers not found])
546 #### Valgrind (optional) ####
548 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
552 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
553 AC_SUBST(LIBSNDFILE_CFLAGS)
554 AC_SUBST(LIBSNDFILE_LIBS)
556 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
557 AC_SUBST(LIBSPEEX_CFLAGS)
558 AC_SUBST(LIBSPEEX_LIBS)
562 AC_MSG_CHECKING([whether we need libatomic_ops])
563 if test "x$need_libatomic_ops" = "xyes"; then
565 AC_CHECK_HEADERS([atomic_ops.h], [], [
566 AC_MSG_ERROR([*** libatomic-ops headers not found])
569 # Win32 does not need the lib and breaks horribly if we try to include it
570 if test "x$os_is_win32" != "x1" ; then
571 LIBS="$LIBS -latomic_ops"
577 #### Libsamplerate support (optional) ####
579 AC_ARG_ENABLE([samplerate],
580 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
582 case "${enableval}" in
583 yes) samplerate=yes ;;
585 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
590 if test "x${samplerate}" != xno ; then
591 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
592 HAVE_LIBSAMPLERATE=1,
595 if test "x$samplerate" = xyes ; then
596 AC_MSG_ERROR([*** Libsamplerate not found])
603 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
604 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
607 AC_SUBST(LIBSAMPLERATE_CFLAGS)
608 AC_SUBST(LIBSAMPLERATE_LIBS)
609 AC_SUBST(HAVE_LIBSAMPLERATE)
610 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
612 #### Database support ####
619 AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
621 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
622 PKG_CHECK_MODULES(TDB, [ tdb ],
627 if test "x${with_database}" = "xtdb" ; then
628 AC_MSG_ERROR([*** tdb not found])
633 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
636 AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
637 AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
639 if test "x${have_gdbm}" = "xyes" ; then
644 elif test "x${with_database}" = "xgdbm"; then
645 AC_MSG_ERROR([*** gdbm not found])
649 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
650 AC_MSG_ERROR([*** missing database backend])
653 if test "x${HAVE_TDB}" = x1 ; then
654 AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
657 if test "x${HAVE_GDBM}" = x1 ; then
658 AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
664 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
666 AC_SUBST(GDBM_CFLAGS)
669 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
671 #### OSS support (optional) ####
674 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
676 case "${enableval}" in
679 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
684 if test "x${oss}" != xno ; then
685 AC_CHECK_HEADERS([sys/soundcard.h],
688 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
692 if test "x$oss" = xyes ; then
693 AC_MSG_ERROR([*** OSS support not found])
701 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
704 #### ALSA support (optional) ####
706 AC_ARG_ENABLE([alsa],
707 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
709 case "${enableval}" in
712 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
717 if test "x${alsa}" != xno ; then
718 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
721 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
725 if test "x$alsa" = xyes ; then
726 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
733 AC_SUBST(ASOUNDLIB_CFLAGS)
734 AC_SUBST(ASOUNDLIB_LIBS)
736 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
738 #### Solaris audio support (optional) ####
740 AC_ARG_ENABLE([solaris],
741 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
743 case "${enableval}" in
746 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
751 if test "x${solaris}" != xno ; then
752 AC_CHECK_HEADERS([sys/audio.h],
755 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
759 if test "x$solaris" = xyes ; then
760 AC_MSG_ERROR([*** Solaris audio support not found])
767 AC_SUBST(HAVE_SOLARIS)
768 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
770 #### GLib 2 support (optional) ####
772 AC_ARG_ENABLE([glib2],
773 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
775 case "${enableval}" in
778 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
783 if test "x${glib2}" != xno ; then
784 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
788 if test "x$glib2" = xyes ; then
789 AC_MSG_ERROR([*** GLib 2 support not found])
796 AC_SUBST(GLIB20_CFLAGS)
797 AC_SUBST(GLIB20_LIBS)
798 AC_SUBST(HAVE_GLIB20)
799 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
801 if test "x$HAVE_GLIB20" = x1 ; then
802 AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
805 #### GTK2 support (optional) ####
807 AC_ARG_ENABLE([gtk2],
808 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
810 case "${enableval}" in
813 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
818 if test "x${gtk2}" != xno ; then
819 PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
823 if test "x$gtk2" = xyes ; then
824 AC_MSG_ERROR([*** Gtk+ 2 support not found])
831 AC_SUBST(GTK20_CFLAGS)
834 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
836 if test "x$HAVE_GTK20" = x1 ; then
837 AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
840 #### GConf support (optional) ####
842 AC_ARG_ENABLE([gconf],
843 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
845 case "${enableval}" in
848 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
853 if test "x${gconf}" != xno ; then
854 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
858 if test "x$gconf" = xyes ; then
859 AC_MSG_ERROR([*** GConf support not found])
866 AC_SUBST(GCONF_CFLAGS)
869 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
871 #### Avahi support (optional) ####
873 AC_ARG_ENABLE([avahi],
874 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
876 case "${enableval}" in
879 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
884 if test "x${avahi}" != xno ; then
885 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
889 if test "x$avahi" = xyes ; then
890 AC_MSG_ERROR([*** Avahi support not found])
897 AC_SUBST(AVAHI_CFLAGS)
900 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
904 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
905 AC_SUBST(LIBOIL_CFLAGS)
906 AC_SUBST(LIBOIL_LIBS)
908 ### JACK (optional) ####
910 AC_ARG_ENABLE([jack],
911 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
913 case "${enableval}" in
916 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
921 if test "x${jack}" != xno ; then
922 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
926 if test "x$jack" = xyes ; then
927 AC_MSG_ERROR([*** JACK support not found])
934 AC_SUBST(JACK_CFLAGS)
937 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
939 #### Async DNS support (optional) ####
941 AC_ARG_ENABLE([asyncns],
942 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
944 case "${enableval}" in
947 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
952 if test "x${asyncns}" != xno ; then
953 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
957 if test "x$asyncns" = xyes ; then
958 AC_MSG_ERROR([*** Async DNS support not found])
965 AC_SUBST(LIBASYNCNS_CFLAGS)
966 AC_SUBST(LIBASYNCNS_LIBS)
967 AC_SUBST(HAVE_LIBASYNCNS)
968 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
970 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
971 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
974 #### TCP wrappers (optional) ####
976 AC_ARG_ENABLE([tcpwrap],
977 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
979 case "${enableval}" in
982 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
987 if test "x${tcpwrap}" != xno ; then
989 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
990 AC_MSG_ERROR([*** TCP wrappers support not found])
996 AC_SUBST(LIBWRAP_LIBS)
998 #### LIRC support (optional) ####
1000 AC_ARG_ENABLE([lirc],
1001 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1003 case "${enableval}" in
1006 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1011 if test "x${lirc}" != xno ; then
1013 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1014 AC_MSG_ERROR([*** LIRC support not found])
1020 AC_SUBST(LIRC_CFLAGS)
1022 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1024 #### HAL support (optional) ####
1026 AC_ARG_ENABLE([hal],
1027 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1029 case "${enableval}" in
1032 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1036 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1037 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1040 AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1044 if test "x$hal" = xyes ; then
1045 AC_MSG_ERROR([*** HAL support not found])
1052 AC_SUBST(HAL_CFLAGS)
1055 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1057 #### UDEV support (optional) ####
1059 AC_ARG_ENABLE([udev],
1060 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1062 case "${enableval}" in
1065 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1069 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1070 PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1073 AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1077 if test "x$udev" = xyes ; then
1078 AC_MSG_ERROR([*** UDEV support not found])
1085 AC_SUBST(UDEV_CFLAGS)
1088 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1090 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1092 #### BlueZ support (optional) ####
1094 AC_ARG_ENABLE([bluez],
1095 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1097 case "${enableval}" in
1100 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1104 if test "x${bluez}" != xno ; then
1105 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1109 if test "x$bluez" = xyes ; then
1110 AC_MSG_ERROR([*** BLUEZ support not found])
1117 AC_SUBST(BLUEZ_CFLAGS)
1118 AC_SUBST(BLUEZ_LIBS)
1119 AC_SUBST(HAVE_BLUEZ)
1120 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1122 #### D-Bus support (optional) ####
1124 AC_ARG_ENABLE([dbus],
1125 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1127 case "${enableval}" in
1130 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1135 if test "x$HAVE_HAL" = x1 ; then
1139 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1141 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1145 LIBS="$LIBS $DBUS_LIBS"
1146 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1148 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1152 if test "x$dbus" = xyes ; then
1153 AC_MSG_ERROR([*** D-Bus support not found])
1160 AC_SUBST(DBUS_CFLAGS)
1163 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1165 ### IPv6 connection support (optional) ###
1167 AC_ARG_ENABLE([ipv6],
1168 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1170 case "${enableval}" in
1173 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1178 if test "x${ipv6}" != xno ; then
1179 AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1185 #### OpenSSL support (optional) ####
1187 AC_ARG_ENABLE([openssl],
1188 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1190 case "${enableval}" in
1193 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1198 if test "x${openssl}" != xno ; then
1200 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1203 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1207 if test "x$openssl" = xyes ; then
1208 AC_MSG_ERROR([*** OpenSSL support not found])
1215 AC_SUBST(OPENSSL_CFLAGS)
1216 AC_SUBST(OPENSSL_LIBS)
1217 AC_SUBST(HAVE_OPENSSL)
1218 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1220 ### Build and Install man pages ###
1221 AC_ARG_ENABLE(manpages,
1222 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1223 [case "${enableval}" in
1224 yes) manpages=yes ;;
1226 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1227 esac],[manpages=yes])
1229 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1231 #### PulseAudio system group & user #####
1233 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1234 if test -z "$with_system_user" ; then
1235 PA_SYSTEM_USER=pulse
1237 PA_SYSTEM_USER=$with_system_user
1239 AC_SUBST(PA_SYSTEM_USER)
1240 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1242 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1243 if test -z "$with_system_group" ; then
1244 PA_SYSTEM_GROUP=pulse
1246 PA_SYSTEM_GROUP=$with_system_group
1248 AC_SUBST(PA_SYSTEM_GROUP)
1249 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1251 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)]))
1252 if test -z "$with_access_group" ; then
1253 PA_ACCESS_GROUP=pulse-access
1255 PA_ACCESS_GROUP=$with_access_group
1257 AC_SUBST(PA_ACCESS_GROUP)
1258 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1261 per_user_esound_socket,
1262 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1264 case "${enableval}" in
1265 yes) per_user_esound_socket=1 ;;
1266 no) per_user_esound_socket=0 ;;
1267 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1270 [per_user_esound_socket=1])
1272 if test "x$per_user_esound_socket" = "x1"; then
1273 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1276 #### PulseAudio system runtime dir ####
1277 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1278 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1279 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1280 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1281 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1282 AC_SUBST(PA_SYSTEM_STATE_PATH)
1284 ###################################
1286 ###################################
1288 AC_ARG_ENABLE([legacy-runtime-dir],
1289 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1290 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1291 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1296 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1297 [STATIC_BINS=1], [STATIC_BINS=0])
1298 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1302 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1303 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1304 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1305 if test "x$PREOPEN_MODS" != "xall" ; then
1307 for mod in $PREOPEN_MODS; do
1308 tmpLIBS="$tmpLIBS module-$mod.la"
1310 PREOPEN_MODS="$tmpLIBS"
1311 AC_SUBST(PREOPEN_MODS)
1316 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules]),
1317 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules"])
1319 AC_SUBST(modlibexecdir)
1323 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1324 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1325 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1334 libpulse-mainloop-glib.pc
1336 doxygen/doxygen.conf
1343 # ==========================================================================
1345 if test "x$HAVE_X11" = "x1" ; then
1350 if test "x$HAVE_OSS" = "x1" ; then
1355 if test "x$HAVE_ALSA" = "x1" ; then
1360 if test "x$HAVE_SOLARIS" = "x1" ; then
1365 if test "x$HAVE_GTK20" = "x1" ; then
1370 if test "x$HAVE_GLIB20" = "x1" ; then
1375 if test "x$HAVE_GCONF" = "x1" ; then
1380 if test "x$HAVE_AVAHI" = "x1" ; then
1385 if test "x$HAVE_JACK" = "x1" ; then
1389 ENABLE_LIBASYNCNS=no
1390 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1391 ENABLE_LIBASYNCNS=yes
1395 if test "x$HAVE_LIRC" = "x1" ; then
1400 if test "x$HAVE_HAL" = "x1" ; then
1405 if test "x$HAVE_UDEV" = "x1" ; then
1410 if test "x${LIBWRAP_LIBS}" != x ; then
1414 ENABLE_LIBSAMPLERATE=no
1415 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1416 ENABLE_LIBSAMPLERATE=yes
1420 if test "x${HAVE_BLUEZ}" = "x1" ; then
1425 if test "x${HAVE_GDBM}" = "x1" ; then
1430 if test "x${HAVE_TDB}" = "x1" ; then
1435 if test "x${HAVE_OPENSSL}" = "x1" ; then
1440 if test "x${HAVE_IPV6}" = "x1" ; then
1444 ENABLE_PER_USER_ESOUND_SOCKET=no
1445 if test "x$per_user_esound_socket" = "x1" ; then
1446 ENABLE_PER_USER_ESOUND_SOCKET=yes
1450 ---{ $PACKAGE_NAME $VERSION }---
1453 sysconfdir: ${sysconfdir}
1454 localstatedir: ${localstatedir}
1455 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1456 System State Path: ${PA_SYSTEM_STATE_PATH}
1457 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1461 Have X11: ${ENABLE_X11}
1462 Enable OSS: ${ENABLE_OSS}
1463 Enable Alsa: ${ENABLE_ALSA}
1464 Enable Solaris: ${ENABLE_SOLARIS}
1465 Enable GLib 2.0: ${ENABLE_GLIB20}
1466 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1467 Enable GConf: ${ENABLE_GCONF}
1468 Enable Avahi: ${ENABLE_AVAHI}
1469 Enable Jack: ${ENABLE_JACK}
1470 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1471 Enable LIRC: ${ENABLE_LIRC}
1472 Enable HAL: ${ENABLE_HAL}
1473 Enable udev: ${ENABLE_UDEV}
1474 Enable BlueZ: ${ENABLE_BLUEZ}
1475 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1476 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1477 Enable IPv6: ${ENABLE_IPV6}
1478 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1479 Enable tdb: ${ENABLE_TDB}
1480 Enable gdbm: ${ENABLE_GDBM}
1482 System User: ${PA_SYSTEM_USER}
1483 System Group: ${PA_SYSTEM_GROUP}
1484 Access Group: ${PA_ACCESS_GROUP}
1485 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1486 Force preopen: ${FORCE_PREOPEN}
1487 Preopened modules: ${PREOPEN_MODS}