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 m4_define(PA_MAJOR, [0])
26 m4_define(PA_MINOR, [9])
27 m4_define(PA_MICRO, [15])
29 AC_INIT([pulseaudio],[PA_MAJOR.PA_MINOR.PA_MICRO],[mzchyfrnhqvb (at) 0pointer (dot) net])
30 AC_CONFIG_SRCDIR([src/daemon/main.c])
31 AC_CONFIG_MACRO_DIR([m4])
32 AC_CONFIG_HEADERS([config.h])
33 AM_INIT_AUTOMAKE([foreign 1.10 -Wall])
35 AC_SUBST(PA_MAJORMINOR, PA_MAJOR.PA_MINOR)
36 AC_SUBST(PA_MAJORMINORMICRO, PA_MAJOR.PA_MINOR.PA_MICRO)
37 AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
39 AC_SUBST(PA_API_VERSION, 12)
40 AC_SUBST(PA_PROTOCOL_VERSION, 15)
42 # The stable ABI for client applications, for the version info x:y:z
43 # always will hold y=z
44 AC_SUBST(LIBPULSE_VERSION_INFO, [7:1:7])
46 # A simplified, synchronous, ABI-stable interface for client
47 # applications, for the version info x:y:z always will hold y=z
48 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:2:0])
50 # The ABI-stable network browsing interface for client applications,
51 # for the version info x:y:z always will hold y=z
52 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
54 # The ABI-stable GLib adapter for client applications, for the version
55 # info x:y:z always will hold y=z
56 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
59 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
61 if type -p stow > /dev/null && test -d /usr/local/stow ; then
62 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
63 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
66 #### Platform hacks ####
70 AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
71 AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris)
72 AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
76 #### Checks for programs. ####
87 AC_PROG_GCC_TRADITIONAL
88 AC_USE_SYSTEM_EXTENSIONS
92 AC_PATH_PROG([M4], [m4 gm4], [no])
93 if test "x$M4" = xno ; then
94 AC_MSG_ERROR([m4 missing])
98 DESIRED_FLAGS="-Wall -W -Wextra -pedantic -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wpacked -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"
100 for flag in $DESIRED_FLAGS ; do
101 CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
104 dnl Check whether to build tests by default (as compile-test) or not
105 AC_ARG_ENABLE([default-build-tests],
106 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
108 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
110 # Native atomic operation support
111 AC_ARG_ENABLE([atomic-arm-linux-helpers],
112 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
114 case "${enableval}" in
115 yes) atomic_arm_linux_helpers=yes ;;
116 no) atomic_arm_linux_helpers=no ;;
117 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
120 [atomic_arm_linux_helpers=auto])
122 AC_ARG_ENABLE([atomic-arm-memory-barrier],
123 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
125 case "${enableval}" in
126 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
128 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
132 AC_ARG_ENABLE([netbsd-atomic-ops],
133 AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
135 case "${enableval}" in
136 yes) atomic_netbsd_helpers=yes ;;
137 no) atomic_netbsd_helpers=no ;;
138 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
141 [atomic_netbsd_helpers=auto])
143 AC_MSG_CHECKING([target operating system])
146 AC_MSG_RESULT([linux])
147 pulse_target_os=linux
150 AC_MSG_RESULT([netbsd])
151 pulse_target_os=netbsd
154 AC_MSG_RESULT([unknown])
155 pulse_target_os=unknown
159 # If everything else fails use libatomic_ops
160 need_libatomic_ops=yes
162 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
163 pulseaudio_cv_sync_bool_compare_and_swap,
165 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
166 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
167 [pulseaudio_cv_sync_bool_compare_and_swap=no])
170 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
171 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
172 need_libatomic_ops=no
174 # HW specific atomic ops stuff
175 AC_MSG_CHECKING([architecture for native atomic operations])
179 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
180 # The Linux kernel helper functions have been there since 2.6.16. However
181 # compile time checking for kernel version in cross compile environment
182 # (which is usually the case for arm cpu) is tricky (or impossible).
183 if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
185 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
186 need_libatomic_ops=no
189 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
190 pulseaudio_cv_support_arm_atomic_ops,
195 asm volatile ("ldrex %0, [%1]\n"
197 "strexeq %0, %3, [%1]\n"
199 : "r" (&a), "Ir" (o), "r" (n)
201 return (a==1 ? 0 : -1);
203 [pulseaudio_cv_support_arm_atomic_ops=yes],
204 [pulseaudio_cv_support_arm_atomic_ops=no])
206 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
207 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
208 need_libatomic_ops=no
213 if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
215 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
216 need_libatomic_ops=no
218 AC_MSG_RESULT([unknown])
226 AC_CACHE_CHECK([whether $CC knows _Bool],
229 AC_LANG_PROGRAM([], [[_Bool b;]]),
230 [pulseaudio_cv__Bool=yes],
231 [pulseaudio_cv__Bool=no])
234 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
235 AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
238 #### libtool stuff ####
240 LT_INIT([dlopen win32-dll disable-static])
242 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
243 dnl exactly which version of libltdl is present in the system, so we
244 dnl just assume that it's a working version as long as we have the
245 dnl library and the header files.
247 dnl As an extra safety device, check for lt_dladvise_init() which is
248 dnl only implemented in libtool 2.x, and refine as we go if we have
249 dnl refined requirements.
251 dnl Check the header files first since the system may have a
252 dnl libltdl.so for runtime, but no headers, and we want to bail out as
253 dnl soon as possible.
255 dnl We don't need any special variable for this though, since the user
256 dnl can give the proper place to find libltdl through the standard
257 dnl variables like LDFLAGS and CPPFLAGS.
259 AC_CHECK_HEADER([ltdl.h],
260 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
263 AS_IF([test "x$LIBLTDL" = "x"],
264 [AC_MSG_ERROR([Unable to find libltdl.])])
267 #### Determine build environment ####
273 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
278 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
280 ###################################
281 # Basic environment checks #
282 ###################################
284 #### Checks for header files. ####
290 AC_CHECK_HEADERS([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
291 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
292 sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
293 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
294 AC_CHECK_HEADERS([netinet/ip.h], [], [],
295 [#include <sys/types.h>
296 #if HAVE_NETINET_IN_H
297 # include <netinet/in.h>
299 #if HAVE_NETINET_IN_SYSTM_H
300 # include <netinet/in_systm.h>
303 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
304 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
306 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
307 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
310 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
312 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
314 AC_CHECK_HEADERS([sys/prctl.h])
317 AC_CHECK_HEADERS([sys/filio.h])
320 AC_CHECK_HEADERS([windows.h winsock2.h ws2tcpip.h])
323 AC_CHECK_HEADERS([sys/atomic.h])
326 AC_CHECK_HEADERS([sys/ioctl.h])
327 AC_CHECK_HEADERS([byteswap.h])
328 AC_CHECK_HEADERS([sys/syscall.h])
329 AC_CHECK_HEADERS([sys/eventfd.h])
330 AC_CHECK_HEADERS([execinfo.h])
332 #### Typdefs, structures, etc. ####
338 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
339 [Define ssize_t if it is not done by the standard libs.])])
343 AC_CHECK_DECLS(environ)
345 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
347 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
349 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
352 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
353 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
354 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
356 #### POSIX threads ####
360 #### Check for libs ####
363 AC_SEARCH_LIBS([pow], [m])
366 AC_SEARCH_LIBS([sched_setscheduler], [rt])
367 AC_SEARCH_LIBS([dlopen], [dl])
368 AC_SEARCH_LIBS([shm_open], [rt])
369 AC_SEARCH_LIBS([inet_ntop], [nsl])
370 AC_SEARCH_LIBS([timer_create], [rt])
373 AC_SEARCH_LIBS([connect], [socket])
377 # This magic is needed so we do not needlessly add static libs to the win32
378 # build, disabling its ability to make dlls.
379 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
381 AC_CHECK_LIB(gdbm, gdbm_open)
382 AC_CHECK_HEADERS(gdbm.h, [], [AC_MSG_ERROR([gdbm.h not found])])
384 #### Check for functions ####
387 AC_CHECK_FUNCS([lrintf strtof])
392 AC_FUNC_SELECT_ARGTYPES
393 AC_CHECK_FUNCS([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
394 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
395 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
396 sigaction sleep sysconf pthread_setaffinity_np])
397 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
399 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
402 AC_CHECK_FUNCS([readlink])
405 AC_CHECK_FUNCS([ctime_r usleep])
408 AC_CHECK_FUNCS([strerror_r])
411 AC_CHECK_FUNCS([lstat])
415 AC_CHECK_FUNCS([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
419 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
420 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
421 [save_CC=$CC; CC=$PTHREAD_CC
422 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
423 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
429 [[int i = PTHREAD_PRIO_INHERIT;]]),
430 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
431 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
437 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
438 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
441 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
443 #### Large File-Support (LFS) ####
447 # Check for open64 to know if the current system does have open64() and similar functions
448 AC_CHECK_FUNCS([open64])
454 IT_PROG_INTLTOOL([0.35.0])
455 GETTEXT_PACKAGE=pulseaudio
456 AC_SUBST([GETTEXT_PACKAGE])
457 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
460 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
461 AC_SUBST(pulselocaledir)
463 ###################################
464 # External libraries #
465 ###################################
471 #### X11 (optional) ####
474 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
476 case "${enableval}" in
479 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
484 if test "x${x11}" != xno ; then
485 PKG_CHECK_MODULES(X11, [ x11 ice sm ],
489 if test "x$x11" = xyes ; then
490 AC_MSG_ERROR([*** X11 not found])
497 if test "x${HAVE_X11}" = x1 ; then
498 AC_DEFINE([HAVE_X11], 1, [Have X11?])
504 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
506 #### Capabilities (optional) ####
512 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
514 if test "x${with_caps}" != "xno"; then
515 AC_SEARCH_LIBS([cap_init], [cap], [], [
516 if test "x${with_caps}" = "xyes" ; then
517 AC_MSG_ERROR([*** POSIX caps libraries not found])
519 AC_CHECK_HEADERS([sys/capability.h], [], [
520 if test "x${with_caps}" = "xyes" ; then
521 AC_MSG_ERROR([*** POSIX caps headers not found])
525 #### Valgrind (optional) ####
527 AC_CHECK_HEADERS([valgrind/memcheck.h])
531 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.10 ])
532 AC_SUBST(LIBSNDFILE_CFLAGS)
533 AC_SUBST(LIBSNDFILE_LIBS)
535 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
536 AC_SUBST(LIBSPEEX_CFLAGS)
537 AC_SUBST(LIBSPEEX_LIBS)
541 AC_MSG_CHECKING([whether we need libatomic_ops])
542 if test "x$need_libatomic_ops" = "xyes"; then
544 AC_CHECK_HEADERS([atomic_ops.h], [], [
545 AC_MSG_ERROR([*** libatomic-ops headers not found])
548 # Win32 does not need the lib and breaks horribly if we try to include it
549 if test "x$os_is_win32" != "x1" ; then
550 LIBS="$LIBS -latomic_ops"
556 #### Libsamplerate support (optional) ####
558 AC_ARG_ENABLE([samplerate],
559 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
561 case "${enableval}" in
562 yes) samplerate=yes ;;
564 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
569 if test "x${samplerate}" != xno ; then
570 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
571 HAVE_LIBSAMPLERATE=1,
574 if test "x$samplerate" = xyes ; then
575 AC_MSG_ERROR([*** Libsamplerate not found])
582 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
583 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
586 AC_SUBST(LIBSAMPLERATE_CFLAGS)
587 AC_SUBST(LIBSAMPLERATE_LIBS)
588 AC_SUBST(HAVE_LIBSAMPLERATE)
589 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
591 #### OSS support (optional) ####
594 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
596 case "${enableval}" in
599 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
604 if test "x${oss}" != xno ; then
605 AC_CHECK_HEADERS([sys/soundcard.h],
608 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
612 if test "x$oss" = xyes ; then
613 AC_MSG_ERROR([*** OSS support not found])
621 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
624 #### ALSA support (optional) ####
626 AC_ARG_ENABLE([alsa],
627 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
629 case "${enableval}" in
632 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
637 if test "x${alsa}" != xno ; then
638 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.17 ],
641 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
645 if test "x$alsa" = xyes ; then
646 AC_MSG_ERROR([*** Needed alsa >= 1.0.17 support not found])
653 AC_SUBST(ASOUNDLIB_CFLAGS)
654 AC_SUBST(ASOUNDLIB_LIBS)
656 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
658 #### Solaris audio support (optional) ####
660 AC_ARG_ENABLE([solaris],
661 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
663 case "${enableval}" in
666 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
671 if test "x${solaris}" != xno ; then
672 AC_CHECK_HEADERS([sys/audio.h],
675 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
679 if test "x$solaris" = xyes ; then
680 AC_MSG_ERROR([*** Solaris audio support not found])
687 AC_SUBST(HAVE_SOLARIS)
688 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
690 #### GLib 2 support (optional) ####
692 AC_ARG_ENABLE([glib2],
693 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
695 case "${enableval}" in
698 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
703 if test "x${glib2}" != xno ; then
704 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
708 if test "x$glib2" = xyes ; then
709 AC_MSG_ERROR([*** GLib 2 support not found])
716 AC_SUBST(GLIB20_CFLAGS)
717 AC_SUBST(GLIB20_LIBS)
718 AC_SUBST(HAVE_GLIB20)
719 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
721 #### GConf support (optional) ####
723 AC_ARG_ENABLE([gconf],
724 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
726 case "${enableval}" in
729 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
734 if test "x${gconf}" != xno ; then
735 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
739 if test "x$gconf" = xyes ; then
740 AC_MSG_ERROR([*** GConf support not found])
747 AC_SUBST(GCONF_CFLAGS)
750 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
752 #### Avahi support (optional) ####
754 AC_ARG_ENABLE([avahi],
755 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
757 case "${enableval}" in
760 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
765 if test "x${avahi}" != xno ; then
766 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
770 if test "x$avahi" = xyes ; then
771 AC_MSG_ERROR([*** Avahi support not found])
778 AC_SUBST(AVAHI_CFLAGS)
781 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
785 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
786 AC_SUBST(LIBOIL_CFLAGS)
787 AC_SUBST(LIBOIL_LIBS)
789 ### JACK (optional) ####
791 AC_ARG_ENABLE([jack],
792 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
794 case "${enableval}" in
797 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
802 if test "x${jack}" != xno ; then
803 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
807 if test "x$jack" = xyes ; then
808 AC_MSG_ERROR([*** JACK support not found])
815 AC_SUBST(JACK_CFLAGS)
818 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
820 #### Async DNS support (optional) ####
822 AC_ARG_ENABLE([asyncns],
823 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
825 case "${enableval}" in
828 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
833 if test "x${asyncns}" != xno ; then
834 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
838 if test "x$asyncns" = xyes ; then
839 AC_MSG_ERROR([*** Async DNS support not found])
846 AC_SUBST(LIBASYNCNS_CFLAGS)
847 AC_SUBST(LIBASYNCNS_LIBS)
848 AC_SUBST(HAVE_LIBASYNCNS)
849 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
851 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
852 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
855 #### TCP wrappers (optional) ####
857 AC_ARG_ENABLE([tcpwrap],
858 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
860 case "${enableval}" in
863 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
868 if test "x${tcpwrap}" != xno ; then
870 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
871 AC_MSG_ERROR([*** TCP wrappers support not found])
877 AC_SUBST(LIBWRAP_LIBS)
879 #### LIRC support (optional) ####
881 AC_ARG_ENABLE([lirc],
882 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
884 case "${enableval}" in
887 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
892 if test "x${lirc}" != xno ; then
894 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
895 AC_MSG_ERROR([*** LIRC support not found])
901 AC_SUBST(LIRC_CFLAGS)
903 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
905 #### HAL support (optional) ####
908 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
910 case "${enableval}" in
913 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
917 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
918 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
921 AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
925 if test "x$hal" = xyes ; then
926 AC_MSG_ERROR([*** HAL support not found])
936 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
938 #### BlueZ support (optional) ####
940 AC_ARG_ENABLE([bluez],
941 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
943 case "${enableval}" in
946 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
950 if test "x${bluez}" != xno ; then
951 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
955 if test "x$bluez" = xyes ; then
956 AC_MSG_ERROR([*** BLUEZ support not found])
963 AC_SUBST(BLUEZ_CFLAGS)
966 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
968 #### D-Bus support (optional) ####
970 AC_ARG_ENABLE([dbus],
971 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
973 case "${enableval}" in
976 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
981 if test "x$HAVE_HAL" = x1 ; then
985 if test "x${dbus}" != xno || test "x${bluez}" != xno || "x${hal}" != xno ; then
987 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
991 LIBS="$LIBS $DBUS_LIBS"
992 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
994 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
998 if test "x$dbus" = xyes ; then
999 AC_MSG_ERROR([*** D-Bus support not found])
1006 AC_SUBST(DBUS_CFLAGS)
1009 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1011 #### PolicyKit support (optional) ####
1013 AC_ARG_ENABLE([polkit],
1014 AS_HELP_STRING([--disable-polkit],[Disable optional PolicyKit support]),
1016 case "${enableval}" in
1019 *) AC_MSG_ERROR(bad value ${enableval} for --disable-polkit) ;;
1024 if test "x${polkit}" != xno ; then
1026 PKG_CHECK_MODULES(POLKIT, [ polkit-dbus >= 0.7 ],
1029 AC_DEFINE([HAVE_POLKIT], 1, [Have PolicyKit])
1030 policydir=`pkg-config polkit-dbus --variable prefix`/share/PolicyKit/policy/
1035 if test "x$polkit" = xyes ; then
1036 AC_MSG_ERROR([*** PolicyKit support not found])
1043 AC_SUBST(POLKIT_CFLAGS)
1044 AC_SUBST(POLKIT_LIBS)
1045 AC_SUBST(HAVE_POLKIT)
1046 AM_CONDITIONAL([HAVE_POLKIT], [test "x$HAVE_POLKIT" = x1])
1048 #### OpenSSL support (optional) ####
1050 AC_ARG_ENABLE([openssl],
1051 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1053 case "${enableval}" in
1056 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1061 if test "x${openssl}" != xno ; then
1063 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1066 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1070 if test "x$openssl" = xyes ; then
1071 AC_MSG_ERROR([*** OpenSSL support not found])
1078 AC_SUBST(OPENSSL_CFLAGS)
1079 AC_SUBST(OPENSSL_LIBS)
1080 AC_SUBST(HAVE_OPENSSL)
1081 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1083 ### Build and Install man pages ###
1084 AC_ARG_ENABLE(manpages,
1085 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1086 [case "${enableval}" in
1087 yes) manpages=yes ;;
1089 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1090 esac],[manpages=yes])
1092 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1094 #### PulseAudio system group & user #####
1096 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1097 if test -z "$with_system_user" ; then
1098 PA_SYSTEM_USER=pulse
1100 PA_SYSTEM_USER=$with_system_user
1102 AC_SUBST(PA_SYSTEM_USER)
1103 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1105 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1106 if test -z "$with_system_group" ; then
1107 PA_SYSTEM_GROUP=pulse
1109 PA_SYSTEM_GROUP=$with_system_group
1111 AC_SUBST(PA_SYSTEM_GROUP)
1112 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1114 AC_ARG_WITH(realtime_group,AS_HELP_STRING([--with-realtime-group=<group>],[Group for users that are allowed to start the PulseAudio daemon with realtime scheduling (realtime)]))
1115 if test -z "$with_realtime_group" ; then
1116 PA_REALTIME_GROUP=pulse-rt
1118 PA_REALTIME_GROUP=$with_realtime_group
1120 AC_SUBST(PA_REALTIME_GROUP)
1121 AC_DEFINE_UNQUOTED(PA_REALTIME_GROUP,"$PA_REALTIME_GROUP", [Realtime group])
1123 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)]))
1124 if test -z "$with_access_group" ; then
1125 PA_ACCESS_GROUP=pulse-access
1127 PA_ACCESS_GROUP=$with_access_group
1129 AC_SUBST(PA_ACCESS_GROUP)
1130 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1133 per_user_esound_socket,
1134 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1136 case "${enableval}" in
1137 yes) per_user_esound_socket=1 ;;
1138 no) per_user_esound_socket=0 ;;
1139 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1142 [per_user_esound_socket=1])
1144 if test "x$per_user_esound_socket" = "x1"; then
1145 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1148 #### PulseAudio system runtime dir ####
1149 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1150 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1151 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1152 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1153 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1154 AC_SUBST(PA_SYSTEM_STATE_PATH)
1156 ###################################
1158 ###################################
1162 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1163 [STATIC_BINS=1], [STATIC_BINS=0])
1164 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1168 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1169 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1170 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1171 if test "x$PREOPEN_MODS" != "xall" ; then
1173 for mod in $PREOPEN_MODS; do
1174 tmpLIBS="$tmpLIBS module-$mod.la"
1176 PREOPEN_MODS="$tmpLIBS"
1177 AC_SUBST(PREOPEN_MODS)
1182 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/]),
1183 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/"])
1185 AC_SUBST(modlibexecdir)
1189 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1190 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1191 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1200 libpulse-mainloop-glib.pc
1202 doxygen/doxygen.conf
1208 # ==========================================================================
1210 if test "x$HAVE_X11" = "x1" ; then
1215 if test "x$HAVE_OSS" = "x1" ; then
1220 if test "x$HAVE_ALSA" = "x1" ; then
1225 if test "x$HAVE_SOLARIS" = "x1" ; then
1230 if test "x$HAVE_GLIB20" = "x1" ; then
1235 if test "x$HAVE_GCONF" = "x1" ; then
1240 if test "x$HAVE_AVAHI" = "x1" ; then
1245 if test "x$HAVE_JACK" = "x1" ; then
1249 ENABLE_LIBASYNCNS=no
1250 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1251 ENABLE_LIBASYNCNS=yes
1255 if test "x$HAVE_LIRC" = "x1" ; then
1260 if test "x$HAVE_HAL" = "x1" ; then
1265 if test "x${LIBWRAP_LIBS}" != x ; then
1269 ENABLE_LIBSAMPLERATE=no
1270 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1271 ENABLE_LIBSAMPLERATE=yes
1275 if test "x${HAVE_BLUEZ}" = "x1" ; then
1280 if test "x${HAVE_POLKIT}" = "x1" ; then
1285 if test "x${HAVE_OPENSSL}" = "x1" ; then
1289 ENABLE_PER_USER_ESOUND_SOCKET=no
1290 if test "x$per_user_esound_socket" = "x1" ; then
1291 ENABLE_PER_USER_ESOUND_SOCKET=yes
1295 ---{ $PACKAGE_NAME $VERSION }---
1298 sysconfdir: ${sysconfdir}
1299 localstatedir: ${localstatedir}
1300 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1301 System State Path: ${PA_SYSTEM_STATE_PATH}
1302 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1306 Have X11: ${ENABLE_X11}
1307 Enable OSS: ${ENABLE_OSS}
1308 Enable Alsa: ${ENABLE_ALSA}
1309 Enable Solaris: ${ENABLE_SOLARIS}
1310 Enable GLib 2.0: ${ENABLE_GLIB20}
1311 Enable GConf: ${ENABLE_GCONF}
1312 Enable Avahi: ${ENABLE_AVAHI}
1313 Enable Jack: ${ENABLE_JACK}
1314 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1315 Enable LIRC: ${ENABLE_LIRC}
1316 Enable HAL: ${ENABLE_HAL}
1317 Enable BlueZ: ${ENABLE_BLUEZ}
1318 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1319 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1320 Enable PolicyKit: ${ENABLE_POLKIT}
1321 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1323 System User: ${PA_SYSTEM_USER}
1324 System Group: ${PA_SYSTEM_GROUP}
1325 Realtime Group: ${PA_REALTIME_GROUP}
1326 Access Group: ${PA_ACCESS_GROUP}
1327 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1328 Force preopen: ${FORCE_PREOPEN}
1329 Preopened modules: ${PREOPEN_MODS}