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 m4_define(pa_major, [0])
26 m4_define(pa_minor, [9])
27 m4_define(pa_micro, [15])
29 AC_INIT([pulseaudio],[pa_major.pa_minor.pa_micro-test5],[mzchyfrnhqvb (at) 0pointer (dot) net])
30 AC_CONFIG_SRCDIR([src/daemon/main.c])
31 AC_CONFIG_MACRO_DIR([m4])
32 AC_CONFIG_HEADERS([config.h])
33 AM_INIT_AUTOMAKE([foreign 1.10 -Wall -Wno-portability])
35 AC_SUBST(PA_MAJOR, pa_major)
36 AC_SUBST(PA_MINOR, pa_minor)
37 AC_SUBST(PA_MICRO, pa_micro)
38 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
39 AC_SUBST(PA_MAJORMINORMICRO, pa_major.pa_minor.pa_micro)
40 AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
42 AC_SUBST(PA_API_VERSION, 12)
43 AC_SUBST(PA_PROTOCOL_VERSION, 15)
45 # The stable ABI for client applications, for the version info x:y:z
46 # always will hold y=z
47 AC_SUBST(LIBPULSE_VERSION_INFO, [8:0:8])
49 # A simplified, synchronous, ABI-stable interface for client
50 # applications, for the version info x:y:z always will hold y=z
51 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:2:0])
53 # The ABI-stable network browsing interface for client applications,
54 # for the version info x:y:z always will hold y=z
55 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
57 # The ABI-stable GLib adapter for client applications, for the version
58 # info x:y:z always will hold y=z
59 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
62 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
64 if type -p stow > /dev/null && test -d /usr/local/stow ; then
65 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
66 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
69 #### Platform hacks ####
73 AC_DEFINE(_XOPEN_SOURCE, 600, Needed to get declarations for msg_control and msg_controllen on Solaris)
74 AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
78 #### Checks for programs. ####
89 AC_PROG_GCC_TRADITIONAL
90 AC_USE_SYSTEM_EXTENSIONS
94 AC_CHECK_PROGS([M4], gm4 m4, no)
95 if test "x$M4" = xno ; then
96 AC_MSG_ERROR([m4 missing])
100 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"
102 for flag in $DESIRED_FLAGS ; do
103 CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
107 dnl Check whether the linker supports the -version-script option.
109 dnl This variable is used to make sure ${srcdir} is expanded and not
110 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
111 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
113 CC_CHECK_LDFLAGS([${tmp_ldflag}],
114 [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
115 AC_SUBST([VERSIONING_LDFLAGS])
117 dnl Check whether to build tests by default (as compile-test) or not
118 AC_ARG_ENABLE([default-build-tests],
119 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
121 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
123 # Native atomic operation support
124 AC_ARG_ENABLE([atomic-arm-linux-helpers],
125 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
127 case "${enableval}" in
128 yes) atomic_arm_linux_helpers=yes ;;
129 no) atomic_arm_linux_helpers=no ;;
130 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
133 [atomic_arm_linux_helpers=auto])
135 AC_ARG_ENABLE([atomic-arm-memory-barrier],
136 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
138 case "${enableval}" in
139 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
141 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
145 AC_ARG_ENABLE([netbsd-atomic-ops],
146 AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
148 case "${enableval}" in
149 yes) atomic_netbsd_helpers=yes ;;
150 no) atomic_netbsd_helpers=no ;;
151 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
154 [atomic_netbsd_helpers=auto])
156 AC_MSG_CHECKING([target operating system])
159 AC_MSG_RESULT([linux])
160 pulse_target_os=linux
163 AC_MSG_RESULT([netbsd])
164 pulse_target_os=netbsd
167 AC_MSG_RESULT([unknown])
168 pulse_target_os=unknown
172 # If everything else fails use libatomic_ops
173 need_libatomic_ops=yes
175 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
176 pulseaudio_cv_sync_bool_compare_and_swap,
178 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
179 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
180 [pulseaudio_cv_sync_bool_compare_and_swap=no])
183 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
184 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
185 need_libatomic_ops=no
187 # HW specific atomic ops stuff
188 AC_MSG_CHECKING([architecture for native atomic operations])
192 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
193 # The Linux kernel helper functions have been there since 2.6.16. However
194 # compile time checking for kernel version in cross compile environment
195 # (which is usually the case for arm cpu) is tricky (or impossible).
196 if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
198 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
199 need_libatomic_ops=no
202 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
203 pulseaudio_cv_support_arm_atomic_ops,
208 asm volatile ("ldrex %0, [%1]\n"
210 "strexeq %0, %3, [%1]\n"
212 : "r" (&a), "Ir" (o), "r" (n)
214 return (a==1 ? 0 : -1);
216 [pulseaudio_cv_support_arm_atomic_ops=yes],
217 [pulseaudio_cv_support_arm_atomic_ops=no])
219 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
220 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
221 need_libatomic_ops=no
226 if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
228 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
229 need_libatomic_ops=no
231 AC_MSG_RESULT([unknown])
239 AC_CACHE_CHECK([whether $CC knows _Bool],
242 AC_LANG_PROGRAM([], [[_Bool b;]]),
243 [pulseaudio_cv__Bool=yes],
244 [pulseaudio_cv__Bool=no])
247 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
248 AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
251 #### libtool stuff ####
253 LT_INIT([dlopen win32-dll disable-static])
255 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
256 dnl exactly which version of libltdl is present in the system, so we
257 dnl just assume that it's a working version as long as we have the
258 dnl library and the header files.
260 dnl As an extra safety device, check for lt_dladvise_init() which is
261 dnl only implemented in libtool 2.x, and refine as we go if we have
262 dnl refined requirements.
264 dnl Check the header files first since the system may have a
265 dnl libltdl.so for runtime, but no headers, and we want to bail out as
266 dnl soon as possible.
268 dnl We don't need any special variable for this though, since the user
269 dnl can give the proper place to find libltdl through the standard
270 dnl variables like LDFLAGS and CPPFLAGS.
272 AC_CHECK_HEADER([ltdl.h],
273 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
276 AS_IF([test "x$LIBLTDL" = "x"],
277 [AC_MSG_ERROR([Unable to find libltdl.])])
280 #### Determine build environment ####
286 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
291 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
293 ###################################
294 # Basic environment checks #
295 ###################################
297 #### Checks for header files. ####
303 AC_CHECK_HEADERS([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
304 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
305 sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
306 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
307 AC_CHECK_HEADERS([netinet/ip.h], [], [],
308 [#include <sys/types.h>
309 #if HAVE_NETINET_IN_H
310 # include <netinet/in.h>
312 #if HAVE_NETINET_IN_SYSTM_H
313 # include <netinet/in_systm.h>
316 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
317 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
319 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
320 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
323 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
325 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
327 AC_CHECK_HEADERS([sys/prctl.h])
330 AC_CHECK_HEADERS([sys/filio.h])
333 AC_CHECK_HEADERS([windows.h winsock2.h ws2tcpip.h])
336 AC_CHECK_HEADERS([sys/atomic.h])
339 AC_CHECK_HEADERS([sys/ioctl.h])
340 AC_CHECK_HEADERS([byteswap.h])
341 AC_CHECK_HEADERS([sys/syscall.h])
342 AC_CHECK_HEADERS([sys/eventfd.h])
343 AC_CHECK_HEADERS([execinfo.h])
345 #### Typdefs, structures, etc. ####
351 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
352 [Define ssize_t if it is not done by the standard libs.])])
356 AC_CHECK_DECLS(environ)
358 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
360 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
362 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
365 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
366 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
367 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
369 #### POSIX threads ####
373 #### Check for libs ####
376 AC_SEARCH_LIBS([pow], [m])
379 AC_SEARCH_LIBS([sched_setscheduler], [rt])
380 AC_SEARCH_LIBS([dlopen], [dl])
381 AC_SEARCH_LIBS([shm_open], [rt])
382 AC_SEARCH_LIBS([inet_ntop], [nsl])
383 AC_SEARCH_LIBS([timer_create], [rt])
386 AC_SEARCH_LIBS([connect], [socket])
390 # This magic is needed so we do not needlessly add static libs to the win32
391 # build, disabling its ability to make dlls.
392 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
394 AC_CHECK_LIB(gdbm, gdbm_open)
395 AC_CHECK_HEADERS(gdbm.h, [], [AC_MSG_ERROR([gdbm.h not found])])
397 #### Check for functions ####
400 AC_CHECK_FUNCS([lrintf strtof])
405 AC_FUNC_SELECT_ARGTYPES
406 AC_CHECK_FUNCS([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
407 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
408 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
409 sigaction sleep sysconf pthread_setaffinity_np])
410 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
412 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
415 AC_CHECK_FUNCS([readlink])
418 AC_CHECK_FUNCS([ctime_r usleep])
421 AC_CHECK_FUNCS([strerror_r])
424 AC_CHECK_FUNCS([lstat])
428 AC_CHECK_FUNCS([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
432 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
433 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
434 [save_CC=$CC; CC=$PTHREAD_CC
435 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
436 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
442 [[int i = PTHREAD_PRIO_INHERIT;]]),
443 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
444 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
450 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
451 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
454 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
456 #### Large File-Support (LFS) ####
460 # Check for open64 to know if the current system does have open64() and similar functions
461 AC_CHECK_FUNCS([open64])
467 IT_PROG_INTLTOOL([0.35.0])
468 GETTEXT_PACKAGE=pulseaudio
469 AC_SUBST([GETTEXT_PACKAGE])
470 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
473 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
474 AC_SUBST(pulselocaledir)
476 ###################################
477 # External libraries #
478 ###################################
484 #### X11 (optional) ####
487 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
489 case "${enableval}" in
492 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
497 if test "x${x11}" != xno ; then
498 PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
502 if test "x$x11" = xyes ; then
503 AC_MSG_ERROR([*** X11 not found])
510 if test "x${HAVE_X11}" = x1 ; then
511 AC_DEFINE([HAVE_X11], 1, [Have X11?])
517 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
519 #### Capabilities (optional) ####
525 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
527 if test "x${with_caps}" != "xno"; then
528 AC_SEARCH_LIBS([cap_init], [cap], [], [
529 if test "x${with_caps}" = "xyes" ; then
530 AC_MSG_ERROR([*** POSIX caps libraries not found])
532 AC_CHECK_HEADERS([sys/capability.h], [], [
533 if test "x${with_caps}" = "xyes" ; then
534 AC_MSG_ERROR([*** POSIX caps headers not found])
538 #### Valgrind (optional) ####
540 AC_CHECK_HEADERS([valgrind/memcheck.h])
544 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.10 ])
545 AC_SUBST(LIBSNDFILE_CFLAGS)
546 AC_SUBST(LIBSNDFILE_LIBS)
548 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
549 AC_SUBST(LIBSPEEX_CFLAGS)
550 AC_SUBST(LIBSPEEX_LIBS)
554 AC_MSG_CHECKING([whether we need libatomic_ops])
555 if test "x$need_libatomic_ops" = "xyes"; then
557 AC_CHECK_HEADERS([atomic_ops.h], [], [
558 AC_MSG_ERROR([*** libatomic-ops headers not found])
561 # Win32 does not need the lib and breaks horribly if we try to include it
562 if test "x$os_is_win32" != "x1" ; then
563 LIBS="$LIBS -latomic_ops"
569 #### Libsamplerate support (optional) ####
571 AC_ARG_ENABLE([samplerate],
572 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
574 case "${enableval}" in
575 yes) samplerate=yes ;;
577 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
582 if test "x${samplerate}" != xno ; then
583 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
584 HAVE_LIBSAMPLERATE=1,
587 if test "x$samplerate" = xyes ; then
588 AC_MSG_ERROR([*** Libsamplerate not found])
595 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
596 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
599 AC_SUBST(LIBSAMPLERATE_CFLAGS)
600 AC_SUBST(LIBSAMPLERATE_LIBS)
601 AC_SUBST(HAVE_LIBSAMPLERATE)
602 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
604 #### OSS support (optional) ####
607 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
609 case "${enableval}" in
612 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
617 if test "x${oss}" != xno ; then
618 AC_CHECK_HEADERS([sys/soundcard.h],
621 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
625 if test "x$oss" = xyes ; then
626 AC_MSG_ERROR([*** OSS support not found])
634 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
637 #### ALSA support (optional) ####
639 AC_ARG_ENABLE([alsa],
640 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
642 case "${enableval}" in
645 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
650 if test "x${alsa}" != xno ; then
651 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
654 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
658 if test "x$alsa" = xyes ; then
659 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
666 AC_SUBST(ASOUNDLIB_CFLAGS)
667 AC_SUBST(ASOUNDLIB_LIBS)
669 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
671 #### Solaris audio support (optional) ####
673 AC_ARG_ENABLE([solaris],
674 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
676 case "${enableval}" in
679 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
684 if test "x${solaris}" != xno ; then
685 AC_CHECK_HEADERS([sys/audio.h],
688 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
692 if test "x$solaris" = xyes ; then
693 AC_MSG_ERROR([*** Solaris audio support not found])
700 AC_SUBST(HAVE_SOLARIS)
701 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
703 #### GLib 2 support (optional) ####
705 AC_ARG_ENABLE([glib2],
706 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
708 case "${enableval}" in
711 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
716 if test "x${glib2}" != xno ; then
717 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
721 if test "x$glib2" = xyes ; then
722 AC_MSG_ERROR([*** GLib 2 support not found])
729 AC_SUBST(GLIB20_CFLAGS)
730 AC_SUBST(GLIB20_LIBS)
731 AC_SUBST(HAVE_GLIB20)
732 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
734 if test "x$HAVE_GLIB20" = x1 ; then
735 AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
738 #### GTK2 support (optional) ####
740 AC_ARG_ENABLE([gtk2],
741 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
743 case "${enableval}" in
746 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
751 if test "x${gtk2}" != xno ; then
752 PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
756 if test "x$gtk2" = xyes ; then
757 AC_MSG_ERROR([*** Gtk+ 2 support not found])
764 AC_SUBST(GTK20_CFLAGS)
767 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
769 if test "x$HAVE_GTK20" = x1 ; then
770 AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
773 #### GConf support (optional) ####
775 AC_ARG_ENABLE([gconf],
776 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
778 case "${enableval}" in
781 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
786 if test "x${gconf}" != xno ; then
787 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
791 if test "x$gconf" = xyes ; then
792 AC_MSG_ERROR([*** GConf support not found])
799 AC_SUBST(GCONF_CFLAGS)
802 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
804 #### Avahi support (optional) ####
806 AC_ARG_ENABLE([avahi],
807 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
809 case "${enableval}" in
812 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
817 if test "x${avahi}" != xno ; then
818 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
822 if test "x$avahi" = xyes ; then
823 AC_MSG_ERROR([*** Avahi support not found])
830 AC_SUBST(AVAHI_CFLAGS)
833 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
837 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
838 AC_SUBST(LIBOIL_CFLAGS)
839 AC_SUBST(LIBOIL_LIBS)
841 ### JACK (optional) ####
843 AC_ARG_ENABLE([jack],
844 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
846 case "${enableval}" in
849 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
854 if test "x${jack}" != xno ; then
855 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
859 if test "x$jack" = xyes ; then
860 AC_MSG_ERROR([*** JACK support not found])
867 AC_SUBST(JACK_CFLAGS)
870 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
872 #### Async DNS support (optional) ####
874 AC_ARG_ENABLE([asyncns],
875 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
877 case "${enableval}" in
880 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
885 if test "x${asyncns}" != xno ; then
886 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
890 if test "x$asyncns" = xyes ; then
891 AC_MSG_ERROR([*** Async DNS support not found])
898 AC_SUBST(LIBASYNCNS_CFLAGS)
899 AC_SUBST(LIBASYNCNS_LIBS)
900 AC_SUBST(HAVE_LIBASYNCNS)
901 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
903 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
904 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
907 #### TCP wrappers (optional) ####
909 AC_ARG_ENABLE([tcpwrap],
910 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
912 case "${enableval}" in
915 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
920 if test "x${tcpwrap}" != xno ; then
922 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
923 AC_MSG_ERROR([*** TCP wrappers support not found])
929 AC_SUBST(LIBWRAP_LIBS)
931 #### LIRC support (optional) ####
933 AC_ARG_ENABLE([lirc],
934 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
936 case "${enableval}" in
939 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
944 if test "x${lirc}" != xno ; then
946 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
947 AC_MSG_ERROR([*** LIRC support not found])
953 AC_SUBST(LIRC_CFLAGS)
955 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
957 #### HAL support (optional) ####
960 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
962 case "${enableval}" in
965 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
969 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
970 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
973 AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
977 if test "x$hal" = xyes ; then
978 AC_MSG_ERROR([*** HAL support not found])
988 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
990 #### UDEV support (optional) ####
992 AC_ARG_ENABLE([udev],
993 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
995 case "${enableval}" in
998 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1002 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1003 PKG_CHECK_MODULES(UDEV, [ libudev >= 137 ],
1006 AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1010 if test "x$udev" = xyes ; then
1011 AC_MSG_ERROR([*** UDEV support not found])
1018 AC_SUBST(UDEV_CFLAGS)
1021 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1023 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1025 #### BlueZ support (optional) ####
1027 AC_ARG_ENABLE([bluez],
1028 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1030 case "${enableval}" in
1033 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1037 if test "x${bluez}" != xno ; then
1038 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1042 if test "x$bluez" = xyes ; then
1043 AC_MSG_ERROR([*** BLUEZ support not found])
1050 AC_SUBST(BLUEZ_CFLAGS)
1051 AC_SUBST(BLUEZ_LIBS)
1052 AC_SUBST(HAVE_BLUEZ)
1053 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1055 #### D-Bus support (optional) ####
1057 AC_ARG_ENABLE([dbus],
1058 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1060 case "${enableval}" in
1063 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1068 if test "x$HAVE_HAL" = x1 ; then
1072 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1074 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1078 LIBS="$LIBS $DBUS_LIBS"
1079 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1081 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1085 if test "x$dbus" = xyes ; then
1086 AC_MSG_ERROR([*** D-Bus support not found])
1093 AC_SUBST(DBUS_CFLAGS)
1096 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1098 #### PolicyKit support (optional) ####
1100 AC_ARG_ENABLE([polkit],
1101 AS_HELP_STRING([--disable-polkit],[Disable optional PolicyKit support]),
1103 case "${enableval}" in
1106 *) AC_MSG_ERROR(bad value ${enableval} for --disable-polkit) ;;
1111 if test "x${polkit}" != xno ; then
1113 PKG_CHECK_MODULES(POLKIT, [ polkit-dbus >= 0.7 ],
1116 AC_DEFINE([HAVE_POLKIT], 1, [Have PolicyKit])
1117 policydir=`pkg-config polkit-dbus --variable prefix`/share/PolicyKit/policy/
1122 if test "x$polkit" = xyes ; then
1123 AC_MSG_ERROR([*** PolicyKit support not found])
1130 AC_SUBST(POLKIT_CFLAGS)
1131 AC_SUBST(POLKIT_LIBS)
1132 AC_SUBST(HAVE_POLKIT)
1133 AM_CONDITIONAL([HAVE_POLKIT], [test "x$HAVE_POLKIT" = x1])
1136 ### IPv6 connection support (optional) ###
1138 AC_ARG_ENABLE([ipv6],
1139 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1141 case "${enableval}" in
1144 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1149 if test "x${ipv6}" != xno ; then
1150 AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1156 #### OpenSSL support (optional) ####
1158 AC_ARG_ENABLE([openssl],
1159 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1161 case "${enableval}" in
1164 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1169 if test "x${openssl}" != xno ; then
1171 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1174 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1178 if test "x$openssl" = xyes ; then
1179 AC_MSG_ERROR([*** OpenSSL support not found])
1186 AC_SUBST(OPENSSL_CFLAGS)
1187 AC_SUBST(OPENSSL_LIBS)
1188 AC_SUBST(HAVE_OPENSSL)
1189 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1191 ### Build and Install man pages ###
1192 AC_ARG_ENABLE(manpages,
1193 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1194 [case "${enableval}" in
1195 yes) manpages=yes ;;
1197 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1198 esac],[manpages=yes])
1200 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1202 #### PulseAudio system group & user #####
1204 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1205 if test -z "$with_system_user" ; then
1206 PA_SYSTEM_USER=pulse
1208 PA_SYSTEM_USER=$with_system_user
1210 AC_SUBST(PA_SYSTEM_USER)
1211 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1213 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1214 if test -z "$with_system_group" ; then
1215 PA_SYSTEM_GROUP=pulse
1217 PA_SYSTEM_GROUP=$with_system_group
1219 AC_SUBST(PA_SYSTEM_GROUP)
1220 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1222 AC_ARG_WITH(realtime_group,AS_HELP_STRING([--with-realtime-group=<group>],[Group for users that are allowed to start the PulseAudio daemon with realtime scheduling (realtime)]))
1223 if test -z "$with_realtime_group" ; then
1224 PA_REALTIME_GROUP=pulse-rt
1226 PA_REALTIME_GROUP=$with_realtime_group
1228 AC_SUBST(PA_REALTIME_GROUP)
1229 AC_DEFINE_UNQUOTED(PA_REALTIME_GROUP,"$PA_REALTIME_GROUP", [Realtime group])
1231 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)]))
1232 if test -z "$with_access_group" ; then
1233 PA_ACCESS_GROUP=pulse-access
1235 PA_ACCESS_GROUP=$with_access_group
1237 AC_SUBST(PA_ACCESS_GROUP)
1238 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1241 per_user_esound_socket,
1242 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1244 case "${enableval}" in
1245 yes) per_user_esound_socket=1 ;;
1246 no) per_user_esound_socket=0 ;;
1247 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1250 [per_user_esound_socket=1])
1252 if test "x$per_user_esound_socket" = "x1"; then
1253 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1256 #### PulseAudio system runtime dir ####
1257 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1258 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1259 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1260 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1261 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1262 AC_SUBST(PA_SYSTEM_STATE_PATH)
1264 ###################################
1266 ###################################
1268 AC_ARG_ENABLE([legacy-runtime-dir],
1269 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1270 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1271 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1276 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1277 [STATIC_BINS=1], [STATIC_BINS=0])
1278 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1282 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1283 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1284 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1285 if test "x$PREOPEN_MODS" != "xall" ; then
1287 for mod in $PREOPEN_MODS; do
1288 tmpLIBS="$tmpLIBS module-$mod.la"
1290 PREOPEN_MODS="$tmpLIBS"
1291 AC_SUBST(PREOPEN_MODS)
1296 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/]),
1297 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/"])
1299 AC_SUBST(modlibexecdir)
1303 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1304 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1305 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1316 libpulse-mainloop-glib.pc
1318 doxygen/doxygen.conf
1327 # ==========================================================================
1329 if test "x$HAVE_X11" = "x1" ; then
1334 if test "x$HAVE_OSS" = "x1" ; then
1339 if test "x$HAVE_ALSA" = "x1" ; then
1344 if test "x$HAVE_SOLARIS" = "x1" ; then
1349 if test "x$HAVE_GTK20" = "x1" ; then
1354 if test "x$HAVE_GLIB20" = "x1" ; then
1359 if test "x$HAVE_GCONF" = "x1" ; then
1364 if test "x$HAVE_AVAHI" = "x1" ; then
1369 if test "x$HAVE_JACK" = "x1" ; then
1373 ENABLE_LIBASYNCNS=no
1374 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1375 ENABLE_LIBASYNCNS=yes
1379 if test "x$HAVE_LIRC" = "x1" ; then
1384 if test "x$HAVE_HAL" = "x1" ; then
1389 if test "x$HAVE_UDEV" = "x1" ; then
1394 if test "x${LIBWRAP_LIBS}" != x ; then
1398 ENABLE_LIBSAMPLERATE=no
1399 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1400 ENABLE_LIBSAMPLERATE=yes
1404 if test "x${HAVE_BLUEZ}" = "x1" ; then
1409 if test "x${HAVE_POLKIT}" = "x1" ; then
1414 if test "x${HAVE_OPENSSL}" = "x1" ; then
1419 if test "x${HAVE_IPV6}" = "x1" ; then
1423 ENABLE_PER_USER_ESOUND_SOCKET=no
1424 if test "x$per_user_esound_socket" = "x1" ; then
1425 ENABLE_PER_USER_ESOUND_SOCKET=yes
1429 ---{ $PACKAGE_NAME $VERSION }---
1432 sysconfdir: ${sysconfdir}
1433 localstatedir: ${localstatedir}
1434 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1435 System State Path: ${PA_SYSTEM_STATE_PATH}
1436 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1440 Have X11: ${ENABLE_X11}
1441 Enable OSS: ${ENABLE_OSS}
1442 Enable Alsa: ${ENABLE_ALSA}
1443 Enable Solaris: ${ENABLE_SOLARIS}
1444 Enable GLib 2.0: ${ENABLE_GLIB20}
1445 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1446 Enable GConf: ${ENABLE_GCONF}
1447 Enable Avahi: ${ENABLE_AVAHI}
1448 Enable Jack: ${ENABLE_JACK}
1449 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1450 Enable LIRC: ${ENABLE_LIRC}
1451 Enable HAL: ${ENABLE_HAL}
1452 Enable udev: ${ENABLE_UDEV}
1453 Enable BlueZ: ${ENABLE_BLUEZ}
1454 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1455 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1456 Enable PolicyKit: ${ENABLE_POLKIT}
1457 Enable IPv6: ${ENABLE_IPV6}
1458 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1460 System User: ${PA_SYSTEM_USER}
1461 System Group: ${PA_SYSTEM_GROUP}
1462 Realtime Group: ${PA_REALTIME_GROUP}
1463 Access Group: ${PA_ACCESS_GROUP}
1464 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1465 Force preopen: ${FORCE_PREOPEN}
1466 Preopened modules: ${PREOPEN_MODS}