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 CC_CHECK_CFLAGS_APPEND([-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])
106 dnl Check whether the linker supports the -version-script option.
108 dnl This variable is used to make sure ${srcdir} is expanded and not
109 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
110 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
112 CC_CHECK_LDFLAGS([${tmp_ldflag}],
113 [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
114 AC_SUBST([VERSIONING_LDFLAGS])
116 dnl Use immediate (now) bindings; avoids the funky re-call in itself
117 dnl the -z now syntax is lifted from Sun's linker and works with GNU's too
118 dnl other linkes might be added later
119 CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"])
120 AC_SUBST([IMMEDIATE_LDFLAGS])
122 dnl On ELF systems we don't want the libraries to be unloaded since we
123 dnl don't clean them up properly, so we request the nodelete flag to be
126 dnl On other systems, we don't really know how to do that, but it's
127 dnl welcome if somebody can tell.
128 CC_CHECK_LDFLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS="-Wl,-z,nodelete"])
129 AC_SUBST([NODELETE_LDFLAGS])
131 dnl Check for the proper way to build libraries that have no undefined
132 dnl symbols; on some hosts this needs to be avoided but the macro
133 dnl takes care of it.
136 dnl Check whether to build tests by default (as compile-test) or not
137 AC_ARG_ENABLE([default-build-tests],
138 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
140 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
142 # Native atomic operation support
143 AC_ARG_ENABLE([atomic-arm-linux-helpers],
144 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
146 case "${enableval}" in
147 yes) atomic_arm_linux_helpers=yes ;;
148 no) atomic_arm_linux_helpers=no ;;
149 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
152 [atomic_arm_linux_helpers=auto])
154 AC_ARG_ENABLE([atomic-arm-memory-barrier],
155 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
157 case "${enableval}" in
158 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
160 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
164 AC_ARG_ENABLE([netbsd-atomic-ops],
165 AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
167 case "${enableval}" in
168 yes) atomic_netbsd_helpers=yes ;;
169 no) atomic_netbsd_helpers=no ;;
170 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
173 [atomic_netbsd_helpers=auto])
175 AC_MSG_CHECKING([target operating system])
178 AC_MSG_RESULT([linux])
179 pulse_target_os=linux
182 AC_MSG_RESULT([netbsd])
183 pulse_target_os=netbsd
186 AC_MSG_RESULT([unknown])
187 pulse_target_os=unknown
191 # If everything else fails use libatomic_ops
192 need_libatomic_ops=yes
194 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
195 pulseaudio_cv_sync_bool_compare_and_swap,
197 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
198 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
199 [pulseaudio_cv_sync_bool_compare_and_swap=no])
202 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
203 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
204 need_libatomic_ops=no
206 # HW specific atomic ops stuff
207 AC_MSG_CHECKING([architecture for native atomic operations])
211 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
212 # The Linux kernel helper functions have been there since 2.6.16. However
213 # compile time checking for kernel version in cross compile environment
214 # (which is usually the case for arm cpu) is tricky (or impossible).
215 if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
217 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
218 need_libatomic_ops=no
221 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
222 pulseaudio_cv_support_arm_atomic_ops,
227 asm volatile ("ldrex %0, [%1]\n"
229 "strexeq %0, %3, [%1]\n"
231 : "r" (&a), "Ir" (o), "r" (n)
233 return (a==1 ? 0 : -1);
235 [pulseaudio_cv_support_arm_atomic_ops=yes],
236 [pulseaudio_cv_support_arm_atomic_ops=no])
238 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
239 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
240 need_libatomic_ops=no
245 if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
247 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
248 need_libatomic_ops=no
250 AC_MSG_RESULT([unknown])
258 AC_CACHE_CHECK([whether $CC knows _Bool],
261 AC_LANG_PROGRAM([], [[_Bool b;]]),
262 [pulseaudio_cv__Bool=yes],
263 [pulseaudio_cv__Bool=no])
266 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
267 AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
270 #### libtool stuff ####
272 LT_INIT([dlopen win32-dll disable-static])
274 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
275 dnl exactly which version of libltdl is present in the system, so we
276 dnl just assume that it's a working version as long as we have the
277 dnl library and the header files.
279 dnl As an extra safety device, check for lt_dladvise_init() which is
280 dnl only implemented in libtool 2.x, and refine as we go if we have
281 dnl refined requirements.
283 dnl Check the header files first since the system may have a
284 dnl libltdl.so for runtime, but no headers, and we want to bail out as
285 dnl soon as possible.
287 dnl We don't need any special variable for this though, since the user
288 dnl can give the proper place to find libltdl through the standard
289 dnl variables like LDFLAGS and CPPFLAGS.
291 AC_CHECK_HEADER([ltdl.h],
292 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
295 AS_IF([test "x$LIBLTDL" = "x"],
296 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
299 #### Determine build environment ####
305 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
310 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
312 ###################################
313 # Basic environment checks #
314 ###################################
316 #### Checks for header files. ####
322 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
323 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
324 sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
325 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
326 AC_CHECK_HEADERS([netinet/ip.h], [], [],
327 [#include <sys/types.h>
328 #if HAVE_NETINET_IN_H
329 # include <netinet/in.h>
331 #if HAVE_NETINET_IN_SYSTM_H
332 # include <netinet/in_systm.h>
335 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
336 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
338 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
339 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
342 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
344 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
346 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
349 AC_CHECK_HEADERS_ONCE([sys/filio.h])
352 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
355 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
358 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
359 AC_CHECK_HEADERS_ONCE([byteswap.h])
360 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
361 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
362 AC_CHECK_HEADERS_ONCE([execinfo.h])
364 #### Typdefs, structures, etc. ####
370 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
371 [Define ssize_t if it is not done by the standard libs.])])
375 AC_CHECK_DECLS(environ)
377 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
379 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
381 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
384 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
385 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
386 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
388 #### POSIX threads ####
392 #### Check for libs ####
395 AC_SEARCH_LIBS([pow], [m])
398 AC_SEARCH_LIBS([sched_setscheduler], [rt])
399 AC_SEARCH_LIBS([dlopen], [dl])
400 AC_SEARCH_LIBS([shm_open], [rt])
401 AC_SEARCH_LIBS([inet_ntop], [nsl])
402 AC_SEARCH_LIBS([timer_create], [rt])
405 AC_SEARCH_LIBS([connect], [socket])
406 AC_SEARCH_LIBS([backtrace], [execinfo])
410 # This magic is needed so we do not needlessly add static libs to the win32
411 # build, disabling its ability to make dlls.
412 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
414 #### Check for functions ####
417 AC_CHECK_FUNCS_ONCE([lrintf strtof])
422 AC_FUNC_SELECT_ARGTYPES
423 AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
424 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
425 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
426 sigaction sleep sysconf pthread_setaffinity_np])
427 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
429 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
432 AC_CHECK_FUNCS_ONCE([readlink])
435 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
438 AC_CHECK_FUNCS_ONCE([strerror_r])
441 AC_CHECK_FUNCS_ONCE([lstat])
445 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
449 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
450 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
451 [save_CC=$CC; CC=$PTHREAD_CC
452 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
453 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
459 [[int i = PTHREAD_PRIO_INHERIT;]]),
460 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
461 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
467 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
468 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
471 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
473 #### Large File-Support (LFS) ####
477 # Check for open64 to know if the current system does have open64() and similar functions
478 AC_CHECK_FUNCS_ONCE([open64])
484 IT_PROG_INTLTOOL([0.35.0])
485 GETTEXT_PACKAGE=pulseaudio
486 AC_SUBST([GETTEXT_PACKAGE])
487 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
490 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
491 AC_SUBST(pulselocaledir)
493 ###################################
494 # External libraries #
495 ###################################
501 #### X11 (optional) ####
504 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
506 case "${enableval}" in
509 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
514 if test "x${x11}" != xno ; then
515 PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
519 if test "x$x11" = xyes ; then
520 AC_MSG_ERROR([*** X11 not found])
527 if test "x${HAVE_X11}" = x1 ; then
528 AC_DEFINE([HAVE_X11], 1, [Have X11?])
534 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
536 #### Capabilities (optional) ####
542 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
544 if test "x${with_caps}" != "xno"; then
545 AC_SEARCH_LIBS([cap_init], [cap], [], [
546 if test "x${with_caps}" = "xyes" ; then
547 AC_MSG_ERROR([*** POSIX caps libraries not found])
549 AC_CHECK_HEADERS([sys/capability.h], [], [
550 if test "x${with_caps}" = "xyes" ; then
551 AC_MSG_ERROR([*** POSIX caps headers not found])
555 #### Valgrind (optional) ####
557 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
561 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
562 AC_SUBST(LIBSNDFILE_CFLAGS)
563 AC_SUBST(LIBSNDFILE_LIBS)
565 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
566 AC_SUBST(LIBSPEEX_CFLAGS)
567 AC_SUBST(LIBSPEEX_LIBS)
571 AC_MSG_CHECKING([whether we need libatomic_ops])
572 if test "x$need_libatomic_ops" = "xyes"; then
574 AC_CHECK_HEADERS([atomic_ops.h], [], [
575 AC_MSG_ERROR([*** libatomic-ops headers not found])
578 # Win32 does not need the lib and breaks horribly if we try to include it
579 if test "x$os_is_win32" != "x1" ; then
580 LIBS="$LIBS -latomic_ops"
586 #### Libsamplerate support (optional) ####
588 AC_ARG_ENABLE([samplerate],
589 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
591 case "${enableval}" in
592 yes) samplerate=yes ;;
594 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
599 if test "x${samplerate}" != xno ; then
600 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
601 HAVE_LIBSAMPLERATE=1,
604 if test "x$samplerate" = xyes ; then
605 AC_MSG_ERROR([*** Libsamplerate not found])
612 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
613 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
616 AC_SUBST(LIBSAMPLERATE_CFLAGS)
617 AC_SUBST(LIBSAMPLERATE_LIBS)
618 AC_SUBST(HAVE_LIBSAMPLERATE)
619 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
621 #### Database support ####
628 AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
630 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
631 PKG_CHECK_MODULES(TDB, [ tdb ],
636 if test "x${with_database}" = "xtdb" ; then
637 AC_MSG_ERROR([*** tdb not found])
642 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
645 AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
646 AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
648 if test "x${have_gdbm}" = "xyes" ; then
653 elif test "x${with_database}" = "xgdbm"; then
654 AC_MSG_ERROR([*** gdbm not found])
658 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
659 AC_MSG_ERROR([*** missing database backend])
662 if test "x${HAVE_TDB}" = x1 ; then
663 AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
666 if test "x${HAVE_GDBM}" = x1 ; then
667 AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
673 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
675 AC_SUBST(GDBM_CFLAGS)
678 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
680 #### OSS support (optional) ####
683 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
685 case "${enableval}" in
688 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
693 if test "x${oss}" != xno ; then
694 AC_CHECK_HEADERS([sys/soundcard.h],
697 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
701 if test "x$oss" = xyes ; then
702 AC_MSG_ERROR([*** OSS support not found])
710 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
713 #### ALSA support (optional) ####
715 AC_ARG_ENABLE([alsa],
716 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
718 case "${enableval}" in
721 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
726 if test "x${alsa}" != xno ; then
727 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
730 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
734 if test "x$alsa" = xyes ; then
735 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
742 AC_SUBST(ASOUNDLIB_CFLAGS)
743 AC_SUBST(ASOUNDLIB_LIBS)
745 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
747 #### Solaris audio support (optional) ####
749 AC_ARG_ENABLE([solaris],
750 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
752 case "${enableval}" in
755 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
760 if test "x${solaris}" != xno ; then
761 AC_CHECK_HEADERS([sys/audio.h],
764 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
768 if test "x$solaris" = xyes ; then
769 AC_MSG_ERROR([*** Solaris audio support not found])
776 AC_SUBST(HAVE_SOLARIS)
777 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
779 #### GLib 2 support (optional) ####
781 AC_ARG_ENABLE([glib2],
782 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
784 case "${enableval}" in
787 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
792 if test "x${glib2}" != xno ; then
793 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
797 if test "x$glib2" = xyes ; then
798 AC_MSG_ERROR([*** GLib 2 support not found])
805 AC_SUBST(GLIB20_CFLAGS)
806 AC_SUBST(GLIB20_LIBS)
807 AC_SUBST(HAVE_GLIB20)
808 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
810 if test "x$HAVE_GLIB20" = x1 ; then
811 AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
814 #### GTK2 support (optional) ####
816 AC_ARG_ENABLE([gtk2],
817 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
819 case "${enableval}" in
822 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
827 if test "x${gtk2}" != xno ; then
828 PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
832 if test "x$gtk2" = xyes ; then
833 AC_MSG_ERROR([*** Gtk+ 2 support not found])
840 AC_SUBST(GTK20_CFLAGS)
843 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
845 if test "x$HAVE_GTK20" = x1 ; then
846 AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
849 #### GConf support (optional) ####
851 AC_ARG_ENABLE([gconf],
852 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
854 case "${enableval}" in
857 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
862 if test "x${gconf}" != xno ; then
863 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
867 if test "x$gconf" = xyes ; then
868 AC_MSG_ERROR([*** GConf support not found])
875 AC_SUBST(GCONF_CFLAGS)
878 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
880 #### Avahi support (optional) ####
882 AC_ARG_ENABLE([avahi],
883 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
885 case "${enableval}" in
888 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
893 if test "x${avahi}" != xno ; then
894 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
898 if test "x$avahi" = xyes ; then
899 AC_MSG_ERROR([*** Avahi support not found])
906 AC_SUBST(AVAHI_CFLAGS)
909 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
913 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
914 AC_SUBST(LIBOIL_CFLAGS)
915 AC_SUBST(LIBOIL_LIBS)
917 ### JACK (optional) ####
919 AC_ARG_ENABLE([jack],
920 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
922 case "${enableval}" in
925 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
930 if test "x${jack}" != xno ; then
931 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
935 if test "x$jack" = xyes ; then
936 AC_MSG_ERROR([*** JACK support not found])
943 AC_SUBST(JACK_CFLAGS)
946 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
948 #### Async DNS support (optional) ####
950 AC_ARG_ENABLE([asyncns],
951 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
953 case "${enableval}" in
956 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
961 if test "x${asyncns}" != xno ; then
962 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
966 if test "x$asyncns" = xyes ; then
967 AC_MSG_ERROR([*** Async DNS support not found])
974 AC_SUBST(LIBASYNCNS_CFLAGS)
975 AC_SUBST(LIBASYNCNS_LIBS)
976 AC_SUBST(HAVE_LIBASYNCNS)
977 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
979 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
980 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
983 #### TCP wrappers (optional) ####
985 AC_ARG_ENABLE([tcpwrap],
986 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
988 case "${enableval}" in
991 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
996 if test "x${tcpwrap}" != xno ; then
998 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
999 AC_MSG_ERROR([*** TCP wrappers support not found])
1005 AC_SUBST(LIBWRAP_LIBS)
1007 #### LIRC support (optional) ####
1009 AC_ARG_ENABLE([lirc],
1010 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1012 case "${enableval}" in
1015 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1020 if test "x${lirc}" != xno ; then
1022 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1023 AC_MSG_ERROR([*** LIRC support not found])
1029 AC_SUBST(LIRC_CFLAGS)
1031 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1033 #### HAL support (optional) ####
1035 AC_ARG_ENABLE([hal],
1036 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1038 case "${enableval}" in
1041 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1045 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1046 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1049 AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1053 if test "x$hal" = xyes ; then
1054 AC_MSG_ERROR([*** HAL support not found])
1061 AC_SUBST(HAL_CFLAGS)
1064 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1066 #### UDEV support (optional) ####
1068 AC_ARG_ENABLE([udev],
1069 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1071 case "${enableval}" in
1074 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1078 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1079 PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1082 AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1086 if test "x$udev" = xyes ; then
1087 AC_MSG_ERROR([*** UDEV support not found])
1094 AC_SUBST(UDEV_CFLAGS)
1097 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1099 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1101 #### BlueZ support (optional) ####
1103 AC_ARG_ENABLE([bluez],
1104 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1106 case "${enableval}" in
1109 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1113 if test "x${bluez}" != xno ; then
1114 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1118 if test "x$bluez" = xyes ; then
1119 AC_MSG_ERROR([*** BLUEZ support not found])
1126 AC_SUBST(BLUEZ_CFLAGS)
1127 AC_SUBST(BLUEZ_LIBS)
1128 AC_SUBST(HAVE_BLUEZ)
1129 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1131 #### D-Bus support (optional) ####
1133 AC_ARG_ENABLE([dbus],
1134 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1136 case "${enableval}" in
1139 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1144 if test "x$HAVE_HAL" = x1 ; then
1148 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1150 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1154 LIBS="$LIBS $DBUS_LIBS"
1155 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1157 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1161 if test "x$dbus" = xyes ; then
1162 AC_MSG_ERROR([*** D-Bus support not found])
1169 AC_SUBST(DBUS_CFLAGS)
1172 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1174 ### IPv6 connection support (optional) ###
1176 AC_ARG_ENABLE([ipv6],
1177 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1179 case "${enableval}" in
1182 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1187 if test "x${ipv6}" != xno ; then
1188 AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1194 #### OpenSSL support (optional) ####
1196 AC_ARG_ENABLE([openssl],
1197 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1199 case "${enableval}" in
1202 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1207 if test "x${openssl}" != xno ; then
1209 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1212 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1216 if test "x$openssl" = xyes ; then
1217 AC_MSG_ERROR([*** OpenSSL support not found])
1224 AC_SUBST(OPENSSL_CFLAGS)
1225 AC_SUBST(OPENSSL_LIBS)
1226 AC_SUBST(HAVE_OPENSSL)
1227 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1229 ### Build and Install man pages ###
1230 AC_ARG_ENABLE(manpages,
1231 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1232 [case "${enableval}" in
1233 yes) manpages=yes ;;
1235 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1236 esac],[manpages=yes])
1238 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1240 #### PulseAudio system group & user #####
1242 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1243 if test -z "$with_system_user" ; then
1244 PA_SYSTEM_USER=pulse
1246 PA_SYSTEM_USER=$with_system_user
1248 AC_SUBST(PA_SYSTEM_USER)
1249 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1251 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1252 if test -z "$with_system_group" ; then
1253 PA_SYSTEM_GROUP=pulse
1255 PA_SYSTEM_GROUP=$with_system_group
1257 AC_SUBST(PA_SYSTEM_GROUP)
1258 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1260 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)]))
1261 if test -z "$with_access_group" ; then
1262 PA_ACCESS_GROUP=pulse-access
1264 PA_ACCESS_GROUP=$with_access_group
1266 AC_SUBST(PA_ACCESS_GROUP)
1267 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1270 per_user_esound_socket,
1271 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1273 case "${enableval}" in
1274 yes) per_user_esound_socket=1 ;;
1275 no) per_user_esound_socket=0 ;;
1276 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1279 [per_user_esound_socket=1])
1281 if test "x$per_user_esound_socket" = "x1"; then
1282 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1285 #### PulseAudio system runtime dir ####
1286 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1287 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1288 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1289 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1290 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1291 AC_SUBST(PA_SYSTEM_STATE_PATH)
1293 ###################################
1295 ###################################
1297 AC_ARG_ENABLE([legacy-runtime-dir],
1298 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1299 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1300 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1305 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1306 [STATIC_BINS=1], [STATIC_BINS=0])
1307 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1311 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1312 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1313 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1314 if test "x$PREOPEN_MODS" != "xall" ; then
1316 for mod in $PREOPEN_MODS; do
1317 tmpLIBS="$tmpLIBS module-$mod.la"
1319 PREOPEN_MODS="$tmpLIBS"
1320 AC_SUBST(PREOPEN_MODS)
1325 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules]),
1326 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules"])
1328 AC_SUBST(modlibexecdir)
1332 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1333 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1334 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1343 libpulse-mainloop-glib.pc
1345 doxygen/doxygen.conf
1352 # ==========================================================================
1354 if test "x$HAVE_X11" = "x1" ; then
1359 if test "x$HAVE_OSS" = "x1" ; then
1364 if test "x$HAVE_ALSA" = "x1" ; then
1369 if test "x$HAVE_SOLARIS" = "x1" ; then
1374 if test "x$HAVE_GTK20" = "x1" ; then
1379 if test "x$HAVE_GLIB20" = "x1" ; then
1384 if test "x$HAVE_GCONF" = "x1" ; then
1389 if test "x$HAVE_AVAHI" = "x1" ; then
1394 if test "x$HAVE_JACK" = "x1" ; then
1398 ENABLE_LIBASYNCNS=no
1399 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1400 ENABLE_LIBASYNCNS=yes
1404 if test "x$HAVE_LIRC" = "x1" ; then
1409 if test "x$HAVE_HAL" = "x1" ; then
1414 if test "x$HAVE_UDEV" = "x1" ; then
1419 if test "x${LIBWRAP_LIBS}" != x ; then
1423 ENABLE_LIBSAMPLERATE=no
1424 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1425 ENABLE_LIBSAMPLERATE=yes
1429 if test "x${HAVE_BLUEZ}" = "x1" ; then
1434 if test "x${HAVE_GDBM}" = "x1" ; then
1439 if test "x${HAVE_TDB}" = "x1" ; then
1444 if test "x${HAVE_OPENSSL}" = "x1" ; then
1449 if test "x${HAVE_IPV6}" = "x1" ; then
1453 ENABLE_PER_USER_ESOUND_SOCKET=no
1454 if test "x$per_user_esound_socket" = "x1" ; then
1455 ENABLE_PER_USER_ESOUND_SOCKET=yes
1459 ---{ $PACKAGE_NAME $VERSION }---
1462 sysconfdir: ${sysconfdir}
1463 localstatedir: ${localstatedir}
1464 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1465 System State Path: ${PA_SYSTEM_STATE_PATH}
1466 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1470 Have X11: ${ENABLE_X11}
1471 Enable OSS: ${ENABLE_OSS}
1472 Enable Alsa: ${ENABLE_ALSA}
1473 Enable Solaris: ${ENABLE_SOLARIS}
1474 Enable GLib 2.0: ${ENABLE_GLIB20}
1475 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1476 Enable GConf: ${ENABLE_GCONF}
1477 Enable Avahi: ${ENABLE_AVAHI}
1478 Enable Jack: ${ENABLE_JACK}
1479 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1480 Enable LIRC: ${ENABLE_LIRC}
1481 Enable HAL: ${ENABLE_HAL}
1482 Enable udev: ${ENABLE_UDEV}
1483 Enable BlueZ: ${ENABLE_BLUEZ}
1484 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1485 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1486 Enable IPv6: ${ENABLE_IPV6}
1487 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1488 Enable tdb: ${ENABLE_TDB}
1489 Enable gdbm: ${ENABLE_GDBM}
1491 System User: ${PA_SYSTEM_USER}
1492 System Group: ${PA_SYSTEM_GROUP}
1493 Access Group: ${PA_ACCESS_GROUP}
1494 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1495 Force preopen: ${FORCE_PREOPEN}
1496 Preopened modules: ${PREOPEN_MODS}