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 ],
922 if test "x$hal" = xyes ; then
923 AC_MSG_ERROR([*** HAL support not found])
933 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
935 #### BlueZ support (optional) ####
937 AC_ARG_ENABLE([bluez],
938 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
940 case "${enableval}" in
943 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
947 if test "x${bluez}" != xno ; then
948 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
952 if test "x$bluez" = xyes ; then
953 AC_MSG_ERROR([*** BLUEZ support not found])
960 AC_SUBST(BLUEZ_CFLAGS)
963 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
965 #### D-Bus support (optional) ####
967 AC_ARG_ENABLE([dbus],
968 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
970 case "${enableval}" in
973 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
978 if test "x$HAVE_HAL" = x1 ; then
982 if test "x${dbus}" != xno || test "x${bluez}" != xno || "x${hal}" != xno ; then
984 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
988 LIBS="$LIBS $DBUS_LIBS"
989 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
991 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
995 if test "x$dbus" = xyes ; then
996 AC_MSG_ERROR([*** D-Bus support not found])
1003 AC_SUBST(DBUS_CFLAGS)
1006 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1008 #### PolicyKit support (optional) ####
1010 AC_ARG_ENABLE([polkit],
1011 AS_HELP_STRING([--disable-polkit],[Disable optional PolicyKit support]),
1013 case "${enableval}" in
1016 *) AC_MSG_ERROR(bad value ${enableval} for --disable-polkit) ;;
1021 if test "x${polkit}" != xno ; then
1023 PKG_CHECK_MODULES(POLKIT, [ polkit-dbus >= 0.7 ],
1026 AC_DEFINE([HAVE_POLKIT], 1, [Have PolicyKit])
1027 policydir=`pkg-config polkit-dbus --variable prefix`/share/PolicyKit/policy/
1032 if test "x$polkit" = xyes ; then
1033 AC_MSG_ERROR([*** PolicyKit support not found])
1040 AC_SUBST(POLKIT_CFLAGS)
1041 AC_SUBST(POLKIT_LIBS)
1042 AC_SUBST(HAVE_POLKIT)
1043 AM_CONDITIONAL([HAVE_POLKIT], [test "x$HAVE_POLKIT" = x1])
1045 #### OpenSSL support (optional) ####
1047 AC_ARG_ENABLE([openssl],
1048 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1050 case "${enableval}" in
1053 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1058 if test "x${openssl}" != xno ; then
1060 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1063 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1067 if test "x$openssl" = xyes ; then
1068 AC_MSG_ERROR([*** OpenSSL support not found])
1075 AC_SUBST(OPENSSL_CFLAGS)
1076 AC_SUBST(OPENSSL_LIBS)
1077 AC_SUBST(HAVE_OPENSSL)
1078 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1080 ### Build and Install man pages ###
1081 AC_ARG_ENABLE(manpages,
1082 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1083 [case "${enableval}" in
1084 yes) manpages=yes ;;
1086 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1087 esac],[manpages=yes])
1089 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1091 #### PulseAudio system group & user #####
1093 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1094 if test -z "$with_system_user" ; then
1095 PA_SYSTEM_USER=pulse
1097 PA_SYSTEM_USER=$with_system_user
1099 AC_SUBST(PA_SYSTEM_USER)
1100 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1102 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1103 if test -z "$with_system_group" ; then
1104 PA_SYSTEM_GROUP=pulse
1106 PA_SYSTEM_GROUP=$with_system_group
1108 AC_SUBST(PA_SYSTEM_GROUP)
1109 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1111 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)]))
1112 if test -z "$with_realtime_group" ; then
1113 PA_REALTIME_GROUP=pulse-rt
1115 PA_REALTIME_GROUP=$with_realtime_group
1117 AC_SUBST(PA_REALTIME_GROUP)
1118 AC_DEFINE_UNQUOTED(PA_REALTIME_GROUP,"$PA_REALTIME_GROUP", [Realtime group])
1120 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)]))
1121 if test -z "$with_access_group" ; then
1122 PA_ACCESS_GROUP=pulse-access
1124 PA_ACCESS_GROUP=$with_access_group
1126 AC_SUBST(PA_ACCESS_GROUP)
1127 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1130 per_user_esound_socket,
1131 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1133 case "${enableval}" in
1134 yes) per_user_esound_socket=1 ;;
1135 no) per_user_esound_socket=0 ;;
1136 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1139 [per_user_esound_socket=1])
1141 if test "x$per_user_esound_socket" = "x1"; then
1142 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1145 #### PulseAudio system runtime dir ####
1146 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1147 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1148 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1149 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1150 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1151 AC_SUBST(PA_SYSTEM_STATE_PATH)
1153 ###################################
1155 ###################################
1159 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1160 [STATIC_BINS=1], [STATIC_BINS=0])
1161 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1165 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1166 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1167 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1168 if test "x$PREOPEN_MODS" != "xall" ; then
1170 for mod in $PREOPEN_MODS; do
1171 tmpLIBS="$tmpLIBS module-$mod.la"
1173 PREOPEN_MODS="$tmpLIBS"
1174 AC_SUBST(PREOPEN_MODS)
1179 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/]),
1180 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/"])
1182 AC_SUBST(modlibexecdir)
1186 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1187 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1188 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1197 libpulse-mainloop-glib.pc
1199 doxygen/doxygen.conf
1205 # ==========================================================================
1207 if test "x$HAVE_X11" = "x1" ; then
1212 if test "x$HAVE_OSS" = "x1" ; then
1217 if test "x$HAVE_ALSA" = "x1" ; then
1222 if test "x$HAVE_SOLARIS" = "x1" ; then
1227 if test "x$HAVE_GLIB20" = "x1" ; then
1232 if test "x$HAVE_GCONF" = "x1" ; then
1237 if test "x$HAVE_AVAHI" = "x1" ; then
1242 if test "x$HAVE_JACK" = "x1" ; then
1246 ENABLE_LIBASYNCNS=no
1247 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1248 ENABLE_LIBASYNCNS=yes
1252 if test "x$HAVE_LIRC" = "x1" ; then
1257 if test "x$HAVE_HAL" = "x1" ; then
1262 if test "x${LIBWRAP_LIBS}" != x ; then
1266 ENABLE_LIBSAMPLERATE=no
1267 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1268 ENABLE_LIBSAMPLERATE=yes
1272 if test "x${HAVE_BLUEZ}" = "x1" ; then
1277 if test "x${HAVE_POLKIT}" = "x1" ; then
1282 if test "x${HAVE_OPENSSL}" = "x1" ; then
1286 ENABLE_PER_USER_ESOUND_SOCKET=no
1287 if test "x$per_user_esound_socket" = "x1" ; then
1288 ENABLE_PER_USER_ESOUND_SOCKET=yes
1292 ---{ $PACKAGE_NAME $VERSION }---
1295 sysconfdir: ${sysconfdir}
1296 localstatedir: ${localstatedir}
1297 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1298 System State Path: ${PA_SYSTEM_STATE_PATH}
1299 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1303 Have X11: ${ENABLE_X11}
1304 Enable OSS: ${ENABLE_OSS}
1305 Enable Alsa: ${ENABLE_ALSA}
1306 Enable Solaris: ${ENABLE_SOLARIS}
1307 Enable GLib 2.0: ${ENABLE_GLIB20}
1308 Enable GConf: ${ENABLE_GCONF}
1309 Enable Avahi: ${ENABLE_AVAHI}
1310 Enable Jack: ${ENABLE_JACK}
1311 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1312 Enable LIRC: ${ENABLE_LIRC}
1313 Enable HAL: ${ENABLE_HAL}
1314 Enable BlueZ: ${ENABLE_BLUEZ}
1315 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1316 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1317 Enable PolicyKit: ${ENABLE_POLKIT}
1318 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1320 System User: ${PA_SYSTEM_USER}
1321 System Group: ${PA_SYSTEM_GROUP}
1322 Realtime Group: ${PA_REALTIME_GROUP}
1323 Access Group: ${PA_ACCESS_GROUP}
1324 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1325 Force preopen: ${FORCE_PREOPEN}
1326 Preopened modules: ${PREOPEN_MODS}