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 for the proper way to build libraries that have no undefined
121 dnl symbols; on some hosts this needs to be avoided but the macro
122 dnl takes care of it.
125 dnl Check whether to build tests by default (as compile-test) or not
126 AC_ARG_ENABLE([default-build-tests],
127 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
129 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
131 # Native atomic operation support
132 AC_ARG_ENABLE([atomic-arm-linux-helpers],
133 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
135 case "${enableval}" in
136 yes) atomic_arm_linux_helpers=yes ;;
137 no) atomic_arm_linux_helpers=no ;;
138 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
141 [atomic_arm_linux_helpers=auto])
143 AC_ARG_ENABLE([atomic-arm-memory-barrier],
144 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
146 case "${enableval}" in
147 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
149 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
153 AC_ARG_ENABLE([netbsd-atomic-ops],
154 AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
156 case "${enableval}" in
157 yes) atomic_netbsd_helpers=yes ;;
158 no) atomic_netbsd_helpers=no ;;
159 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
162 [atomic_netbsd_helpers=auto])
164 AC_MSG_CHECKING([target operating system])
167 AC_MSG_RESULT([linux])
168 pulse_target_os=linux
171 AC_MSG_RESULT([netbsd])
172 pulse_target_os=netbsd
175 AC_MSG_RESULT([unknown])
176 pulse_target_os=unknown
180 # If everything else fails use libatomic_ops
181 need_libatomic_ops=yes
183 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
184 pulseaudio_cv_sync_bool_compare_and_swap,
186 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
187 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
188 [pulseaudio_cv_sync_bool_compare_and_swap=no])
191 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
192 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
193 need_libatomic_ops=no
195 # HW specific atomic ops stuff
196 AC_MSG_CHECKING([architecture for native atomic operations])
200 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
201 # The Linux kernel helper functions have been there since 2.6.16. However
202 # compile time checking for kernel version in cross compile environment
203 # (which is usually the case for arm cpu) is tricky (or impossible).
204 if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
206 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
207 need_libatomic_ops=no
210 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
211 pulseaudio_cv_support_arm_atomic_ops,
216 asm volatile ("ldrex %0, [%1]\n"
218 "strexeq %0, %3, [%1]\n"
220 : "r" (&a), "Ir" (o), "r" (n)
222 return (a==1 ? 0 : -1);
224 [pulseaudio_cv_support_arm_atomic_ops=yes],
225 [pulseaudio_cv_support_arm_atomic_ops=no])
227 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
228 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
229 need_libatomic_ops=no
234 if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
236 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
237 need_libatomic_ops=no
239 AC_MSG_RESULT([unknown])
247 AC_CACHE_CHECK([whether $CC knows _Bool],
250 AC_LANG_PROGRAM([], [[_Bool b;]]),
251 [pulseaudio_cv__Bool=yes],
252 [pulseaudio_cv__Bool=no])
255 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
256 AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
259 #### libtool stuff ####
261 LT_INIT([dlopen win32-dll disable-static])
263 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
264 dnl exactly which version of libltdl is present in the system, so we
265 dnl just assume that it's a working version as long as we have the
266 dnl library and the header files.
268 dnl As an extra safety device, check for lt_dladvise_init() which is
269 dnl only implemented in libtool 2.x, and refine as we go if we have
270 dnl refined requirements.
272 dnl Check the header files first since the system may have a
273 dnl libltdl.so for runtime, but no headers, and we want to bail out as
274 dnl soon as possible.
276 dnl We don't need any special variable for this though, since the user
277 dnl can give the proper place to find libltdl through the standard
278 dnl variables like LDFLAGS and CPPFLAGS.
280 AC_CHECK_HEADER([ltdl.h],
281 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
284 AS_IF([test "x$LIBLTDL" = "x"],
285 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
288 #### Determine build environment ####
294 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
299 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
301 ###################################
302 # Basic environment checks #
303 ###################################
305 #### Checks for header files. ####
311 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
312 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
313 sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
314 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
315 AC_CHECK_HEADERS([netinet/ip.h], [], [],
316 [#include <sys/types.h>
317 #if HAVE_NETINET_IN_H
318 # include <netinet/in.h>
320 #if HAVE_NETINET_IN_SYSTM_H
321 # include <netinet/in_systm.h>
324 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
325 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
327 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
328 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
331 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
333 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
335 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
338 AC_CHECK_HEADERS_ONCE([sys/filio.h])
341 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
344 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
347 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
348 AC_CHECK_HEADERS_ONCE([byteswap.h])
349 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
350 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
351 AC_CHECK_HEADERS_ONCE([execinfo.h])
353 #### Typdefs, structures, etc. ####
359 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
360 [Define ssize_t if it is not done by the standard libs.])])
364 AC_CHECK_DECLS(environ)
366 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
368 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
370 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
373 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
374 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
375 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
377 #### POSIX threads ####
381 #### Check for libs ####
384 AC_SEARCH_LIBS([pow], [m])
387 AC_SEARCH_LIBS([sched_setscheduler], [rt])
388 AC_SEARCH_LIBS([dlopen], [dl])
389 AC_SEARCH_LIBS([shm_open], [rt])
390 AC_SEARCH_LIBS([inet_ntop], [nsl])
391 AC_SEARCH_LIBS([timer_create], [rt])
394 AC_SEARCH_LIBS([connect], [socket])
398 # This magic is needed so we do not needlessly add static libs to the win32
399 # build, disabling its ability to make dlls.
400 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
402 #### Check for functions ####
405 AC_CHECK_FUNCS_ONCE([lrintf strtof])
410 AC_FUNC_SELECT_ARGTYPES
411 AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
412 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
413 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
414 sigaction sleep sysconf pthread_setaffinity_np])
415 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
417 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
420 AC_CHECK_FUNCS_ONCE([readlink])
423 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
426 AC_CHECK_FUNCS_ONCE([strerror_r])
429 AC_CHECK_FUNCS_ONCE([lstat])
433 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
437 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
438 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
439 [save_CC=$CC; CC=$PTHREAD_CC
440 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
441 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
447 [[int i = PTHREAD_PRIO_INHERIT;]]),
448 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
449 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
455 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
456 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
459 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
461 #### Large File-Support (LFS) ####
465 # Check for open64 to know if the current system does have open64() and similar functions
466 AC_CHECK_FUNCS_ONCE([open64])
472 IT_PROG_INTLTOOL([0.35.0])
473 GETTEXT_PACKAGE=pulseaudio
474 AC_SUBST([GETTEXT_PACKAGE])
475 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
478 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
479 AC_SUBST(pulselocaledir)
481 ###################################
482 # External libraries #
483 ###################################
489 #### X11 (optional) ####
492 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
494 case "${enableval}" in
497 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
502 if test "x${x11}" != xno ; then
503 PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
507 if test "x$x11" = xyes ; then
508 AC_MSG_ERROR([*** X11 not found])
515 if test "x${HAVE_X11}" = x1 ; then
516 AC_DEFINE([HAVE_X11], 1, [Have X11?])
522 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
524 #### Capabilities (optional) ####
530 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
532 if test "x${with_caps}" != "xno"; then
533 AC_SEARCH_LIBS([cap_init], [cap], [], [
534 if test "x${with_caps}" = "xyes" ; then
535 AC_MSG_ERROR([*** POSIX caps libraries not found])
537 AC_CHECK_HEADERS([sys/capability.h], [], [
538 if test "x${with_caps}" = "xyes" ; then
539 AC_MSG_ERROR([*** POSIX caps headers not found])
543 #### Valgrind (optional) ####
545 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
549 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
550 AC_SUBST(LIBSNDFILE_CFLAGS)
551 AC_SUBST(LIBSNDFILE_LIBS)
553 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
554 AC_SUBST(LIBSPEEX_CFLAGS)
555 AC_SUBST(LIBSPEEX_LIBS)
559 AC_MSG_CHECKING([whether we need libatomic_ops])
560 if test "x$need_libatomic_ops" = "xyes"; then
562 AC_CHECK_HEADERS([atomic_ops.h], [], [
563 AC_MSG_ERROR([*** libatomic-ops headers not found])
566 # Win32 does not need the lib and breaks horribly if we try to include it
567 if test "x$os_is_win32" != "x1" ; then
568 LIBS="$LIBS -latomic_ops"
574 #### Libsamplerate support (optional) ####
576 AC_ARG_ENABLE([samplerate],
577 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
579 case "${enableval}" in
580 yes) samplerate=yes ;;
582 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
587 if test "x${samplerate}" != xno ; then
588 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
589 HAVE_LIBSAMPLERATE=1,
592 if test "x$samplerate" = xyes ; then
593 AC_MSG_ERROR([*** Libsamplerate not found])
600 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
601 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
604 AC_SUBST(LIBSAMPLERATE_CFLAGS)
605 AC_SUBST(LIBSAMPLERATE_LIBS)
606 AC_SUBST(HAVE_LIBSAMPLERATE)
607 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
609 #### Database support ####
616 AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
618 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
619 PKG_CHECK_MODULES(TDB, [ tdb ],
624 if test "x${with_database}" = "xtdb" ; then
625 AC_MSG_ERROR([*** tdb not found])
630 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
633 AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
634 AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
636 if test "x${have_gdbm}" = "xyes" ; then
641 elif test "x${with_database}" = "xgdbm"; then
642 AC_MSG_ERROR([*** gdbm not found])
646 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
647 AC_MSG_ERROR([*** missing database backend])
650 if test "x${HAVE_TDB}" = x1 ; then
651 AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
654 if test "x${HAVE_GDBM}" = x1 ; then
655 AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
661 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
663 AC_SUBST(GDBM_CFLAGS)
666 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
668 #### OSS support (optional) ####
671 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
673 case "${enableval}" in
676 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
681 if test "x${oss}" != xno ; then
682 AC_CHECK_HEADERS([sys/soundcard.h],
685 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
689 if test "x$oss" = xyes ; then
690 AC_MSG_ERROR([*** OSS support not found])
698 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
701 #### ALSA support (optional) ####
703 AC_ARG_ENABLE([alsa],
704 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
706 case "${enableval}" in
709 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
714 if test "x${alsa}" != xno ; then
715 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
718 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
722 if test "x$alsa" = xyes ; then
723 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
730 AC_SUBST(ASOUNDLIB_CFLAGS)
731 AC_SUBST(ASOUNDLIB_LIBS)
733 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
735 #### Solaris audio support (optional) ####
737 AC_ARG_ENABLE([solaris],
738 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
740 case "${enableval}" in
743 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
748 if test "x${solaris}" != xno ; then
749 AC_CHECK_HEADERS([sys/audio.h],
752 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
756 if test "x$solaris" = xyes ; then
757 AC_MSG_ERROR([*** Solaris audio support not found])
764 AC_SUBST(HAVE_SOLARIS)
765 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
767 #### GLib 2 support (optional) ####
769 AC_ARG_ENABLE([glib2],
770 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
772 case "${enableval}" in
775 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
780 if test "x${glib2}" != xno ; then
781 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
785 if test "x$glib2" = xyes ; then
786 AC_MSG_ERROR([*** GLib 2 support not found])
793 AC_SUBST(GLIB20_CFLAGS)
794 AC_SUBST(GLIB20_LIBS)
795 AC_SUBST(HAVE_GLIB20)
796 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
798 if test "x$HAVE_GLIB20" = x1 ; then
799 AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
802 #### GTK2 support (optional) ####
804 AC_ARG_ENABLE([gtk2],
805 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
807 case "${enableval}" in
810 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
815 if test "x${gtk2}" != xno ; then
816 PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
820 if test "x$gtk2" = xyes ; then
821 AC_MSG_ERROR([*** Gtk+ 2 support not found])
828 AC_SUBST(GTK20_CFLAGS)
831 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
833 if test "x$HAVE_GTK20" = x1 ; then
834 AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
837 #### GConf support (optional) ####
839 AC_ARG_ENABLE([gconf],
840 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
842 case "${enableval}" in
845 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
850 if test "x${gconf}" != xno ; then
851 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
855 if test "x$gconf" = xyes ; then
856 AC_MSG_ERROR([*** GConf support not found])
863 AC_SUBST(GCONF_CFLAGS)
866 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
868 #### Avahi support (optional) ####
870 AC_ARG_ENABLE([avahi],
871 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
873 case "${enableval}" in
876 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
881 if test "x${avahi}" != xno ; then
882 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
886 if test "x$avahi" = xyes ; then
887 AC_MSG_ERROR([*** Avahi support not found])
894 AC_SUBST(AVAHI_CFLAGS)
897 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
901 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
902 AC_SUBST(LIBOIL_CFLAGS)
903 AC_SUBST(LIBOIL_LIBS)
905 ### JACK (optional) ####
907 AC_ARG_ENABLE([jack],
908 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
910 case "${enableval}" in
913 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
918 if test "x${jack}" != xno ; then
919 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
923 if test "x$jack" = xyes ; then
924 AC_MSG_ERROR([*** JACK support not found])
931 AC_SUBST(JACK_CFLAGS)
934 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
936 #### Async DNS support (optional) ####
938 AC_ARG_ENABLE([asyncns],
939 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
941 case "${enableval}" in
944 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
949 if test "x${asyncns}" != xno ; then
950 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
954 if test "x$asyncns" = xyes ; then
955 AC_MSG_ERROR([*** Async DNS support not found])
962 AC_SUBST(LIBASYNCNS_CFLAGS)
963 AC_SUBST(LIBASYNCNS_LIBS)
964 AC_SUBST(HAVE_LIBASYNCNS)
965 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
967 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
968 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
971 #### TCP wrappers (optional) ####
973 AC_ARG_ENABLE([tcpwrap],
974 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
976 case "${enableval}" in
979 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
984 if test "x${tcpwrap}" != xno ; then
986 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
987 AC_MSG_ERROR([*** TCP wrappers support not found])
993 AC_SUBST(LIBWRAP_LIBS)
995 #### LIRC support (optional) ####
997 AC_ARG_ENABLE([lirc],
998 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1000 case "${enableval}" in
1003 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1008 if test "x${lirc}" != xno ; then
1010 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1011 AC_MSG_ERROR([*** LIRC support not found])
1017 AC_SUBST(LIRC_CFLAGS)
1019 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1021 #### HAL support (optional) ####
1023 AC_ARG_ENABLE([hal],
1024 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1026 case "${enableval}" in
1029 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1033 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1034 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1037 AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1041 if test "x$hal" = xyes ; then
1042 AC_MSG_ERROR([*** HAL support not found])
1049 AC_SUBST(HAL_CFLAGS)
1052 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1054 #### UDEV support (optional) ####
1056 AC_ARG_ENABLE([udev],
1057 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1059 case "${enableval}" in
1062 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1066 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1067 PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1070 AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1074 if test "x$udev" = xyes ; then
1075 AC_MSG_ERROR([*** UDEV support not found])
1082 AC_SUBST(UDEV_CFLAGS)
1085 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1087 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1089 #### BlueZ support (optional) ####
1091 AC_ARG_ENABLE([bluez],
1092 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1094 case "${enableval}" in
1097 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1101 if test "x${bluez}" != xno ; then
1102 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1106 if test "x$bluez" = xyes ; then
1107 AC_MSG_ERROR([*** BLUEZ support not found])
1114 AC_SUBST(BLUEZ_CFLAGS)
1115 AC_SUBST(BLUEZ_LIBS)
1116 AC_SUBST(HAVE_BLUEZ)
1117 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1119 #### D-Bus support (optional) ####
1121 AC_ARG_ENABLE([dbus],
1122 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1124 case "${enableval}" in
1127 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1132 if test "x$HAVE_HAL" = x1 ; then
1136 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1138 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1142 LIBS="$LIBS $DBUS_LIBS"
1143 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1145 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1149 if test "x$dbus" = xyes ; then
1150 AC_MSG_ERROR([*** D-Bus support not found])
1157 AC_SUBST(DBUS_CFLAGS)
1160 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1162 ### IPv6 connection support (optional) ###
1164 AC_ARG_ENABLE([ipv6],
1165 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1167 case "${enableval}" in
1170 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1175 if test "x${ipv6}" != xno ; then
1176 AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1182 #### OpenSSL support (optional) ####
1184 AC_ARG_ENABLE([openssl],
1185 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1187 case "${enableval}" in
1190 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1195 if test "x${openssl}" != xno ; then
1197 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1200 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1204 if test "x$openssl" = xyes ; then
1205 AC_MSG_ERROR([*** OpenSSL support not found])
1212 AC_SUBST(OPENSSL_CFLAGS)
1213 AC_SUBST(OPENSSL_LIBS)
1214 AC_SUBST(HAVE_OPENSSL)
1215 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1217 ### Build and Install man pages ###
1218 AC_ARG_ENABLE(manpages,
1219 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1220 [case "${enableval}" in
1221 yes) manpages=yes ;;
1223 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1224 esac],[manpages=yes])
1226 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1228 #### PulseAudio system group & user #####
1230 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1231 if test -z "$with_system_user" ; then
1232 PA_SYSTEM_USER=pulse
1234 PA_SYSTEM_USER=$with_system_user
1236 AC_SUBST(PA_SYSTEM_USER)
1237 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1239 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1240 if test -z "$with_system_group" ; then
1241 PA_SYSTEM_GROUP=pulse
1243 PA_SYSTEM_GROUP=$with_system_group
1245 AC_SUBST(PA_SYSTEM_GROUP)
1246 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1248 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)]))
1249 if test -z "$with_access_group" ; then
1250 PA_ACCESS_GROUP=pulse-access
1252 PA_ACCESS_GROUP=$with_access_group
1254 AC_SUBST(PA_ACCESS_GROUP)
1255 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1258 per_user_esound_socket,
1259 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1261 case "${enableval}" in
1262 yes) per_user_esound_socket=1 ;;
1263 no) per_user_esound_socket=0 ;;
1264 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1267 [per_user_esound_socket=1])
1269 if test "x$per_user_esound_socket" = "x1"; then
1270 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1273 #### PulseAudio system runtime dir ####
1274 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1275 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1276 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1277 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1278 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1279 AC_SUBST(PA_SYSTEM_STATE_PATH)
1281 ###################################
1283 ###################################
1285 AC_ARG_ENABLE([legacy-runtime-dir],
1286 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1287 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1288 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1293 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1294 [STATIC_BINS=1], [STATIC_BINS=0])
1295 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1299 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1300 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1301 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1302 if test "x$PREOPEN_MODS" != "xall" ; then
1304 for mod in $PREOPEN_MODS; do
1305 tmpLIBS="$tmpLIBS module-$mod.la"
1307 PREOPEN_MODS="$tmpLIBS"
1308 AC_SUBST(PREOPEN_MODS)
1313 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules]),
1314 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules"])
1316 AC_SUBST(modlibexecdir)
1320 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1321 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1322 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1331 libpulse-mainloop-glib.pc
1333 doxygen/doxygen.conf
1340 # ==========================================================================
1342 if test "x$HAVE_X11" = "x1" ; then
1347 if test "x$HAVE_OSS" = "x1" ; then
1352 if test "x$HAVE_ALSA" = "x1" ; then
1357 if test "x$HAVE_SOLARIS" = "x1" ; then
1362 if test "x$HAVE_GTK20" = "x1" ; then
1367 if test "x$HAVE_GLIB20" = "x1" ; then
1372 if test "x$HAVE_GCONF" = "x1" ; then
1377 if test "x$HAVE_AVAHI" = "x1" ; then
1382 if test "x$HAVE_JACK" = "x1" ; then
1386 ENABLE_LIBASYNCNS=no
1387 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1388 ENABLE_LIBASYNCNS=yes
1392 if test "x$HAVE_LIRC" = "x1" ; then
1397 if test "x$HAVE_HAL" = "x1" ; then
1402 if test "x$HAVE_UDEV" = "x1" ; then
1407 if test "x${LIBWRAP_LIBS}" != x ; then
1411 ENABLE_LIBSAMPLERATE=no
1412 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1413 ENABLE_LIBSAMPLERATE=yes
1417 if test "x${HAVE_BLUEZ}" = "x1" ; then
1422 if test "x${HAVE_GDBM}" = "x1" ; then
1427 if test "x${HAVE_TDB}" = "x1" ; then
1432 if test "x${HAVE_OPENSSL}" = "x1" ; then
1437 if test "x${HAVE_IPV6}" = "x1" ; then
1441 ENABLE_PER_USER_ESOUND_SOCKET=no
1442 if test "x$per_user_esound_socket" = "x1" ; then
1443 ENABLE_PER_USER_ESOUND_SOCKET=yes
1447 ---{ $PACKAGE_NAME $VERSION }---
1450 sysconfdir: ${sysconfdir}
1451 localstatedir: ${localstatedir}
1452 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1453 System State Path: ${PA_SYSTEM_STATE_PATH}
1454 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1458 Have X11: ${ENABLE_X11}
1459 Enable OSS: ${ENABLE_OSS}
1460 Enable Alsa: ${ENABLE_ALSA}
1461 Enable Solaris: ${ENABLE_SOLARIS}
1462 Enable GLib 2.0: ${ENABLE_GLIB20}
1463 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1464 Enable GConf: ${ENABLE_GCONF}
1465 Enable Avahi: ${ENABLE_AVAHI}
1466 Enable Jack: ${ENABLE_JACK}
1467 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1468 Enable LIRC: ${ENABLE_LIRC}
1469 Enable HAL: ${ENABLE_HAL}
1470 Enable udev: ${ENABLE_UDEV}
1471 Enable BlueZ: ${ENABLE_BLUEZ}
1472 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1473 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1474 Enable IPv6: ${ENABLE_IPV6}
1475 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1476 Enable tdb: ${ENABLE_TDB}
1477 Enable gdbm: ${ENABLE_GDBM}
1479 System User: ${PA_SYSTEM_USER}
1480 System Group: ${PA_SYSTEM_GROUP}
1481 Access Group: ${PA_ACCESS_GROUP}
1482 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1483 Force preopen: ${FORCE_PREOPEN}
1484 Preopened modules: ${PREOPEN_MODS}