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, [9:0:9])
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)
78 AC_DEFINE([_POSIX_C_SOURCE], [200112L], [Needed to get clock_gettime on Mac OS X])
79 AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
83 AM_SILENT_RULES([yes])
85 #### Checks for programs. ####
96 AC_PROG_GCC_TRADITIONAL
97 AC_USE_SYSTEM_EXTENSIONS
101 AC_CHECK_PROGS([M4], gm4 m4, no)
102 if test "x$M4" = xno ; then
103 AC_MSG_ERROR([m4 missing])
107 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])
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 Use immediate (now) bindings; avoids the funky re-call in itself
121 dnl the -z now syntax is lifted from Sun's linker and works with GNU's too
122 dnl other linkes might be added later
123 CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"])
124 AC_SUBST([IMMEDIATE_LDFLAGS])
126 dnl On ELF systems we don't want the libraries to be unloaded since we
127 dnl don't clean them up properly, so we request the nodelete flag to be
130 dnl On other systems, we don't really know how to do that, but it's
131 dnl welcome if somebody can tell.
132 CC_CHECK_LDFLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS="-Wl,-z,nodelete"])
133 AC_SUBST([NODELETE_LDFLAGS])
135 dnl Check for the proper way to build libraries that have no undefined
136 dnl symbols; on some hosts this needs to be avoided but the macro
137 dnl takes care of it.
140 dnl Check whether to build tests by default (as compile-test) or not
141 AC_ARG_ENABLE([default-build-tests],
142 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
144 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
146 # Native atomic operation support
147 AC_ARG_ENABLE([atomic-arm-linux-helpers],
148 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
150 case "${enableval}" in
151 yes) atomic_arm_linux_helpers=yes ;;
152 no) atomic_arm_linux_helpers=no ;;
153 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
156 [atomic_arm_linux_helpers=auto])
158 AC_ARG_ENABLE([atomic-arm-memory-barrier],
159 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
161 case "${enableval}" in
162 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
164 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
168 AC_ARG_ENABLE([netbsd-atomic-ops],
169 AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
171 case "${enableval}" in
172 yes) atomic_netbsd_helpers=yes ;;
173 no) atomic_netbsd_helpers=no ;;
174 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
177 [atomic_netbsd_helpers=auto])
179 AC_MSG_CHECKING([target operating system])
182 AC_MSG_RESULT([linux])
183 pulse_target_os=linux
186 AC_MSG_RESULT([netbsd])
187 pulse_target_os=netbsd
190 AC_MSG_RESULT([unknown])
191 pulse_target_os=unknown
195 # If everything else fails use libatomic_ops
196 need_libatomic_ops=yes
198 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
199 pulseaudio_cv_sync_bool_compare_and_swap,
201 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
202 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
203 [pulseaudio_cv_sync_bool_compare_and_swap=no])
206 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
207 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
208 need_libatomic_ops=no
210 # HW specific atomic ops stuff
211 AC_MSG_CHECKING([architecture for native atomic operations])
215 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
216 # The Linux kernel helper functions have been there since 2.6.16. However
217 # compile time checking for kernel version in cross compile environment
218 # (which is usually the case for arm cpu) is tricky (or impossible).
219 if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
221 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
222 need_libatomic_ops=no
225 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
226 pulseaudio_cv_support_arm_atomic_ops,
231 asm volatile ("ldrex %0, [%1]\n"
233 "strexeq %0, %3, [%1]\n"
235 : "r" (&a), "Ir" (o), "r" (n)
237 return (a==1 ? 0 : -1);
239 [pulseaudio_cv_support_arm_atomic_ops=yes],
240 [pulseaudio_cv_support_arm_atomic_ops=no])
242 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
243 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
244 need_libatomic_ops=no
249 if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
251 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
252 need_libatomic_ops=no
254 AC_MSG_RESULT([unknown])
262 AC_CACHE_CHECK([whether $CC knows _Bool],
265 AC_LANG_PROGRAM([], [[_Bool b;]]),
266 [pulseaudio_cv__Bool=yes],
267 [pulseaudio_cv__Bool=no])
270 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
271 AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
274 #### libtool stuff ####
276 LT_INIT([dlopen win32-dll disable-static])
278 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
279 dnl exactly which version of libltdl is present in the system, so we
280 dnl just assume that it's a working version as long as we have the
281 dnl library and the header files.
283 dnl As an extra safety device, check for lt_dladvise_init() which is
284 dnl only implemented in libtool 2.x, and refine as we go if we have
285 dnl refined requirements.
287 dnl Check the header files first since the system may have a
288 dnl libltdl.so for runtime, but no headers, and we want to bail out as
289 dnl soon as possible.
291 dnl We don't need any special variable for this though, since the user
292 dnl can give the proper place to find libltdl through the standard
293 dnl variables like LDFLAGS and CPPFLAGS.
295 AC_CHECK_HEADER([ltdl.h],
296 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
299 AS_IF([test "x$LIBLTDL" = "x"],
300 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
303 #### Determine build environment ####
309 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
314 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
316 ###################################
317 # Basic environment checks #
318 ###################################
320 #### Checks for header files. ####
326 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
327 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
328 sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
329 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
330 AC_CHECK_HEADERS([netinet/ip.h], [], [],
331 [#include <sys/types.h>
332 #if HAVE_NETINET_IN_H
333 # include <netinet/in.h>
335 #if HAVE_NETINET_IN_SYSTM_H
336 # include <netinet/in_systm.h>
339 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
340 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
342 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
343 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
346 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
348 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
350 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
353 AC_CHECK_HEADERS_ONCE([sys/filio.h])
356 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
359 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
362 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
363 AC_CHECK_HEADERS_ONCE([byteswap.h])
364 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
365 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
366 AC_CHECK_HEADERS_ONCE([execinfo.h])
368 #### Typdefs, structures, etc. ####
374 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
375 [Define ssize_t if it is not done by the standard libs.])])
379 AC_CHECK_DECLS(environ)
381 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
383 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
385 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
388 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
389 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
390 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
392 #### POSIX threads ####
396 #### Check for libs ####
399 AC_SEARCH_LIBS([pow], [m])
402 AC_SEARCH_LIBS([sched_setscheduler], [rt])
403 AC_SEARCH_LIBS([dlopen], [dl])
404 AC_SEARCH_LIBS([shm_open], [rt])
405 AC_SEARCH_LIBS([inet_ntop], [nsl])
406 AC_SEARCH_LIBS([timer_create], [rt])
409 AC_SEARCH_LIBS([connect], [socket])
410 AC_SEARCH_LIBS([backtrace], [execinfo])
414 # This magic is needed so we do not needlessly add static libs to the win32
415 # build, disabling its ability to make dlls.
416 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
418 #### Check for functions ####
421 AC_CHECK_FUNCS_ONCE([lrintf strtof])
426 AC_FUNC_SELECT_ARGTYPES
427 AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
428 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
429 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
430 sigaction sleep sysconf pthread_setaffinity_np])
431 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
433 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
436 AC_CHECK_FUNCS_ONCE([readlink])
439 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
442 AC_CHECK_FUNCS_ONCE([strerror_r])
445 AC_CHECK_FUNCS_ONCE([lstat])
449 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
453 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
454 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
455 [save_CC=$CC; CC=$PTHREAD_CC
456 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
457 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
463 [[int i = PTHREAD_PRIO_INHERIT;]]),
464 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
465 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
471 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
472 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
475 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
477 #### Large File-Support (LFS) ####
481 # Check for open64 to know if the current system does have open64() and similar functions
482 AC_CHECK_FUNCS_ONCE([open64])
488 IT_PROG_INTLTOOL([0.35.0])
489 GETTEXT_PACKAGE=pulseaudio
490 AC_SUBST([GETTEXT_PACKAGE])
491 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
494 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
495 AC_SUBST(pulselocaledir)
497 ###################################
498 # External libraries #
499 ###################################
505 #### X11 (optional) ####
508 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
510 case "${enableval}" in
513 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
518 if test "x${x11}" != xno ; then
519 PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
523 if test "x$x11" = xyes ; then
524 AC_MSG_ERROR([*** X11 not found])
531 if test "x${HAVE_X11}" = x1 ; then
532 AC_DEFINE([HAVE_X11], 1, [Have X11?])
538 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
540 #### Capabilities (optional) ####
546 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
548 if test "x${with_caps}" != "xno"; then
549 AC_SEARCH_LIBS([cap_init], [cap], [], [
550 if test "x${with_caps}" = "xyes" ; then
551 AC_MSG_ERROR([*** POSIX caps libraries not found])
553 AC_CHECK_HEADERS([sys/capability.h], [], [
554 if test "x${with_caps}" = "xyes" ; then
555 AC_MSG_ERROR([*** POSIX caps headers not found])
559 #### Valgrind (optional) ####
561 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
565 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
566 AC_SUBST(LIBSNDFILE_CFLAGS)
567 AC_SUBST(LIBSNDFILE_LIBS)
569 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
570 AC_SUBST(LIBSPEEX_CFLAGS)
571 AC_SUBST(LIBSPEEX_LIBS)
575 AC_MSG_CHECKING([whether we need libatomic_ops])
576 if test "x$need_libatomic_ops" = "xyes"; then
578 AC_CHECK_HEADERS([atomic_ops.h], [], [
579 AC_MSG_ERROR([*** libatomic-ops headers not found])
582 # Win32 does not need the lib and breaks horribly if we try to include it
583 if test "x$os_is_win32" != "x1" ; then
584 LIBS="$LIBS -latomic_ops"
590 #### Libsamplerate support (optional) ####
592 AC_ARG_ENABLE([samplerate],
593 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
595 case "${enableval}" in
596 yes) samplerate=yes ;;
598 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
603 if test "x${samplerate}" != xno ; then
604 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
605 HAVE_LIBSAMPLERATE=1,
608 if test "x$samplerate" = xyes ; then
609 AC_MSG_ERROR([*** Libsamplerate not found])
616 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
617 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
620 AC_SUBST(LIBSAMPLERATE_CFLAGS)
621 AC_SUBST(LIBSAMPLERATE_LIBS)
622 AC_SUBST(HAVE_LIBSAMPLERATE)
623 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
625 #### Database support ####
632 AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
634 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
635 PKG_CHECK_MODULES(TDB, [ tdb ],
640 if test "x${with_database}" = "xtdb" ; then
641 AC_MSG_ERROR([*** tdb not found])
646 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
649 AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
650 AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
652 if test "x${have_gdbm}" = "xyes" ; then
657 elif test "x${with_database}" = "xgdbm"; then
658 AC_MSG_ERROR([*** gdbm not found])
662 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
663 AC_MSG_ERROR([*** missing database backend])
666 if test "x${HAVE_TDB}" = x1 ; then
667 AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
670 if test "x${HAVE_GDBM}" = x1 ; then
671 AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
677 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
679 AC_SUBST(GDBM_CFLAGS)
682 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
684 #### OSS support (optional) ####
687 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
689 case "${enableval}" in
692 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
697 if test "x${oss}" != xno ; then
698 AC_CHECK_HEADERS([sys/soundcard.h],
701 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
705 if test "x$oss" = xyes ; then
706 AC_MSG_ERROR([*** OSS support not found])
714 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
717 #### ALSA support (optional) ####
719 AC_ARG_ENABLE([alsa],
720 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
722 case "${enableval}" in
725 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
730 if test "x${alsa}" != xno ; then
731 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
734 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
738 if test "x$alsa" = xyes ; then
739 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
746 AC_SUBST(ASOUNDLIB_CFLAGS)
747 AC_SUBST(ASOUNDLIB_LIBS)
749 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
751 #### Solaris audio support (optional) ####
753 AC_ARG_ENABLE([solaris],
754 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
756 case "${enableval}" in
759 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
764 if test "x${solaris}" != xno ; then
765 AC_CHECK_HEADERS([sys/audio.h],
768 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
772 if test "x$solaris" = xyes ; then
773 AC_MSG_ERROR([*** Solaris audio support not found])
780 AC_SUBST(HAVE_SOLARIS)
781 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
783 #### GLib 2 support (optional) ####
785 AC_ARG_ENABLE([glib2],
786 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
788 case "${enableval}" in
791 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
796 if test "x${glib2}" != xno ; then
797 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
801 if test "x$glib2" = xyes ; then
802 AC_MSG_ERROR([*** GLib 2 support not found])
809 AC_SUBST(GLIB20_CFLAGS)
810 AC_SUBST(GLIB20_LIBS)
811 AC_SUBST(HAVE_GLIB20)
812 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
814 if test "x$HAVE_GLIB20" = x1 ; then
815 AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
818 #### GTK2 support (optional) ####
820 AC_ARG_ENABLE([gtk2],
821 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
823 case "${enableval}" in
826 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
831 if test "x${gtk2}" != xno ; then
832 PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
836 if test "x$gtk2" = xyes ; then
837 AC_MSG_ERROR([*** Gtk+ 2 support not found])
844 AC_SUBST(GTK20_CFLAGS)
847 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
849 if test "x$HAVE_GTK20" = x1 ; then
850 AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
853 #### GConf support (optional) ####
855 AC_ARG_ENABLE([gconf],
856 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
858 case "${enableval}" in
861 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
866 if test "x${gconf}" != xno ; then
867 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
871 if test "x$gconf" = xyes ; then
872 AC_MSG_ERROR([*** GConf support not found])
879 AC_SUBST(GCONF_CFLAGS)
882 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
884 #### Avahi support (optional) ####
886 AC_ARG_ENABLE([avahi],
887 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
889 case "${enableval}" in
892 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
897 if test "x${avahi}" != xno ; then
898 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
902 if test "x$avahi" = xyes ; then
903 AC_MSG_ERROR([*** Avahi support not found])
910 AC_SUBST(AVAHI_CFLAGS)
913 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
917 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
918 AC_SUBST(LIBOIL_CFLAGS)
919 AC_SUBST(LIBOIL_LIBS)
921 ### JACK (optional) ####
923 AC_ARG_ENABLE([jack],
924 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
926 case "${enableval}" in
929 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
934 if test "x${jack}" != xno ; then
935 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
939 if test "x$jack" = xyes ; then
940 AC_MSG_ERROR([*** JACK support not found])
947 AC_SUBST(JACK_CFLAGS)
950 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
952 #### Async DNS support (optional) ####
954 AC_ARG_ENABLE([asyncns],
955 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
957 case "${enableval}" in
960 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
965 if test "x${asyncns}" != xno ; then
966 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
970 if test "x$asyncns" = xyes ; then
971 AC_MSG_ERROR([*** Async DNS support not found])
978 AC_SUBST(LIBASYNCNS_CFLAGS)
979 AC_SUBST(LIBASYNCNS_LIBS)
980 AC_SUBST(HAVE_LIBASYNCNS)
981 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
983 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
984 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
987 #### TCP wrappers (optional) ####
989 AC_ARG_ENABLE([tcpwrap],
990 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
992 case "${enableval}" in
995 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
1000 if test "x${tcpwrap}" != xno ; then
1002 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
1003 AC_MSG_ERROR([*** TCP wrappers support not found])
1009 AC_SUBST(LIBWRAP_LIBS)
1011 #### LIRC support (optional) ####
1013 AC_ARG_ENABLE([lirc],
1014 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1016 case "${enableval}" in
1019 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1024 if test "x${lirc}" != xno ; then
1026 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1027 AC_MSG_ERROR([*** LIRC support not found])
1033 AC_SUBST(LIRC_CFLAGS)
1035 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1037 #### HAL support (optional) ####
1039 AC_ARG_ENABLE([hal],
1040 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1042 case "${enableval}" in
1045 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1049 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1050 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1053 AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1057 if test "x$hal" = xyes ; then
1058 AC_MSG_ERROR([*** HAL support not found])
1065 AC_SUBST(HAL_CFLAGS)
1068 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1070 #### UDEV support (optional) ####
1072 AC_ARG_ENABLE([udev],
1073 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1075 case "${enableval}" in
1078 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1082 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1083 PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1086 AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1090 if test "x$udev" = xyes ; then
1091 AC_MSG_ERROR([*** UDEV support not found])
1098 AC_SUBST(UDEV_CFLAGS)
1101 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1103 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1105 #### BlueZ support (optional) ####
1107 AC_ARG_ENABLE([bluez],
1108 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1110 case "${enableval}" in
1113 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1117 if test "x${bluez}" != xno ; then
1118 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1122 if test "x$bluez" = xyes ; then
1123 AC_MSG_ERROR([*** BLUEZ support not found])
1130 AC_SUBST(BLUEZ_CFLAGS)
1131 AC_SUBST(BLUEZ_LIBS)
1132 AC_SUBST(HAVE_BLUEZ)
1133 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1135 #### D-Bus support (optional) ####
1137 AC_ARG_ENABLE([dbus],
1138 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1140 case "${enableval}" in
1143 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1148 if test "x$HAVE_HAL" = x1 ; then
1152 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1154 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1158 LIBS="$LIBS $DBUS_LIBS"
1159 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1161 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1165 if test "x$dbus" = xyes ; then
1166 AC_MSG_ERROR([*** D-Bus support not found])
1173 AC_SUBST(DBUS_CFLAGS)
1176 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1178 ### IPv6 connection support (optional) ###
1180 AC_ARG_ENABLE([ipv6],
1181 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1183 case "${enableval}" in
1186 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1191 if test "x${ipv6}" != xno ; then
1192 AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1198 #### OpenSSL support (optional) ####
1200 AC_ARG_ENABLE([openssl],
1201 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1203 case "${enableval}" in
1206 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1211 if test "x${openssl}" != xno ; then
1213 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1216 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1220 if test "x$openssl" = xyes ; then
1221 AC_MSG_ERROR([*** OpenSSL support not found])
1228 AC_SUBST(OPENSSL_CFLAGS)
1229 AC_SUBST(OPENSSL_LIBS)
1230 AC_SUBST(HAVE_OPENSSL)
1231 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1233 ### Build and Install man pages ###
1234 AC_ARG_ENABLE(manpages,
1235 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1236 [case "${enableval}" in
1237 yes) manpages=yes ;;
1239 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1240 esac],[manpages=yes])
1242 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1244 #### PulseAudio system group & user #####
1246 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1247 if test -z "$with_system_user" ; then
1248 PA_SYSTEM_USER=pulse
1250 PA_SYSTEM_USER=$with_system_user
1252 AC_SUBST(PA_SYSTEM_USER)
1253 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1255 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1256 if test -z "$with_system_group" ; then
1257 PA_SYSTEM_GROUP=pulse
1259 PA_SYSTEM_GROUP=$with_system_group
1261 AC_SUBST(PA_SYSTEM_GROUP)
1262 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1264 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)]))
1265 if test -z "$with_access_group" ; then
1266 PA_ACCESS_GROUP=pulse-access
1268 PA_ACCESS_GROUP=$with_access_group
1270 AC_SUBST(PA_ACCESS_GROUP)
1271 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1274 per_user_esound_socket,
1275 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1277 case "${enableval}" in
1278 yes) per_user_esound_socket=1 ;;
1279 no) per_user_esound_socket=0 ;;
1280 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1283 [per_user_esound_socket=1])
1285 if test "x$per_user_esound_socket" = "x1"; then
1286 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1289 #### PulseAudio system runtime dir ####
1290 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1291 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1292 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1293 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1294 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1295 AC_SUBST(PA_SYSTEM_STATE_PATH)
1297 ###################################
1299 ###################################
1301 AC_ARG_ENABLE([legacy-runtime-dir],
1302 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1303 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1304 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1309 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1310 [STATIC_BINS=1], [STATIC_BINS=0])
1311 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1315 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1316 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1317 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1318 if test "x$PREOPEN_MODS" != "xall" ; then
1320 for mod in $PREOPEN_MODS; do
1321 tmpLIBS="$tmpLIBS module-$mod.la"
1323 PREOPEN_MODS="$tmpLIBS"
1324 AC_SUBST(PREOPEN_MODS)
1329 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules]),
1330 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules"])
1332 AC_SUBST(modlibexecdir)
1336 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1337 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1338 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1347 libpulse-mainloop-glib.pc
1349 doxygen/doxygen.conf
1356 # ==========================================================================
1358 if test "x$HAVE_X11" = "x1" ; then
1363 if test "x$HAVE_OSS" = "x1" ; then
1368 if test "x$HAVE_ALSA" = "x1" ; then
1373 if test "x$HAVE_SOLARIS" = "x1" ; then
1378 if test "x$HAVE_GTK20" = "x1" ; then
1383 if test "x$HAVE_GLIB20" = "x1" ; then
1388 if test "x$HAVE_GCONF" = "x1" ; then
1393 if test "x$HAVE_AVAHI" = "x1" ; then
1398 if test "x$HAVE_JACK" = "x1" ; then
1402 ENABLE_LIBASYNCNS=no
1403 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1404 ENABLE_LIBASYNCNS=yes
1408 if test "x$HAVE_LIRC" = "x1" ; then
1413 if test "x$HAVE_HAL" = "x1" ; then
1418 if test "x$HAVE_UDEV" = "x1" ; then
1423 if test "x${LIBWRAP_LIBS}" != x ; then
1427 ENABLE_LIBSAMPLERATE=no
1428 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1429 ENABLE_LIBSAMPLERATE=yes
1433 if test "x${HAVE_BLUEZ}" = "x1" ; then
1438 if test "x${HAVE_GDBM}" = "x1" ; then
1443 if test "x${HAVE_TDB}" = "x1" ; then
1448 if test "x${HAVE_OPENSSL}" = "x1" ; then
1453 if test "x${HAVE_IPV6}" = "x1" ; then
1457 ENABLE_PER_USER_ESOUND_SOCKET=no
1458 if test "x$per_user_esound_socket" = "x1" ; then
1459 ENABLE_PER_USER_ESOUND_SOCKET=yes
1463 ---{ $PACKAGE_NAME $VERSION }---
1466 sysconfdir: ${sysconfdir}
1467 localstatedir: ${localstatedir}
1468 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1469 System State Path: ${PA_SYSTEM_STATE_PATH}
1470 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1474 Have X11: ${ENABLE_X11}
1475 Enable OSS: ${ENABLE_OSS}
1476 Enable Alsa: ${ENABLE_ALSA}
1477 Enable Solaris: ${ENABLE_SOLARIS}
1478 Enable GLib 2.0: ${ENABLE_GLIB20}
1479 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1480 Enable GConf: ${ENABLE_GCONF}
1481 Enable Avahi: ${ENABLE_AVAHI}
1482 Enable Jack: ${ENABLE_JACK}
1483 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1484 Enable LIRC: ${ENABLE_LIRC}
1485 Enable HAL: ${ENABLE_HAL}
1486 Enable udev: ${ENABLE_UDEV}
1487 Enable BlueZ: ${ENABLE_BLUEZ}
1488 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1489 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1490 Enable IPv6: ${ENABLE_IPV6}
1491 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1492 Enable tdb: ${ENABLE_TDB}
1493 Enable gdbm: ${ENABLE_GDBM}
1495 System User: ${PA_SYSTEM_USER}
1496 System Group: ${PA_SYSTEM_GROUP}
1497 Access Group: ${PA_ACCESS_GROUP}
1498 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1499 Force preopen: ${FORCE_PREOPEN}
1500 Preopened modules: ${PREOPEN_MODS}