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 ###################################
465 # Check for pkg-config manually first, as if its not installed the
466 # PKG_PROG_PKG_CONFIG macro won't be defined.
467 AC_CHECK_PROG(have_pkg_config, pkg-config, yes, no)
469 if test x"$have_pkg_config" = "xno"; then
470 AC_MSG_ERROR(pkg-config is required to install this program)
475 #### X11 (optional) ####
478 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
480 case "${enableval}" in
483 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
488 if test "x${x11}" != xno ; then
489 PKG_CHECK_MODULES(X11, [ x11 ice sm ],
493 if test "x$x11" = xyes ; then
494 AC_MSG_ERROR([*** X11 not found])
501 if test "x${HAVE_X11}" = x1 ; then
502 AC_DEFINE([HAVE_X11], 1, [Have X11?])
508 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
510 #### Capabilities (optional) ####
516 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
518 if test "x${with_caps}" != "xno"; then
519 AC_SEARCH_LIBS([cap_init], [cap], [], [
520 if test "x${with_caps}" = "xyes" ; then
521 AC_MSG_ERROR([*** POSIX caps libraries not found])
523 AC_CHECK_HEADERS([sys/capability.h], [], [
524 if test "x${with_caps}" = "xyes" ; then
525 AC_MSG_ERROR([*** POSIX caps headers not found])
529 #### Valgrind (optional) ####
531 AC_CHECK_HEADERS([valgrind/memcheck.h])
535 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.10 ])
536 AC_SUBST(LIBSNDFILE_CFLAGS)
537 AC_SUBST(LIBSNDFILE_LIBS)
539 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
540 AC_SUBST(LIBSPEEX_CFLAGS)
541 AC_SUBST(LIBSPEEX_LIBS)
545 AC_MSG_CHECKING([whether we need libatomic_ops])
546 if test "x$need_libatomic_ops" = "xyes"; then
548 AC_CHECK_HEADERS([atomic_ops.h], [], [
549 AC_MSG_ERROR([*** libatomic-ops headers not found])
552 # Win32 does not need the lib and breaks horribly if we try to include it
553 if test "x$os_is_win32" != "x1" ; then
554 LIBS="$LIBS -latomic_ops"
560 #### Libsamplerate support (optional) ####
562 AC_ARG_ENABLE([samplerate],
563 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
565 case "${enableval}" in
566 yes) samplerate=yes ;;
568 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
573 if test "x${samplerate}" != xno ; then
574 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
575 HAVE_LIBSAMPLERATE=1,
578 if test "x$samplerate" = xyes ; then
579 AC_MSG_ERROR([*** Libsamplerate not found])
586 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
587 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
590 AC_SUBST(LIBSAMPLERATE_CFLAGS)
591 AC_SUBST(LIBSAMPLERATE_LIBS)
592 AC_SUBST(HAVE_LIBSAMPLERATE)
593 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
595 #### OSS support (optional) ####
598 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
600 case "${enableval}" in
603 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
608 if test "x${oss}" != xno ; then
609 AC_CHECK_HEADERS([sys/soundcard.h],
612 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
616 if test "x$oss" = xyes ; then
617 AC_MSG_ERROR([*** OSS support not found])
625 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
628 #### ALSA support (optional) ####
630 AC_ARG_ENABLE([alsa],
631 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
633 case "${enableval}" in
636 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
641 if test "x${alsa}" != xno ; then
642 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.17 ],
645 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
649 if test "x$alsa" = xyes ; then
650 AC_MSG_ERROR([*** Needed alsa >= 1.0.17 support not found])
657 AC_SUBST(ASOUNDLIB_CFLAGS)
658 AC_SUBST(ASOUNDLIB_LIBS)
660 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
662 #### Solaris audio support (optional) ####
664 AC_ARG_ENABLE([solaris],
665 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
667 case "${enableval}" in
670 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
675 if test "x${solaris}" != xno ; then
676 AC_CHECK_HEADERS([sys/audio.h],
679 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
683 if test "x$solaris" = xyes ; then
684 AC_MSG_ERROR([*** Solaris audio support not found])
691 AC_SUBST(HAVE_SOLARIS)
692 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
694 #### GLib 2 support (optional) ####
696 AC_ARG_ENABLE([glib2],
697 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
699 case "${enableval}" in
702 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
707 if test "x${glib2}" != xno ; then
708 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
712 if test "x$glib2" = xyes ; then
713 AC_MSG_ERROR([*** GLib 2 support not found])
720 AC_SUBST(GLIB20_CFLAGS)
721 AC_SUBST(GLIB20_LIBS)
722 AC_SUBST(HAVE_GLIB20)
723 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
725 #### GConf support (optional) ####
727 AC_ARG_ENABLE([gconf],
728 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
730 case "${enableval}" in
733 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
738 if test "x${gconf}" != xno ; then
739 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
743 if test "x$gconf" = xyes ; then
744 AC_MSG_ERROR([*** GConf support not found])
751 AC_SUBST(GCONF_CFLAGS)
754 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
756 #### Avahi support (optional) ####
758 AC_ARG_ENABLE([avahi],
759 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
761 case "${enableval}" in
764 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
769 if test "x${avahi}" != xno ; then
770 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
774 if test "x$avahi" = xyes ; then
775 AC_MSG_ERROR([*** Avahi support not found])
782 AC_SUBST(AVAHI_CFLAGS)
785 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
789 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
790 AC_SUBST(LIBOIL_CFLAGS)
791 AC_SUBST(LIBOIL_LIBS)
793 ### JACK (optional) ####
795 AC_ARG_ENABLE([jack],
796 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
798 case "${enableval}" in
801 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
806 if test "x${jack}" != xno ; then
807 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
811 if test "x$jack" = xyes ; then
812 AC_MSG_ERROR([*** JACK support not found])
819 AC_SUBST(JACK_CFLAGS)
822 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
824 #### Async DNS support (optional) ####
826 AC_ARG_ENABLE([asyncns],
827 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
829 case "${enableval}" in
832 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
837 if test "x${asyncns}" != xno ; then
838 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
842 if test "x$asyncns" = xyes ; then
843 AC_MSG_ERROR([*** Async DNS support not found])
850 AC_SUBST(LIBASYNCNS_CFLAGS)
851 AC_SUBST(LIBASYNCNS_LIBS)
852 AC_SUBST(HAVE_LIBASYNCNS)
853 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
855 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
856 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
859 #### TCP wrappers (optional) ####
861 AC_ARG_ENABLE([tcpwrap],
862 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
864 case "${enableval}" in
867 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
872 if test "x${tcpwrap}" != xno ; then
874 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
875 AC_MSG_ERROR([*** TCP wrappers support not found])
881 AC_SUBST(LIBWRAP_LIBS)
883 #### LIRC support (optional) ####
885 AC_ARG_ENABLE([lirc],
886 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
888 case "${enableval}" in
891 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
896 if test "x${lirc}" != xno ; then
898 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
899 AC_MSG_ERROR([*** LIRC support not found])
905 AC_SUBST(LIRC_CFLAGS)
907 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
909 #### HAL support (optional) ####
912 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
914 case "${enableval}" in
917 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
921 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
922 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
926 if test "x$hal" = xyes ; then
927 AC_MSG_ERROR([*** HAL support not found])
937 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
939 #### BlueZ support (optional) ####
941 AC_ARG_ENABLE([bluez],
942 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
944 case "${enableval}" in
947 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
951 if test "x${bluez}" != xno ; then
952 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
956 if test "x$bluez" = xyes ; then
957 AC_MSG_ERROR([*** BLUEZ support not found])
964 AC_SUBST(BLUEZ_CFLAGS)
967 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
969 #### D-Bus support (optional) ####
971 AC_ARG_ENABLE([dbus],
972 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
974 case "${enableval}" in
977 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
982 if test "x$HAVE_HAL" = x1 ; then
986 if test "x${dbus}" != xno || test "x${bluez}" != xno || "x${hal}" != xno ; then
988 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
992 LIBS="$LIBS $DBUS_LIBS"
993 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
995 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
999 if test "x$dbus" = xyes ; then
1000 AC_MSG_ERROR([*** D-Bus support not found])
1007 AC_SUBST(DBUS_CFLAGS)
1010 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1012 #### PolicyKit support (optional) ####
1014 AC_ARG_ENABLE([polkit],
1015 AS_HELP_STRING([--disable-polkit],[Disable optional PolicyKit support]),
1017 case "${enableval}" in
1020 *) AC_MSG_ERROR(bad value ${enableval} for --disable-polkit) ;;
1025 if test "x${polkit}" != xno ; then
1027 PKG_CHECK_MODULES(POLKIT, [ polkit-dbus >= 0.7 ],
1030 AC_DEFINE([HAVE_POLKIT], 1, [Have PolicyKit])
1031 policydir=`pkg-config polkit-dbus --variable prefix`/share/PolicyKit/policy/
1036 if test "x$polkit" = xyes ; then
1037 AC_MSG_ERROR([*** PolicyKit support not found])
1044 AC_SUBST(POLKIT_CFLAGS)
1045 AC_SUBST(POLKIT_LIBS)
1046 AC_SUBST(HAVE_POLKIT)
1047 AM_CONDITIONAL([HAVE_POLKIT], [test "x$HAVE_POLKIT" = x1])
1049 #### OpenSSL support (optional) ####
1051 AC_ARG_ENABLE([openssl],
1052 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1054 case "${enableval}" in
1057 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1062 if test "x${openssl}" != xno ; then
1064 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1067 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1071 if test "x$openssl" = xyes ; then
1072 AC_MSG_ERROR([*** OpenSSL support not found])
1079 AC_SUBST(OPENSSL_CFLAGS)
1080 AC_SUBST(OPENSSL_LIBS)
1081 AC_SUBST(HAVE_OPENSSL)
1082 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1084 ### Build and Install man pages ###
1085 AC_ARG_ENABLE(manpages,
1086 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1087 [case "${enableval}" in
1088 yes) manpages=yes ;;
1090 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1091 esac],[manpages=yes])
1093 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1095 #### PulseAudio system group & user #####
1097 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1098 if test -z "$with_system_user" ; then
1099 PA_SYSTEM_USER=pulse
1101 PA_SYSTEM_USER=$with_system_user
1103 AC_SUBST(PA_SYSTEM_USER)
1104 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1106 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1107 if test -z "$with_system_group" ; then
1108 PA_SYSTEM_GROUP=pulse
1110 PA_SYSTEM_GROUP=$with_system_group
1112 AC_SUBST(PA_SYSTEM_GROUP)
1113 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1115 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)]))
1116 if test -z "$with_realtime_group" ; then
1117 PA_REALTIME_GROUP=pulse-rt
1119 PA_REALTIME_GROUP=$with_realtime_group
1121 AC_SUBST(PA_REALTIME_GROUP)
1122 AC_DEFINE_UNQUOTED(PA_REALTIME_GROUP,"$PA_REALTIME_GROUP", [Realtime group])
1124 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)]))
1125 if test -z "$with_access_group" ; then
1126 PA_ACCESS_GROUP=pulse-access
1128 PA_ACCESS_GROUP=$with_access_group
1130 AC_SUBST(PA_ACCESS_GROUP)
1131 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1134 per_user_esound_socket,
1135 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1137 case "${enableval}" in
1138 yes) per_user_esound_socket=1 ;;
1139 no) per_user_esound_socket=0 ;;
1140 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1143 [per_user_esound_socket=1])
1145 if test "x$per_user_esound_socket" = "x1"; then
1146 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1149 #### PulseAudio system runtime dir ####
1150 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1151 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1152 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1153 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1154 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1155 AC_SUBST(PA_SYSTEM_STATE_PATH)
1157 ###################################
1159 ###################################
1163 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1164 [STATIC_BINS=1], [STATIC_BINS=0])
1165 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1169 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1170 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1171 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1172 if test "x$PREOPEN_MODS" != "xall" ; then
1174 for mod in $PREOPEN_MODS; do
1175 tmpLIBS="$tmpLIBS module-$mod.la"
1177 PREOPEN_MODS="$tmpLIBS"
1178 AC_SUBST(PREOPEN_MODS)
1183 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/]),
1184 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/"])
1186 AC_SUBST(modlibexecdir)
1190 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1191 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1192 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1201 libpulse-mainloop-glib.pc
1203 doxygen/doxygen.conf
1209 # ==========================================================================
1211 if test "x$HAVE_X11" = "x1" ; then
1216 if test "x$HAVE_OSS" = "x1" ; then
1221 if test "x$HAVE_ALSA" = "x1" ; then
1226 if test "x$HAVE_SOLARIS" = "x1" ; then
1231 if test "x$HAVE_GLIB20" = "x1" ; then
1236 if test "x$HAVE_GCONF" = "x1" ; then
1241 if test "x$HAVE_AVAHI" = "x1" ; then
1246 if test "x$HAVE_JACK" = "x1" ; then
1250 ENABLE_LIBASYNCNS=no
1251 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1252 ENABLE_LIBASYNCNS=yes
1256 if test "x$HAVE_LIRC" = "x1" ; then
1261 if test "x$HAVE_HAL" = "x1" ; then
1266 if test "x${LIBWRAP_LIBS}" != x ; then
1270 ENABLE_LIBSAMPLERATE=no
1271 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1272 ENABLE_LIBSAMPLERATE=yes
1276 if test "x${HAVE_BLUEZ}" = "x1" ; then
1281 if test "x${HAVE_POLKIT}" = "x1" ; then
1286 if test "x${HAVE_OPENSSL}" = "x1" ; then
1290 ENABLE_PER_USER_ESOUND_SOCKET=no
1291 if test "x$per_user_esound_socket" = "x1" ; then
1292 ENABLE_PER_USER_ESOUND_SOCKET=yes
1296 ---{ $PACKAGE_NAME $VERSION }---
1299 sysconfdir: ${sysconfdir}
1300 localstatedir: ${localstatedir}
1301 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1302 System State Path: ${PA_SYSTEM_STATE_PATH}
1303 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1307 Have X11: ${ENABLE_X11}
1308 Enable OSS: ${ENABLE_OSS}
1309 Enable Alsa: ${ENABLE_ALSA}
1310 Enable Solaris: ${ENABLE_SOLARIS}
1311 Enable GLib 2.0: ${ENABLE_GLIB20}
1312 Enable GConf: ${ENABLE_GCONF}
1313 Enable Avahi: ${ENABLE_AVAHI}
1314 Enable Jack: ${ENABLE_JACK}
1315 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1316 Enable LIRC: ${ENABLE_LIRC}
1317 Enable HAL: ${ENABLE_HAL}
1318 Enable BlueZ: ${ENABLE_BLUEZ}
1319 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1320 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1321 Enable PolicyKit: ${ENABLE_POLKIT}
1322 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1324 System User: ${PA_SYSTEM_USER}
1325 System Group: ${PA_SYSTEM_GROUP}
1326 Realtime Group: ${PA_REALTIME_GROUP}
1327 Access Group: ${PA_ACCESS_GROUP}
1328 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1329 Force preopen: ${FORCE_PREOPEN}
1330 Preopened modules: ${PREOPEN_MODS}