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 Check for the proper way to build libraries that have no undefined
117 dnl symbols; on some hosts this needs to be avoided but the macro
118 dnl takes care of it.
121 dnl Check whether to build tests by default (as compile-test) or not
122 AC_ARG_ENABLE([default-build-tests],
123 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
125 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
127 # Native atomic operation support
128 AC_ARG_ENABLE([atomic-arm-linux-helpers],
129 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
131 case "${enableval}" in
132 yes) atomic_arm_linux_helpers=yes ;;
133 no) atomic_arm_linux_helpers=no ;;
134 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
137 [atomic_arm_linux_helpers=auto])
139 AC_ARG_ENABLE([atomic-arm-memory-barrier],
140 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
142 case "${enableval}" in
143 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
145 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
149 AC_ARG_ENABLE([netbsd-atomic-ops],
150 AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
152 case "${enableval}" in
153 yes) atomic_netbsd_helpers=yes ;;
154 no) atomic_netbsd_helpers=no ;;
155 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
158 [atomic_netbsd_helpers=auto])
160 AC_MSG_CHECKING([target operating system])
163 AC_MSG_RESULT([linux])
164 pulse_target_os=linux
167 AC_MSG_RESULT([netbsd])
168 pulse_target_os=netbsd
171 AC_MSG_RESULT([unknown])
172 pulse_target_os=unknown
176 # If everything else fails use libatomic_ops
177 need_libatomic_ops=yes
179 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
180 pulseaudio_cv_sync_bool_compare_and_swap,
182 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
183 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
184 [pulseaudio_cv_sync_bool_compare_and_swap=no])
187 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
188 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
189 need_libatomic_ops=no
191 # HW specific atomic ops stuff
192 AC_MSG_CHECKING([architecture for native atomic operations])
196 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
197 # The Linux kernel helper functions have been there since 2.6.16. However
198 # compile time checking for kernel version in cross compile environment
199 # (which is usually the case for arm cpu) is tricky (or impossible).
200 if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
202 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
203 need_libatomic_ops=no
206 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
207 pulseaudio_cv_support_arm_atomic_ops,
212 asm volatile ("ldrex %0, [%1]\n"
214 "strexeq %0, %3, [%1]\n"
216 : "r" (&a), "Ir" (o), "r" (n)
218 return (a==1 ? 0 : -1);
220 [pulseaudio_cv_support_arm_atomic_ops=yes],
221 [pulseaudio_cv_support_arm_atomic_ops=no])
223 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
224 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
225 need_libatomic_ops=no
230 if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
232 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
233 need_libatomic_ops=no
235 AC_MSG_RESULT([unknown])
243 AC_CACHE_CHECK([whether $CC knows _Bool],
246 AC_LANG_PROGRAM([], [[_Bool b;]]),
247 [pulseaudio_cv__Bool=yes],
248 [pulseaudio_cv__Bool=no])
251 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
252 AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
255 #### libtool stuff ####
257 LT_INIT([dlopen win32-dll disable-static])
259 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
260 dnl exactly which version of libltdl is present in the system, so we
261 dnl just assume that it's a working version as long as we have the
262 dnl library and the header files.
264 dnl As an extra safety device, check for lt_dladvise_init() which is
265 dnl only implemented in libtool 2.x, and refine as we go if we have
266 dnl refined requirements.
268 dnl Check the header files first since the system may have a
269 dnl libltdl.so for runtime, but no headers, and we want to bail out as
270 dnl soon as possible.
272 dnl We don't need any special variable for this though, since the user
273 dnl can give the proper place to find libltdl through the standard
274 dnl variables like LDFLAGS and CPPFLAGS.
276 AC_CHECK_HEADER([ltdl.h],
277 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
280 AS_IF([test "x$LIBLTDL" = "x"],
281 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
284 #### Determine build environment ####
290 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
295 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
297 ###################################
298 # Basic environment checks #
299 ###################################
301 #### Checks for header files. ####
307 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
308 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
309 sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
310 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
311 AC_CHECK_HEADERS([netinet/ip.h], [], [],
312 [#include <sys/types.h>
313 #if HAVE_NETINET_IN_H
314 # include <netinet/in.h>
316 #if HAVE_NETINET_IN_SYSTM_H
317 # include <netinet/in_systm.h>
320 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
321 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
323 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
324 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
327 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
329 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
331 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
334 AC_CHECK_HEADERS_ONCE([sys/filio.h])
337 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
340 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
343 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
344 AC_CHECK_HEADERS_ONCE([byteswap.h])
345 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
346 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
347 AC_CHECK_HEADERS_ONCE([execinfo.h])
349 #### Typdefs, structures, etc. ####
355 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
356 [Define ssize_t if it is not done by the standard libs.])])
360 AC_CHECK_DECLS(environ)
362 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
364 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
366 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
369 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
370 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
371 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
373 #### POSIX threads ####
377 #### Check for libs ####
380 AC_SEARCH_LIBS([pow], [m])
383 AC_SEARCH_LIBS([sched_setscheduler], [rt])
384 AC_SEARCH_LIBS([dlopen], [dl])
385 AC_SEARCH_LIBS([shm_open], [rt])
386 AC_SEARCH_LIBS([inet_ntop], [nsl])
387 AC_SEARCH_LIBS([timer_create], [rt])
390 AC_SEARCH_LIBS([connect], [socket])
394 # This magic is needed so we do not needlessly add static libs to the win32
395 # build, disabling its ability to make dlls.
396 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
398 #### Check for functions ####
401 AC_CHECK_FUNCS_ONCE([lrintf strtof])
406 AC_FUNC_SELECT_ARGTYPES
407 AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
408 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
409 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
410 sigaction sleep sysconf pthread_setaffinity_np])
411 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
413 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
416 AC_CHECK_FUNCS_ONCE([readlink])
419 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
422 AC_CHECK_FUNCS_ONCE([strerror_r])
425 AC_CHECK_FUNCS_ONCE([lstat])
429 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
433 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
434 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
435 [save_CC=$CC; CC=$PTHREAD_CC
436 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
437 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
443 [[int i = PTHREAD_PRIO_INHERIT;]]),
444 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
445 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
451 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
452 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
455 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
457 #### Large File-Support (LFS) ####
461 # Check for open64 to know if the current system does have open64() and similar functions
462 AC_CHECK_FUNCS_ONCE([open64])
468 IT_PROG_INTLTOOL([0.35.0])
469 GETTEXT_PACKAGE=pulseaudio
470 AC_SUBST([GETTEXT_PACKAGE])
471 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
474 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
475 AC_SUBST(pulselocaledir)
477 ###################################
478 # External libraries #
479 ###################################
485 #### X11 (optional) ####
488 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
490 case "${enableval}" in
493 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
498 if test "x${x11}" != xno ; then
499 PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
503 if test "x$x11" = xyes ; then
504 AC_MSG_ERROR([*** X11 not found])
511 if test "x${HAVE_X11}" = x1 ; then
512 AC_DEFINE([HAVE_X11], 1, [Have X11?])
518 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
520 #### Capabilities (optional) ####
526 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
528 if test "x${with_caps}" != "xno"; then
529 AC_SEARCH_LIBS([cap_init], [cap], [], [
530 if test "x${with_caps}" = "xyes" ; then
531 AC_MSG_ERROR([*** POSIX caps libraries not found])
533 AC_CHECK_HEADERS([sys/capability.h], [], [
534 if test "x${with_caps}" = "xyes" ; then
535 AC_MSG_ERROR([*** POSIX caps headers not found])
539 #### Valgrind (optional) ####
541 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
545 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
546 AC_SUBST(LIBSNDFILE_CFLAGS)
547 AC_SUBST(LIBSNDFILE_LIBS)
549 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
550 AC_SUBST(LIBSPEEX_CFLAGS)
551 AC_SUBST(LIBSPEEX_LIBS)
555 AC_MSG_CHECKING([whether we need libatomic_ops])
556 if test "x$need_libatomic_ops" = "xyes"; then
558 AC_CHECK_HEADERS([atomic_ops.h], [], [
559 AC_MSG_ERROR([*** libatomic-ops headers not found])
562 # Win32 does not need the lib and breaks horribly if we try to include it
563 if test "x$os_is_win32" != "x1" ; then
564 LIBS="$LIBS -latomic_ops"
570 #### Libsamplerate support (optional) ####
572 AC_ARG_ENABLE([samplerate],
573 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
575 case "${enableval}" in
576 yes) samplerate=yes ;;
578 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
583 if test "x${samplerate}" != xno ; then
584 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
585 HAVE_LIBSAMPLERATE=1,
588 if test "x$samplerate" = xyes ; then
589 AC_MSG_ERROR([*** Libsamplerate not found])
596 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
597 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
600 AC_SUBST(LIBSAMPLERATE_CFLAGS)
601 AC_SUBST(LIBSAMPLERATE_LIBS)
602 AC_SUBST(HAVE_LIBSAMPLERATE)
603 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
605 #### Database support ####
612 AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
614 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
615 PKG_CHECK_MODULES(TDB, [ tdb ],
620 if test "x${with_database}" = "xtdb" ; then
621 AC_MSG_ERROR([*** tdb not found])
626 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
629 AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
630 AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
632 if test "x${have_gdbm}" = "xyes" ; then
637 elif test "x${with_database}" = "xgdbm"; then
638 AC_MSG_ERROR([*** gdbm not found])
642 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
643 AC_MSG_ERROR([*** missing database backend])
646 if test "x${HAVE_TDB}" = x1 ; then
647 AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
650 if test "x${HAVE_GDBM}" = x1 ; then
651 AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
657 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
659 AC_SUBST(GDBM_CFLAGS)
662 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
664 #### OSS support (optional) ####
667 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
669 case "${enableval}" in
672 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
677 if test "x${oss}" != xno ; then
678 AC_CHECK_HEADERS([sys/soundcard.h],
681 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
685 if test "x$oss" = xyes ; then
686 AC_MSG_ERROR([*** OSS support not found])
694 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
697 #### ALSA support (optional) ####
699 AC_ARG_ENABLE([alsa],
700 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
702 case "${enableval}" in
705 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
710 if test "x${alsa}" != xno ; then
711 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
714 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
718 if test "x$alsa" = xyes ; then
719 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
726 AC_SUBST(ASOUNDLIB_CFLAGS)
727 AC_SUBST(ASOUNDLIB_LIBS)
729 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
731 #### Solaris audio support (optional) ####
733 AC_ARG_ENABLE([solaris],
734 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
736 case "${enableval}" in
739 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
744 if test "x${solaris}" != xno ; then
745 AC_CHECK_HEADERS([sys/audio.h],
748 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
752 if test "x$solaris" = xyes ; then
753 AC_MSG_ERROR([*** Solaris audio support not found])
760 AC_SUBST(HAVE_SOLARIS)
761 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
763 #### GLib 2 support (optional) ####
765 AC_ARG_ENABLE([glib2],
766 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
768 case "${enableval}" in
771 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
776 if test "x${glib2}" != xno ; then
777 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
781 if test "x$glib2" = xyes ; then
782 AC_MSG_ERROR([*** GLib 2 support not found])
789 AC_SUBST(GLIB20_CFLAGS)
790 AC_SUBST(GLIB20_LIBS)
791 AC_SUBST(HAVE_GLIB20)
792 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
794 if test "x$HAVE_GLIB20" = x1 ; then
795 AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
798 #### GTK2 support (optional) ####
800 AC_ARG_ENABLE([gtk2],
801 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
803 case "${enableval}" in
806 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
811 if test "x${gtk2}" != xno ; then
812 PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
816 if test "x$gtk2" = xyes ; then
817 AC_MSG_ERROR([*** Gtk+ 2 support not found])
824 AC_SUBST(GTK20_CFLAGS)
827 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
829 if test "x$HAVE_GTK20" = x1 ; then
830 AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
833 #### GConf support (optional) ####
835 AC_ARG_ENABLE([gconf],
836 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
838 case "${enableval}" in
841 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
846 if test "x${gconf}" != xno ; then
847 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
851 if test "x$gconf" = xyes ; then
852 AC_MSG_ERROR([*** GConf support not found])
859 AC_SUBST(GCONF_CFLAGS)
862 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
864 #### Avahi support (optional) ####
866 AC_ARG_ENABLE([avahi],
867 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
869 case "${enableval}" in
872 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
877 if test "x${avahi}" != xno ; then
878 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
882 if test "x$avahi" = xyes ; then
883 AC_MSG_ERROR([*** Avahi support not found])
890 AC_SUBST(AVAHI_CFLAGS)
893 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
897 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
898 AC_SUBST(LIBOIL_CFLAGS)
899 AC_SUBST(LIBOIL_LIBS)
901 ### JACK (optional) ####
903 AC_ARG_ENABLE([jack],
904 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
906 case "${enableval}" in
909 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
914 if test "x${jack}" != xno ; then
915 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
919 if test "x$jack" = xyes ; then
920 AC_MSG_ERROR([*** JACK support not found])
927 AC_SUBST(JACK_CFLAGS)
930 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
932 #### Async DNS support (optional) ####
934 AC_ARG_ENABLE([asyncns],
935 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
937 case "${enableval}" in
940 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
945 if test "x${asyncns}" != xno ; then
946 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
950 if test "x$asyncns" = xyes ; then
951 AC_MSG_ERROR([*** Async DNS support not found])
958 AC_SUBST(LIBASYNCNS_CFLAGS)
959 AC_SUBST(LIBASYNCNS_LIBS)
960 AC_SUBST(HAVE_LIBASYNCNS)
961 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
963 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
964 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
967 #### TCP wrappers (optional) ####
969 AC_ARG_ENABLE([tcpwrap],
970 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
972 case "${enableval}" in
975 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
980 if test "x${tcpwrap}" != xno ; then
982 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
983 AC_MSG_ERROR([*** TCP wrappers support not found])
989 AC_SUBST(LIBWRAP_LIBS)
991 #### LIRC support (optional) ####
993 AC_ARG_ENABLE([lirc],
994 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
996 case "${enableval}" in
999 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1004 if test "x${lirc}" != xno ; then
1006 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1007 AC_MSG_ERROR([*** LIRC support not found])
1013 AC_SUBST(LIRC_CFLAGS)
1015 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1017 #### HAL support (optional) ####
1019 AC_ARG_ENABLE([hal],
1020 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1022 case "${enableval}" in
1025 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1029 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1030 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1033 AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1037 if test "x$hal" = xyes ; then
1038 AC_MSG_ERROR([*** HAL support not found])
1045 AC_SUBST(HAL_CFLAGS)
1048 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1050 #### UDEV support (optional) ####
1052 AC_ARG_ENABLE([udev],
1053 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1055 case "${enableval}" in
1058 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1062 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1063 PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1066 AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1070 if test "x$udev" = xyes ; then
1071 AC_MSG_ERROR([*** UDEV support not found])
1078 AC_SUBST(UDEV_CFLAGS)
1081 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1083 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1085 #### BlueZ support (optional) ####
1087 AC_ARG_ENABLE([bluez],
1088 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1090 case "${enableval}" in
1093 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1097 if test "x${bluez}" != xno ; then
1098 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1102 if test "x$bluez" = xyes ; then
1103 AC_MSG_ERROR([*** BLUEZ support not found])
1110 AC_SUBST(BLUEZ_CFLAGS)
1111 AC_SUBST(BLUEZ_LIBS)
1112 AC_SUBST(HAVE_BLUEZ)
1113 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1115 #### D-Bus support (optional) ####
1117 AC_ARG_ENABLE([dbus],
1118 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1120 case "${enableval}" in
1123 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1128 if test "x$HAVE_HAL" = x1 ; then
1132 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1134 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1138 LIBS="$LIBS $DBUS_LIBS"
1139 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1141 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1145 if test "x$dbus" = xyes ; then
1146 AC_MSG_ERROR([*** D-Bus support not found])
1153 AC_SUBST(DBUS_CFLAGS)
1156 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1158 ### IPv6 connection support (optional) ###
1160 AC_ARG_ENABLE([ipv6],
1161 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1163 case "${enableval}" in
1166 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1171 if test "x${ipv6}" != xno ; then
1172 AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1178 #### OpenSSL support (optional) ####
1180 AC_ARG_ENABLE([openssl],
1181 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1183 case "${enableval}" in
1186 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1191 if test "x${openssl}" != xno ; then
1193 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1196 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1200 if test "x$openssl" = xyes ; then
1201 AC_MSG_ERROR([*** OpenSSL support not found])
1208 AC_SUBST(OPENSSL_CFLAGS)
1209 AC_SUBST(OPENSSL_LIBS)
1210 AC_SUBST(HAVE_OPENSSL)
1211 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1213 ### Build and Install man pages ###
1214 AC_ARG_ENABLE(manpages,
1215 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1216 [case "${enableval}" in
1217 yes) manpages=yes ;;
1219 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1220 esac],[manpages=yes])
1222 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1224 #### PulseAudio system group & user #####
1226 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1227 if test -z "$with_system_user" ; then
1228 PA_SYSTEM_USER=pulse
1230 PA_SYSTEM_USER=$with_system_user
1232 AC_SUBST(PA_SYSTEM_USER)
1233 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1235 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1236 if test -z "$with_system_group" ; then
1237 PA_SYSTEM_GROUP=pulse
1239 PA_SYSTEM_GROUP=$with_system_group
1241 AC_SUBST(PA_SYSTEM_GROUP)
1242 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1244 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)]))
1245 if test -z "$with_access_group" ; then
1246 PA_ACCESS_GROUP=pulse-access
1248 PA_ACCESS_GROUP=$with_access_group
1250 AC_SUBST(PA_ACCESS_GROUP)
1251 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1254 per_user_esound_socket,
1255 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1257 case "${enableval}" in
1258 yes) per_user_esound_socket=1 ;;
1259 no) per_user_esound_socket=0 ;;
1260 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1263 [per_user_esound_socket=1])
1265 if test "x$per_user_esound_socket" = "x1"; then
1266 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1269 #### PulseAudio system runtime dir ####
1270 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1271 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1272 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1273 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1274 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1275 AC_SUBST(PA_SYSTEM_STATE_PATH)
1277 ###################################
1279 ###################################
1281 AC_ARG_ENABLE([legacy-runtime-dir],
1282 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1283 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1284 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1289 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1290 [STATIC_BINS=1], [STATIC_BINS=0])
1291 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1295 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1296 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1297 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1298 if test "x$PREOPEN_MODS" != "xall" ; then
1300 for mod in $PREOPEN_MODS; do
1301 tmpLIBS="$tmpLIBS module-$mod.la"
1303 PREOPEN_MODS="$tmpLIBS"
1304 AC_SUBST(PREOPEN_MODS)
1309 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules]),
1310 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules"])
1312 AC_SUBST(modlibexecdir)
1316 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1317 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1318 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1327 libpulse-mainloop-glib.pc
1329 doxygen/doxygen.conf
1336 # ==========================================================================
1338 if test "x$HAVE_X11" = "x1" ; then
1343 if test "x$HAVE_OSS" = "x1" ; then
1348 if test "x$HAVE_ALSA" = "x1" ; then
1353 if test "x$HAVE_SOLARIS" = "x1" ; then
1358 if test "x$HAVE_GTK20" = "x1" ; then
1363 if test "x$HAVE_GLIB20" = "x1" ; then
1368 if test "x$HAVE_GCONF" = "x1" ; then
1373 if test "x$HAVE_AVAHI" = "x1" ; then
1378 if test "x$HAVE_JACK" = "x1" ; then
1382 ENABLE_LIBASYNCNS=no
1383 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1384 ENABLE_LIBASYNCNS=yes
1388 if test "x$HAVE_LIRC" = "x1" ; then
1393 if test "x$HAVE_HAL" = "x1" ; then
1398 if test "x$HAVE_UDEV" = "x1" ; then
1403 if test "x${LIBWRAP_LIBS}" != x ; then
1407 ENABLE_LIBSAMPLERATE=no
1408 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1409 ENABLE_LIBSAMPLERATE=yes
1413 if test "x${HAVE_BLUEZ}" = "x1" ; then
1418 if test "x${HAVE_GDBM}" = "x1" ; then
1423 if test "x${HAVE_TDB}" = "x1" ; then
1428 if test "x${HAVE_OPENSSL}" = "x1" ; then
1433 if test "x${HAVE_IPV6}" = "x1" ; then
1437 ENABLE_PER_USER_ESOUND_SOCKET=no
1438 if test "x$per_user_esound_socket" = "x1" ; then
1439 ENABLE_PER_USER_ESOUND_SOCKET=yes
1443 ---{ $PACKAGE_NAME $VERSION }---
1446 sysconfdir: ${sysconfdir}
1447 localstatedir: ${localstatedir}
1448 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1449 System State Path: ${PA_SYSTEM_STATE_PATH}
1450 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1454 Have X11: ${ENABLE_X11}
1455 Enable OSS: ${ENABLE_OSS}
1456 Enable Alsa: ${ENABLE_ALSA}
1457 Enable Solaris: ${ENABLE_SOLARIS}
1458 Enable GLib 2.0: ${ENABLE_GLIB20}
1459 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1460 Enable GConf: ${ENABLE_GCONF}
1461 Enable Avahi: ${ENABLE_AVAHI}
1462 Enable Jack: ${ENABLE_JACK}
1463 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1464 Enable LIRC: ${ENABLE_LIRC}
1465 Enable HAL: ${ENABLE_HAL}
1466 Enable udev: ${ENABLE_UDEV}
1467 Enable BlueZ: ${ENABLE_BLUEZ}
1468 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1469 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1470 Enable IPv6: ${ENABLE_IPV6}
1471 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1472 Enable tdb: ${ENABLE_TDB}
1473 Enable gdbm: ${ENABLE_GDBM}
1475 System User: ${PA_SYSTEM_USER}
1476 System Group: ${PA_SYSTEM_GROUP}
1477 Access Group: ${PA_ACCESS_GROUP}
1478 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1479 Force preopen: ${FORCE_PREOPEN}
1480 Preopened modules: ${PREOPEN_MODS}