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 Check the header files first since the system may have a
248 dnl libltdl.so for runtime, but no headers, and we want to bail out as
249 dnl soon as possible.
251 dnl We don't need any special variable for this though, since the user
252 dnl can give the proper place to find libltdl through the standard
253 dnl variables like LDFLAGS and CPPFLAGS.
255 AC_CHECK_HEADER([ltdl.h],
256 [AC_CHECK_LIB([ltdl], [lt_dlopen], [LIBLTDL=-lltdl], [LIBLTDL=])],
259 AS_IF([test "x$LIBLTDL" = "x"],
260 [AC_MSG_ERROR([Unable to find libltdl.])])
263 #### Determine build environment ####
269 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
274 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
276 ###################################
277 # Basic environment checks #
278 ###################################
280 #### Checks for header files. ####
286 AC_CHECK_HEADERS([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
287 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
288 sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
289 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
290 AC_CHECK_HEADERS([netinet/ip.h], [], [],
291 [#include <sys/types.h>
292 #if HAVE_NETINET_IN_H
293 # include <netinet/in.h>
295 #if HAVE_NETINET_IN_SYSTM_H
296 # include <netinet/in_systm.h>
299 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
300 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
302 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
303 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
306 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
308 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
310 AC_CHECK_HEADERS([sys/prctl.h])
313 AC_CHECK_HEADERS([sys/filio.h])
316 AC_CHECK_HEADERS([windows.h winsock2.h ws2tcpip.h])
319 AC_CHECK_HEADERS([sys/atomic.h])
322 AC_CHECK_HEADERS([sys/ioctl.h])
323 AC_CHECK_HEADERS([byteswap.h])
324 AC_CHECK_HEADERS([sys/syscall.h])
325 AC_CHECK_HEADERS([sys/eventfd.h])
326 AC_CHECK_HEADERS([execinfo.h])
328 #### Typdefs, structures, etc. ####
334 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
335 [Define ssize_t if it is not done by the standard libs.])])
339 AC_CHECK_DECLS(environ)
341 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
343 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
345 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
348 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
349 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
350 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
352 #### POSIX threads ####
356 #### Check for libs ####
359 AC_SEARCH_LIBS([pow], [m])
362 AC_SEARCH_LIBS([sched_setscheduler], [rt])
363 AC_SEARCH_LIBS([dlopen], [dl])
364 AC_SEARCH_LIBS([shm_open], [rt])
365 AC_SEARCH_LIBS([inet_ntop], [nsl])
366 AC_SEARCH_LIBS([timer_create], [rt])
369 AC_SEARCH_LIBS([connect], [socket])
373 # This magic is needed so we do not needlessly add static libs to the win32
374 # build, disabling its ability to make dlls.
375 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
377 AC_CHECK_LIB(gdbm, gdbm_open)
378 AC_CHECK_HEADERS(gdbm.h, [], [AC_MSG_ERROR([gdbm.h not found])])
380 #### Check for functions ####
383 AC_CHECK_FUNCS([lrintf strtof])
388 AC_FUNC_SELECT_ARGTYPES
389 AC_CHECK_FUNCS([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
390 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
391 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
392 sigaction sleep sysconf])
393 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
395 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
398 AC_CHECK_FUNCS([readlink])
401 AC_CHECK_FUNCS([ctime_r usleep])
404 AC_CHECK_FUNCS([strerror_r])
407 AC_CHECK_FUNCS([lstat])
411 AC_CHECK_FUNCS([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
415 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
416 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
417 [save_CC=$CC; CC=$PTHREAD_CC
418 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
419 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
425 [[int i = PTHREAD_PRIO_INHERIT;]]),
426 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
427 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
433 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
434 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
437 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
439 #### Large File-Support (LFS) ####
443 # Check for open64 to know if the current system does have open64() and similar functions
444 AC_CHECK_FUNCS([open64])
450 IT_PROG_INTLTOOL([0.35.0])
451 GETTEXT_PACKAGE=pulseaudio
452 AC_SUBST([GETTEXT_PACKAGE])
453 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
456 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
457 AC_SUBST(pulselocaledir)
459 ###################################
460 # External libraries #
461 ###################################
467 #### X11 (optional) ####
470 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
472 case "${enableval}" in
475 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
480 if test "x${x11}" != xno ; then
481 PKG_CHECK_MODULES(X11, [ x11 ice sm ],
485 if test "x$x11" = xyes ; then
486 AC_MSG_ERROR([*** X11 not found])
493 if test "x${HAVE_X11}" = x1 ; then
494 AC_DEFINE([HAVE_X11], 1, [Have X11?])
500 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
502 #### Capabilities (optional) ####
508 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
510 if test "x${with_caps}" != "xno"; then
511 AC_SEARCH_LIBS([cap_init], [cap], [], [
512 if test "x${with_caps}" = "xyes" ; then
513 AC_MSG_ERROR([*** POSIX caps libraries not found])
515 AC_CHECK_HEADERS([sys/capability.h], [], [
516 if test "x${with_caps}" = "xyes" ; then
517 AC_MSG_ERROR([*** POSIX caps headers not found])
521 #### Valgrind (optional) ####
523 AC_CHECK_HEADERS([valgrind/memcheck.h])
527 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.10 ])
528 AC_SUBST(LIBSNDFILE_CFLAGS)
529 AC_SUBST(LIBSNDFILE_LIBS)
531 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
532 AC_SUBST(LIBSPEEX_CFLAGS)
533 AC_SUBST(LIBSPEEX_LIBS)
537 AC_MSG_CHECKING([whether we need libatomic_ops])
538 if test "x$need_libatomic_ops" = "xyes"; then
540 AC_CHECK_HEADERS([atomic_ops.h], [], [
541 AC_MSG_ERROR([*** libatomic-ops headers not found])
544 # Win32 does not need the lib and breaks horribly if we try to include it
545 if test "x$os_is_win32" != "x1" ; then
546 LIBS="$LIBS -latomic_ops"
552 #### Libsamplerate support (optional) ####
554 AC_ARG_ENABLE([samplerate],
555 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
557 case "${enableval}" in
558 yes) samplerate=yes ;;
560 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
565 if test "x${samplerate}" != xno ; then
566 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
567 HAVE_LIBSAMPLERATE=1,
570 if test "x$samplerate" = xyes ; then
571 AC_MSG_ERROR([*** Libsamplerate not found])
578 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
579 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
582 AC_SUBST(LIBSAMPLERATE_CFLAGS)
583 AC_SUBST(LIBSAMPLERATE_LIBS)
584 AC_SUBST(HAVE_LIBSAMPLERATE)
585 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
587 #### OSS support (optional) ####
590 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
592 case "${enableval}" in
595 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
600 if test "x${oss}" != xno ; then
601 AC_CHECK_HEADERS([sys/soundcard.h],
604 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
608 if test "x$oss" = xyes ; then
609 AC_MSG_ERROR([*** OSS support not found])
617 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
620 #### ALSA support (optional) ####
622 AC_ARG_ENABLE([alsa],
623 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
625 case "${enableval}" in
628 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
633 if test "x${alsa}" != xno ; then
634 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.17 ],
637 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
641 if test "x$alsa" = xyes ; then
642 AC_MSG_ERROR([*** Needed alsa >= 1.0.17 support not found])
649 AC_SUBST(ASOUNDLIB_CFLAGS)
650 AC_SUBST(ASOUNDLIB_LIBS)
652 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
654 #### Solaris audio support (optional) ####
656 AC_ARG_ENABLE([solaris],
657 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
659 case "${enableval}" in
662 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
667 if test "x${solaris}" != xno ; then
668 AC_CHECK_HEADERS([sys/audio.h],
671 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
675 if test "x$solaris" = xyes ; then
676 AC_MSG_ERROR([*** Solaris audio support not found])
683 AC_SUBST(HAVE_SOLARIS)
684 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
686 #### GLib 2 support (optional) ####
688 AC_ARG_ENABLE([glib2],
689 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
691 case "${enableval}" in
694 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
699 if test "x${glib2}" != xno ; then
700 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
704 if test "x$glib2" = xyes ; then
705 AC_MSG_ERROR([*** GLib 2 support not found])
712 AC_SUBST(GLIB20_CFLAGS)
713 AC_SUBST(GLIB20_LIBS)
714 AC_SUBST(HAVE_GLIB20)
715 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
717 #### GConf support (optional) ####
719 AC_ARG_ENABLE([gconf],
720 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
722 case "${enableval}" in
725 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
730 if test "x${gconf}" != xno ; then
731 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
735 if test "x$gconf" = xyes ; then
736 AC_MSG_ERROR([*** GConf support not found])
743 AC_SUBST(GCONF_CFLAGS)
746 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
748 #### Avahi support (optional) ####
750 AC_ARG_ENABLE([avahi],
751 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
753 case "${enableval}" in
756 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
761 if test "x${avahi}" != xno ; then
762 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
766 if test "x$avahi" = xyes ; then
767 AC_MSG_ERROR([*** Avahi support not found])
774 AC_SUBST(AVAHI_CFLAGS)
777 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
781 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
782 AC_SUBST(LIBOIL_CFLAGS)
783 AC_SUBST(LIBOIL_LIBS)
785 ### JACK (optional) ####
787 AC_ARG_ENABLE([jack],
788 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
790 case "${enableval}" in
793 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
798 if test "x${jack}" != xno ; then
799 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
803 if test "x$jack" = xyes ; then
804 AC_MSG_ERROR([*** JACK support not found])
811 AC_SUBST(JACK_CFLAGS)
814 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
816 #### Async DNS support (optional) ####
818 AC_ARG_ENABLE([asyncns],
819 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
821 case "${enableval}" in
824 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
829 if test "x${asyncns}" != xno ; then
830 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
834 if test "x$asyncns" = xyes ; then
835 AC_MSG_ERROR([*** Async DNS support not found])
842 AC_SUBST(LIBASYNCNS_CFLAGS)
843 AC_SUBST(LIBASYNCNS_LIBS)
844 AC_SUBST(HAVE_LIBASYNCNS)
845 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
847 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
848 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
851 #### TCP wrappers (optional) ####
853 AC_ARG_ENABLE([tcpwrap],
854 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
856 case "${enableval}" in
859 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
864 if test "x${tcpwrap}" != xno ; then
866 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
867 AC_MSG_ERROR([*** TCP wrappers support not found])
873 AC_SUBST(LIBWRAP_LIBS)
875 #### LIRC support (optional) ####
877 AC_ARG_ENABLE([lirc],
878 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
880 case "${enableval}" in
883 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
888 if test "x${lirc}" != xno ; then
890 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
891 AC_MSG_ERROR([*** LIRC support not found])
897 AC_SUBST(LIRC_CFLAGS)
899 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
901 #### HAL support (optional) ####
904 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
906 case "${enableval}" in
909 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
913 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
914 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
918 if test "x$hal" = xyes ; then
919 AC_MSG_ERROR([*** HAL support not found])
929 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
931 #### BlueZ support (optional) ####
933 AC_ARG_ENABLE([bluez],
934 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
936 case "${enableval}" in
939 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
943 if test "x${bluez}" != xno ; then
944 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
948 if test "x$bluez" = xyes ; then
949 AC_MSG_ERROR([*** BLUEZ support not found])
956 AC_SUBST(BLUEZ_CFLAGS)
959 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
961 #### D-Bus support (optional) ####
963 AC_ARG_ENABLE([dbus],
964 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
966 case "${enableval}" in
969 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
974 if test "x$HAVE_HAL" = x1 ; then
978 if test "x${dbus}" != xno || test "x${bluez}" != xno || "x${hal}" != xno ; then
980 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
984 LIBS="$LIBS $DBUS_LIBS"
985 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
987 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
991 if test "x$dbus" = xyes ; then
992 AC_MSG_ERROR([*** D-Bus support not found])
999 AC_SUBST(DBUS_CFLAGS)
1002 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1004 #### PolicyKit support (optional) ####
1006 AC_ARG_ENABLE([polkit],
1007 AS_HELP_STRING([--disable-polkit],[Disable optional PolicyKit support]),
1009 case "${enableval}" in
1012 *) AC_MSG_ERROR(bad value ${enableval} for --disable-polkit) ;;
1017 if test "x${polkit}" != xno ; then
1019 PKG_CHECK_MODULES(POLKIT, [ polkit-dbus >= 0.7 ],
1022 AC_DEFINE([HAVE_POLKIT], 1, [Have PolicyKit])
1023 policydir=`pkg-config polkit-dbus --variable prefix`/share/PolicyKit/policy/
1028 if test "x$polkit" = xyes ; then
1029 AC_MSG_ERROR([*** PolicyKit support not found])
1036 AC_SUBST(POLKIT_CFLAGS)
1037 AC_SUBST(POLKIT_LIBS)
1038 AC_SUBST(HAVE_POLKIT)
1039 AM_CONDITIONAL([HAVE_POLKIT], [test "x$HAVE_POLKIT" = x1])
1041 #### OpenSSL support (optional) ####
1043 AC_ARG_ENABLE([openssl],
1044 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1046 case "${enableval}" in
1049 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1054 if test "x${openssl}" != xno ; then
1056 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1059 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1063 if test "x$openssl" = xyes ; then
1064 AC_MSG_ERROR([*** OpenSSL support not found])
1071 AC_SUBST(OPENSSL_CFLAGS)
1072 AC_SUBST(OPENSSL_LIBS)
1073 AC_SUBST(HAVE_OPENSSL)
1074 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1076 ### Build and Install man pages ###
1077 AC_ARG_ENABLE(manpages,
1078 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1079 [case "${enableval}" in
1080 yes) manpages=yes ;;
1082 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1083 esac],[manpages=yes])
1085 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1087 #### PulseAudio system group & user #####
1089 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1090 if test -z "$with_system_user" ; then
1091 PA_SYSTEM_USER=pulse
1093 PA_SYSTEM_USER=$with_system_user
1095 AC_SUBST(PA_SYSTEM_USER)
1096 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1098 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1099 if test -z "$with_system_group" ; then
1100 PA_SYSTEM_GROUP=pulse
1102 PA_SYSTEM_GROUP=$with_system_group
1104 AC_SUBST(PA_SYSTEM_GROUP)
1105 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1107 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)]))
1108 if test -z "$with_realtime_group" ; then
1109 PA_REALTIME_GROUP=pulse-rt
1111 PA_REALTIME_GROUP=$with_realtime_group
1113 AC_SUBST(PA_REALTIME_GROUP)
1114 AC_DEFINE_UNQUOTED(PA_REALTIME_GROUP,"$PA_REALTIME_GROUP", [Realtime group])
1116 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)]))
1117 if test -z "$with_access_group" ; then
1118 PA_ACCESS_GROUP=pulse-access
1120 PA_ACCESS_GROUP=$with_access_group
1122 AC_SUBST(PA_ACCESS_GROUP)
1123 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1126 per_user_esound_socket,
1127 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1129 case "${enableval}" in
1130 yes) per_user_esound_socket=1 ;;
1131 no) per_user_esound_socket=0 ;;
1132 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1135 [per_user_esound_socket=1])
1137 if test "x$per_user_esound_socket" = "x1"; then
1138 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1141 #### PulseAudio system runtime dir ####
1142 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1143 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1144 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1145 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1146 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1147 AC_SUBST(PA_SYSTEM_STATE_PATH)
1149 ###################################
1151 ###################################
1155 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1156 [STATIC_BINS=1], [STATIC_BINS=0])
1157 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1161 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1162 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1163 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1164 if test "x$PREOPEN_MODS" != "xall" ; then
1166 for mod in $PREOPEN_MODS; do
1167 tmpLIBS="$tmpLIBS module-$mod.la"
1169 PREOPEN_MODS="$tmpLIBS"
1170 AC_SUBST(PREOPEN_MODS)
1175 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/]),
1176 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/"])
1178 AC_SUBST(modlibexecdir)
1182 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1183 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1184 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1193 libpulse-mainloop-glib.pc
1195 doxygen/doxygen.conf
1201 # ==========================================================================
1203 if test "x$HAVE_X11" = "x1" ; then
1208 if test "x$HAVE_OSS" = "x1" ; then
1213 if test "x$HAVE_ALSA" = "x1" ; then
1218 if test "x$HAVE_SOLARIS" = "x1" ; then
1223 if test "x$HAVE_GLIB20" = "x1" ; then
1228 if test "x$HAVE_GCONF" = "x1" ; then
1233 if test "x$HAVE_AVAHI" = "x1" ; then
1238 if test "x$HAVE_JACK" = "x1" ; then
1242 ENABLE_LIBASYNCNS=no
1243 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1244 ENABLE_LIBASYNCNS=yes
1248 if test "x$HAVE_LIRC" = "x1" ; then
1253 if test "x$HAVE_HAL" = "x1" ; then
1258 if test "x${LIBWRAP_LIBS}" != x ; then
1262 ENABLE_LIBSAMPLERATE=no
1263 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1264 ENABLE_LIBSAMPLERATE=yes
1268 if test "x${HAVE_BLUEZ}" = "x1" ; then
1273 if test "x${HAVE_POLKIT}" = "x1" ; then
1278 if test "x${HAVE_OPENSSL}" = "x1" ; then
1282 ENABLE_PER_USER_ESOUND_SOCKET=no
1283 if test "x$per_user_esound_socket" = "x1" ; then
1284 ENABLE_PER_USER_ESOUND_SOCKET=yes
1288 ---{ $PACKAGE_NAME $VERSION }---
1291 sysconfdir: ${sysconfdir}
1292 localstatedir: ${localstatedir}
1293 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1294 System State Path: ${PA_SYSTEM_STATE_PATH}
1295 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1299 Have X11: ${ENABLE_X11}
1300 Enable OSS: ${ENABLE_OSS}
1301 Enable Alsa: ${ENABLE_ALSA}
1302 Enable Solaris: ${ENABLE_SOLARIS}
1303 Enable GLib 2.0: ${ENABLE_GLIB20}
1304 Enable GConf: ${ENABLE_GCONF}
1305 Enable Avahi: ${ENABLE_AVAHI}
1306 Enable Jack: ${ENABLE_JACK}
1307 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1308 Enable LIRC: ${ENABLE_LIRC}
1309 Enable HAL: ${ENABLE_HAL}
1310 Enable BlueZ: ${ENABLE_BLUEZ}
1311 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1312 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1313 Enable PolicyKit: ${ENABLE_POLKIT}
1314 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1316 System User: ${PA_SYSTEM_USER}
1317 System Group: ${PA_SYSTEM_GROUP}
1318 Realtime Group: ${PA_REALTIME_GROUP}
1319 Access Group: ${PA_ACCESS_GROUP}
1320 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1321 Force preopen: ${FORCE_PREOPEN}
1322 Preopened modules: ${PREOPEN_MODS}