2 # Process this file with autoconf to produce a configure script.
4 # This file is part of PulseAudio.
6 # Copyright 2004-2008 Lennart Poettering
7 # Copyright 2006-2007 Pierre Ossman <ossman@cendio.se> for Cendio AB
9 # PulseAudio is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU Lesser General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
14 # PulseAudio is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # General Public License for more details.
19 # You should have received a copy of the GNU Lesser General Public License
20 # along with PulseAudio; if not, write to the Free Software Foundation,
21 # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25 AC_INIT([pulseaudio], m4_esyscmd([./git-version-gen .tarball-version]),
26 [mzchyfrnhqvb (at) 0pointer (dot) net])
27 AC_CONFIG_SRCDIR([src/daemon/main.c])
28 AC_CONFIG_MACRO_DIR([m4])
29 AC_CONFIG_HEADERS([config.h])
30 AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax])
32 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
33 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
34 m4_define(pa_micro, `echo $VERSION | cut -d. -f3 | cut -d- -f1`)
36 AC_SUBST(PA_MAJOR, pa_major)
37 AC_SUBST(PA_MINOR, pa_minor)
38 AC_SUBST(PA_MICRO, pa_micro)
39 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
40 AC_SUBST(PA_MAJORMINORMICRO, pa_major.pa_minor.pa_micro)
41 AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
43 AC_SUBST(PA_API_VERSION, 12)
44 AC_SUBST(PA_PROTOCOL_VERSION, 16)
46 # The stable ABI for client applications, for the version info x:y:z
47 # always will hold y=z
48 AC_SUBST(LIBPULSE_VERSION_INFO, [8:0:8])
50 # A simplified, synchronous, ABI-stable interface for client
51 # applications, for the version info x:y:z always will hold y=z
52 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:2:0])
54 # The ABI-stable network browsing interface for client applications,
55 # for the version info x:y:z always will hold y=z
56 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
58 # The ABI-stable GLib adapter for client applications, for the version
59 # info x:y:z always will hold y=z
60 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
63 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
65 if type -p stow > /dev/null && test -d /usr/local/stow ; then
66 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
67 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
70 #### Platform hacks ####
74 AC_DEFINE(_XOPEN_SOURCE, 600, Needed to get declarations for msg_control and msg_controllen on Solaris)
75 AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
79 AM_SILENT_RULES([yes])
81 #### Checks for programs. ####
92 AC_PROG_GCC_TRADITIONAL
93 AC_USE_SYSTEM_EXTENSIONS
97 AC_CHECK_PROGS([M4], gm4 m4, no)
98 if test "x$M4" = xno ; then
99 AC_MSG_ERROR([m4 missing])
103 DESIRED_FLAGS="-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option"
105 for flag in $DESIRED_FLAGS ; do
106 CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
110 dnl Check whether the linker supports the -version-script option.
112 dnl This variable is used to make sure ${srcdir} is expanded and not
113 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
114 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
116 CC_CHECK_LDFLAGS([${tmp_ldflag}],
117 [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
118 AC_SUBST([VERSIONING_LDFLAGS])
120 dnl Check whether to build tests by default (as compile-test) or not
121 AC_ARG_ENABLE([default-build-tests],
122 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
124 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
126 # Native atomic operation support
127 AC_ARG_ENABLE([atomic-arm-linux-helpers],
128 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
130 case "${enableval}" in
131 yes) atomic_arm_linux_helpers=yes ;;
132 no) atomic_arm_linux_helpers=no ;;
133 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
136 [atomic_arm_linux_helpers=auto])
138 AC_ARG_ENABLE([atomic-arm-memory-barrier],
139 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
141 case "${enableval}" in
142 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
144 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
148 AC_ARG_ENABLE([netbsd-atomic-ops],
149 AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
151 case "${enableval}" in
152 yes) atomic_netbsd_helpers=yes ;;
153 no) atomic_netbsd_helpers=no ;;
154 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
157 [atomic_netbsd_helpers=auto])
159 AC_MSG_CHECKING([target operating system])
162 AC_MSG_RESULT([linux])
163 pulse_target_os=linux
166 AC_MSG_RESULT([netbsd])
167 pulse_target_os=netbsd
170 AC_MSG_RESULT([unknown])
171 pulse_target_os=unknown
175 # If everything else fails use libatomic_ops
176 need_libatomic_ops=yes
178 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
179 pulseaudio_cv_sync_bool_compare_and_swap,
181 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
182 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
183 [pulseaudio_cv_sync_bool_compare_and_swap=no])
186 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
187 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
188 need_libatomic_ops=no
190 # HW specific atomic ops stuff
191 AC_MSG_CHECKING([architecture for native atomic operations])
195 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
196 # The Linux kernel helper functions have been there since 2.6.16. However
197 # compile time checking for kernel version in cross compile environment
198 # (which is usually the case for arm cpu) is tricky (or impossible).
199 if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
201 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
202 need_libatomic_ops=no
205 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
206 pulseaudio_cv_support_arm_atomic_ops,
211 asm volatile ("ldrex %0, [%1]\n"
213 "strexeq %0, %3, [%1]\n"
215 : "r" (&a), "Ir" (o), "r" (n)
217 return (a==1 ? 0 : -1);
219 [pulseaudio_cv_support_arm_atomic_ops=yes],
220 [pulseaudio_cv_support_arm_atomic_ops=no])
222 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
223 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
224 need_libatomic_ops=no
229 if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
231 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
232 need_libatomic_ops=no
234 AC_MSG_RESULT([unknown])
242 AC_CACHE_CHECK([whether $CC knows _Bool],
245 AC_LANG_PROGRAM([], [[_Bool b;]]),
246 [pulseaudio_cv__Bool=yes],
247 [pulseaudio_cv__Bool=no])
250 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
251 AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
254 #### libtool stuff ####
256 LT_INIT([dlopen win32-dll disable-static])
258 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
259 dnl exactly which version of libltdl is present in the system, so we
260 dnl just assume that it's a working version as long as we have the
261 dnl library and the header files.
263 dnl As an extra safety device, check for lt_dladvise_init() which is
264 dnl only implemented in libtool 2.x, and refine as we go if we have
265 dnl refined requirements.
267 dnl Check the header files first since the system may have a
268 dnl libltdl.so for runtime, but no headers, and we want to bail out as
269 dnl soon as possible.
271 dnl We don't need any special variable for this though, since the user
272 dnl can give the proper place to find libltdl through the standard
273 dnl variables like LDFLAGS and CPPFLAGS.
275 AC_CHECK_HEADER([ltdl.h],
276 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
279 AS_IF([test "x$LIBLTDL" = "x"],
280 [AC_MSG_ERROR([Unable to find libltdl.])])
283 #### Determine build environment ####
289 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
294 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
296 ###################################
297 # Basic environment checks #
298 ###################################
300 #### Checks for header files. ####
306 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
307 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
308 sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
309 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
310 AC_CHECK_HEADERS([netinet/ip.h], [], [],
311 [#include <sys/types.h>
312 #if HAVE_NETINET_IN_H
313 # include <netinet/in.h>
315 #if HAVE_NETINET_IN_SYSTM_H
316 # include <netinet/in_systm.h>
319 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
320 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
322 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
323 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
326 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
328 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
330 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
333 AC_CHECK_HEADERS_ONCE([sys/filio.h])
336 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
339 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
342 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
343 AC_CHECK_HEADERS_ONCE([byteswap.h])
344 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
345 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
346 AC_CHECK_HEADERS_ONCE([execinfo.h])
348 #### Typdefs, structures, etc. ####
354 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
355 [Define ssize_t if it is not done by the standard libs.])])
359 AC_CHECK_DECLS(environ)
361 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
363 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
365 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
368 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
369 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
370 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
372 #### POSIX threads ####
376 #### Check for libs ####
379 AC_SEARCH_LIBS([pow], [m])
382 AC_SEARCH_LIBS([sched_setscheduler], [rt])
383 AC_SEARCH_LIBS([dlopen], [dl])
384 AC_SEARCH_LIBS([shm_open], [rt])
385 AC_SEARCH_LIBS([inet_ntop], [nsl])
386 AC_SEARCH_LIBS([timer_create], [rt])
389 AC_SEARCH_LIBS([connect], [socket])
393 # This magic is needed so we do not needlessly add static libs to the win32
394 # build, disabling its ability to make dlls.
395 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
397 #### Check for functions ####
400 AC_CHECK_FUNCS_ONCE([lrintf strtof])
405 AC_FUNC_SELECT_ARGTYPES
406 AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
407 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
408 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
409 sigaction sleep sysconf pthread_setaffinity_np])
410 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
412 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
415 AC_CHECK_FUNCS_ONCE([readlink])
418 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
421 AC_CHECK_FUNCS_ONCE([strerror_r])
424 AC_CHECK_FUNCS_ONCE([lstat])
428 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
432 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
433 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
434 [save_CC=$CC; CC=$PTHREAD_CC
435 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
436 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
442 [[int i = PTHREAD_PRIO_INHERIT;]]),
443 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
444 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
450 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
451 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
454 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
456 #### Large File-Support (LFS) ####
460 # Check for open64 to know if the current system does have open64() and similar functions
461 AC_CHECK_FUNCS_ONCE([open64])
467 IT_PROG_INTLTOOL([0.35.0])
468 GETTEXT_PACKAGE=pulseaudio
469 AC_SUBST([GETTEXT_PACKAGE])
470 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
473 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
474 AC_SUBST(pulselocaledir)
476 ###################################
477 # External libraries #
478 ###################################
484 #### X11 (optional) ####
487 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
489 case "${enableval}" in
492 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
497 if test "x${x11}" != xno ; then
498 PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
502 if test "x$x11" = xyes ; then
503 AC_MSG_ERROR([*** X11 not found])
510 if test "x${HAVE_X11}" = x1 ; then
511 AC_DEFINE([HAVE_X11], 1, [Have X11?])
517 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
519 #### Capabilities (optional) ####
525 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
527 if test "x${with_caps}" != "xno"; then
528 AC_SEARCH_LIBS([cap_init], [cap], [], [
529 if test "x${with_caps}" = "xyes" ; then
530 AC_MSG_ERROR([*** POSIX caps libraries not found])
532 AC_CHECK_HEADERS([sys/capability.h], [], [
533 if test "x${with_caps}" = "xyes" ; then
534 AC_MSG_ERROR([*** POSIX caps headers not found])
538 #### Valgrind (optional) ####
540 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
544 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
545 AC_SUBST(LIBSNDFILE_CFLAGS)
546 AC_SUBST(LIBSNDFILE_LIBS)
548 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
549 AC_SUBST(LIBSPEEX_CFLAGS)
550 AC_SUBST(LIBSPEEX_LIBS)
554 AC_MSG_CHECKING([whether we need libatomic_ops])
555 if test "x$need_libatomic_ops" = "xyes"; then
557 AC_CHECK_HEADERS([atomic_ops.h], [], [
558 AC_MSG_ERROR([*** libatomic-ops headers not found])
561 # Win32 does not need the lib and breaks horribly if we try to include it
562 if test "x$os_is_win32" != "x1" ; then
563 LIBS="$LIBS -latomic_ops"
569 #### Libsamplerate support (optional) ####
571 AC_ARG_ENABLE([samplerate],
572 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
574 case "${enableval}" in
575 yes) samplerate=yes ;;
577 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
582 if test "x${samplerate}" != xno ; then
583 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
584 HAVE_LIBSAMPLERATE=1,
587 if test "x$samplerate" = xyes ; then
588 AC_MSG_ERROR([*** Libsamplerate not found])
595 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
596 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
599 AC_SUBST(LIBSAMPLERATE_CFLAGS)
600 AC_SUBST(LIBSAMPLERATE_LIBS)
601 AC_SUBST(HAVE_LIBSAMPLERATE)
602 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
604 #### Database support ####
611 AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
613 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
614 PKG_CHECK_MODULES(TDB, [ tdb ],
619 if test "x${with_database}" = "xtdb" ; then
620 AC_MSG_ERROR([*** tdb not found])
625 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
628 AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
629 AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
631 if test "x${have_gdbm}" = "xyes" ; then
636 elif test "x${with_database}" = "xgdbm"; then
637 AC_MSG_ERROR([*** gdbm not found])
641 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
642 AC_MSG_ERROR([*** missing database backend])
645 if test "x${HAVE_TDB}" = x1 ; then
646 AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
649 if test "x${HAVE_GDBM}" = x1 ; then
650 AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
656 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
658 AC_SUBST(GDBM_CFLAGS)
661 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
663 #### OSS support (optional) ####
666 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
668 case "${enableval}" in
671 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
676 if test "x${oss}" != xno ; then
677 AC_CHECK_HEADERS([sys/soundcard.h],
680 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
684 if test "x$oss" = xyes ; then
685 AC_MSG_ERROR([*** OSS support not found])
693 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
696 #### ALSA support (optional) ####
698 AC_ARG_ENABLE([alsa],
699 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
701 case "${enableval}" in
704 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
709 if test "x${alsa}" != xno ; then
710 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
713 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
717 if test "x$alsa" = xyes ; then
718 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
725 AC_SUBST(ASOUNDLIB_CFLAGS)
726 AC_SUBST(ASOUNDLIB_LIBS)
728 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
730 #### Solaris audio support (optional) ####
732 AC_ARG_ENABLE([solaris],
733 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
735 case "${enableval}" in
738 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
743 if test "x${solaris}" != xno ; then
744 AC_CHECK_HEADERS([sys/audio.h],
747 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
751 if test "x$solaris" = xyes ; then
752 AC_MSG_ERROR([*** Solaris audio support not found])
759 AC_SUBST(HAVE_SOLARIS)
760 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
762 #### GLib 2 support (optional) ####
764 AC_ARG_ENABLE([glib2],
765 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
767 case "${enableval}" in
770 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
775 if test "x${glib2}" != xno ; then
776 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
780 if test "x$glib2" = xyes ; then
781 AC_MSG_ERROR([*** GLib 2 support not found])
788 AC_SUBST(GLIB20_CFLAGS)
789 AC_SUBST(GLIB20_LIBS)
790 AC_SUBST(HAVE_GLIB20)
791 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
793 if test "x$HAVE_GLIB20" = x1 ; then
794 AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
797 #### GTK2 support (optional) ####
799 AC_ARG_ENABLE([gtk2],
800 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
802 case "${enableval}" in
805 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
810 if test "x${gtk2}" != xno ; then
811 PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
815 if test "x$gtk2" = xyes ; then
816 AC_MSG_ERROR([*** Gtk+ 2 support not found])
823 AC_SUBST(GTK20_CFLAGS)
826 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
828 if test "x$HAVE_GTK20" = x1 ; then
829 AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
832 #### GConf support (optional) ####
834 AC_ARG_ENABLE([gconf],
835 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
837 case "${enableval}" in
840 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
845 if test "x${gconf}" != xno ; then
846 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
850 if test "x$gconf" = xyes ; then
851 AC_MSG_ERROR([*** GConf support not found])
858 AC_SUBST(GCONF_CFLAGS)
861 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
863 #### Avahi support (optional) ####
865 AC_ARG_ENABLE([avahi],
866 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
868 case "${enableval}" in
871 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
876 if test "x${avahi}" != xno ; then
877 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
881 if test "x$avahi" = xyes ; then
882 AC_MSG_ERROR([*** Avahi support not found])
889 AC_SUBST(AVAHI_CFLAGS)
892 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
896 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
897 AC_SUBST(LIBOIL_CFLAGS)
898 AC_SUBST(LIBOIL_LIBS)
900 ### JACK (optional) ####
902 AC_ARG_ENABLE([jack],
903 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
905 case "${enableval}" in
908 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
913 if test "x${jack}" != xno ; then
914 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
918 if test "x$jack" = xyes ; then
919 AC_MSG_ERROR([*** JACK support not found])
926 AC_SUBST(JACK_CFLAGS)
929 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
931 #### Async DNS support (optional) ####
933 AC_ARG_ENABLE([asyncns],
934 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
936 case "${enableval}" in
939 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
944 if test "x${asyncns}" != xno ; then
945 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
949 if test "x$asyncns" = xyes ; then
950 AC_MSG_ERROR([*** Async DNS support not found])
957 AC_SUBST(LIBASYNCNS_CFLAGS)
958 AC_SUBST(LIBASYNCNS_LIBS)
959 AC_SUBST(HAVE_LIBASYNCNS)
960 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
962 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
963 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
966 #### TCP wrappers (optional) ####
968 AC_ARG_ENABLE([tcpwrap],
969 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
971 case "${enableval}" in
974 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
979 if test "x${tcpwrap}" != xno ; then
981 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
982 AC_MSG_ERROR([*** TCP wrappers support not found])
988 AC_SUBST(LIBWRAP_LIBS)
990 #### LIRC support (optional) ####
992 AC_ARG_ENABLE([lirc],
993 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
995 case "${enableval}" in
998 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1003 if test "x${lirc}" != xno ; then
1005 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1006 AC_MSG_ERROR([*** LIRC support not found])
1012 AC_SUBST(LIRC_CFLAGS)
1014 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1016 #### HAL support (optional) ####
1018 AC_ARG_ENABLE([hal],
1019 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1021 case "${enableval}" in
1024 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1028 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1029 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1032 AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1036 if test "x$hal" = xyes ; then
1037 AC_MSG_ERROR([*** HAL support not found])
1044 AC_SUBST(HAL_CFLAGS)
1047 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1049 #### UDEV support (optional) ####
1051 AC_ARG_ENABLE([udev],
1052 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1054 case "${enableval}" in
1057 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1061 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1062 PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1065 AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1069 if test "x$udev" = xyes ; then
1070 AC_MSG_ERROR([*** UDEV support not found])
1077 AC_SUBST(UDEV_CFLAGS)
1080 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1082 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1084 #### BlueZ support (optional) ####
1086 AC_ARG_ENABLE([bluez],
1087 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1089 case "${enableval}" in
1092 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1096 if test "x${bluez}" != xno ; then
1097 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1101 if test "x$bluez" = xyes ; then
1102 AC_MSG_ERROR([*** BLUEZ support not found])
1109 AC_SUBST(BLUEZ_CFLAGS)
1110 AC_SUBST(BLUEZ_LIBS)
1111 AC_SUBST(HAVE_BLUEZ)
1112 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1114 #### D-Bus support (optional) ####
1116 AC_ARG_ENABLE([dbus],
1117 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1119 case "${enableval}" in
1122 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1127 if test "x$HAVE_HAL" = x1 ; then
1131 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1133 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1137 LIBS="$LIBS $DBUS_LIBS"
1138 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1140 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1144 if test "x$dbus" = xyes ; then
1145 AC_MSG_ERROR([*** D-Bus support not found])
1152 AC_SUBST(DBUS_CFLAGS)
1155 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1157 ### IPv6 connection support (optional) ###
1159 AC_ARG_ENABLE([ipv6],
1160 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1162 case "${enableval}" in
1165 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1170 if test "x${ipv6}" != xno ; then
1171 AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1177 #### OpenSSL support (optional) ####
1179 AC_ARG_ENABLE([openssl],
1180 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1182 case "${enableval}" in
1185 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1190 if test "x${openssl}" != xno ; then
1192 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1195 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1199 if test "x$openssl" = xyes ; then
1200 AC_MSG_ERROR([*** OpenSSL support not found])
1207 AC_SUBST(OPENSSL_CFLAGS)
1208 AC_SUBST(OPENSSL_LIBS)
1209 AC_SUBST(HAVE_OPENSSL)
1210 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1212 ### Build and Install man pages ###
1213 AC_ARG_ENABLE(manpages,
1214 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1215 [case "${enableval}" in
1216 yes) manpages=yes ;;
1218 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1219 esac],[manpages=yes])
1221 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1223 #### PulseAudio system group & user #####
1225 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1226 if test -z "$with_system_user" ; then
1227 PA_SYSTEM_USER=pulse
1229 PA_SYSTEM_USER=$with_system_user
1231 AC_SUBST(PA_SYSTEM_USER)
1232 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1234 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1235 if test -z "$with_system_group" ; then
1236 PA_SYSTEM_GROUP=pulse
1238 PA_SYSTEM_GROUP=$with_system_group
1240 AC_SUBST(PA_SYSTEM_GROUP)
1241 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1243 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)]))
1244 if test -z "$with_access_group" ; then
1245 PA_ACCESS_GROUP=pulse-access
1247 PA_ACCESS_GROUP=$with_access_group
1249 AC_SUBST(PA_ACCESS_GROUP)
1250 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1253 per_user_esound_socket,
1254 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1256 case "${enableval}" in
1257 yes) per_user_esound_socket=1 ;;
1258 no) per_user_esound_socket=0 ;;
1259 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1262 [per_user_esound_socket=1])
1264 if test "x$per_user_esound_socket" = "x1"; then
1265 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1268 #### PulseAudio system runtime dir ####
1269 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1270 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1271 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1272 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1273 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1274 AC_SUBST(PA_SYSTEM_STATE_PATH)
1276 ###################################
1278 ###################################
1280 AC_ARG_ENABLE([legacy-runtime-dir],
1281 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1282 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1283 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1288 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1289 [STATIC_BINS=1], [STATIC_BINS=0])
1290 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1294 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1295 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1296 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1297 if test "x$PREOPEN_MODS" != "xall" ; then
1299 for mod in $PREOPEN_MODS; do
1300 tmpLIBS="$tmpLIBS module-$mod.la"
1302 PREOPEN_MODS="$tmpLIBS"
1303 AC_SUBST(PREOPEN_MODS)
1308 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules]),
1309 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules"])
1311 AC_SUBST(modlibexecdir)
1315 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1316 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1317 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1326 libpulse-mainloop-glib.pc
1328 doxygen/doxygen.conf
1335 # ==========================================================================
1337 if test "x$HAVE_X11" = "x1" ; then
1342 if test "x$HAVE_OSS" = "x1" ; then
1347 if test "x$HAVE_ALSA" = "x1" ; then
1352 if test "x$HAVE_SOLARIS" = "x1" ; then
1357 if test "x$HAVE_GTK20" = "x1" ; then
1362 if test "x$HAVE_GLIB20" = "x1" ; then
1367 if test "x$HAVE_GCONF" = "x1" ; then
1372 if test "x$HAVE_AVAHI" = "x1" ; then
1377 if test "x$HAVE_JACK" = "x1" ; then
1381 ENABLE_LIBASYNCNS=no
1382 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1383 ENABLE_LIBASYNCNS=yes
1387 if test "x$HAVE_LIRC" = "x1" ; then
1392 if test "x$HAVE_HAL" = "x1" ; then
1397 if test "x$HAVE_UDEV" = "x1" ; then
1402 if test "x${LIBWRAP_LIBS}" != x ; then
1406 ENABLE_LIBSAMPLERATE=no
1407 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1408 ENABLE_LIBSAMPLERATE=yes
1412 if test "x${HAVE_BLUEZ}" = "x1" ; then
1417 if test "x${HAVE_GDBM}" = "x1" ; then
1422 if test "x${HAVE_TDB}" = "x1" ; then
1427 if test "x${HAVE_OPENSSL}" = "x1" ; then
1432 if test "x${HAVE_IPV6}" = "x1" ; then
1436 ENABLE_PER_USER_ESOUND_SOCKET=no
1437 if test "x$per_user_esound_socket" = "x1" ; then
1438 ENABLE_PER_USER_ESOUND_SOCKET=yes
1442 ---{ $PACKAGE_NAME $VERSION }---
1445 sysconfdir: ${sysconfdir}
1446 localstatedir: ${localstatedir}
1447 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1448 System State Path: ${PA_SYSTEM_STATE_PATH}
1449 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1453 Have X11: ${ENABLE_X11}
1454 Enable OSS: ${ENABLE_OSS}
1455 Enable Alsa: ${ENABLE_ALSA}
1456 Enable Solaris: ${ENABLE_SOLARIS}
1457 Enable GLib 2.0: ${ENABLE_GLIB20}
1458 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1459 Enable GConf: ${ENABLE_GCONF}
1460 Enable Avahi: ${ENABLE_AVAHI}
1461 Enable Jack: ${ENABLE_JACK}
1462 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1463 Enable LIRC: ${ENABLE_LIRC}
1464 Enable HAL: ${ENABLE_HAL}
1465 Enable udev: ${ENABLE_UDEV}
1466 Enable BlueZ: ${ENABLE_BLUEZ}
1467 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1468 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1469 Enable IPv6: ${ENABLE_IPV6}
1470 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1471 Enable tdb: ${ENABLE_TDB}
1472 Enable gdbm: ${ENABLE_GDBM}
1474 System User: ${PA_SYSTEM_USER}
1475 System Group: ${PA_SYSTEM_GROUP}
1476 Access Group: ${PA_ACCESS_GROUP}
1477 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1478 Force preopen: ${FORCE_PREOPEN}
1479 Preopened modules: ${PREOPEN_MODS}