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-test3],[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_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
74 AC_DEFINE(_XOPEN_SOURCE, 2, 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 #### Checks for programs. ####
90 AC_PROG_GCC_TRADITIONAL
91 AC_USE_SYSTEM_EXTENSIONS
95 AC_PATH_PROG([M4], [m4 gm4], [no])
96 if test "x$M4" = xno ; then
97 AC_MSG_ERROR([m4 missing])
101 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"
103 for flag in $DESIRED_FLAGS ; do
104 CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
107 dnl Check whether to build tests by default (as compile-test) or not
108 AC_ARG_ENABLE([default-build-tests],
109 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
111 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
113 # Native atomic operation support
114 AC_ARG_ENABLE([atomic-arm-linux-helpers],
115 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
117 case "${enableval}" in
118 yes) atomic_arm_linux_helpers=yes ;;
119 no) atomic_arm_linux_helpers=no ;;
120 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
123 [atomic_arm_linux_helpers=auto])
125 AC_ARG_ENABLE([atomic-arm-memory-barrier],
126 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
128 case "${enableval}" in
129 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
131 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
135 AC_ARG_ENABLE([netbsd-atomic-ops],
136 AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
138 case "${enableval}" in
139 yes) atomic_netbsd_helpers=yes ;;
140 no) atomic_netbsd_helpers=no ;;
141 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
144 [atomic_netbsd_helpers=auto])
146 AC_MSG_CHECKING([target operating system])
149 AC_MSG_RESULT([linux])
150 pulse_target_os=linux
153 AC_MSG_RESULT([netbsd])
154 pulse_target_os=netbsd
157 AC_MSG_RESULT([unknown])
158 pulse_target_os=unknown
162 # If everything else fails use libatomic_ops
163 need_libatomic_ops=yes
165 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
166 pulseaudio_cv_sync_bool_compare_and_swap,
168 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
169 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
170 [pulseaudio_cv_sync_bool_compare_and_swap=no])
173 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
174 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
175 need_libatomic_ops=no
177 # HW specific atomic ops stuff
178 AC_MSG_CHECKING([architecture for native atomic operations])
182 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
183 # The Linux kernel helper functions have been there since 2.6.16. However
184 # compile time checking for kernel version in cross compile environment
185 # (which is usually the case for arm cpu) is tricky (or impossible).
186 if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
188 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
189 need_libatomic_ops=no
192 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
193 pulseaudio_cv_support_arm_atomic_ops,
198 asm volatile ("ldrex %0, [%1]\n"
200 "strexeq %0, %3, [%1]\n"
202 : "r" (&a), "Ir" (o), "r" (n)
204 return (a==1 ? 0 : -1);
206 [pulseaudio_cv_support_arm_atomic_ops=yes],
207 [pulseaudio_cv_support_arm_atomic_ops=no])
209 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
210 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
211 need_libatomic_ops=no
216 if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
218 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
219 need_libatomic_ops=no
221 AC_MSG_RESULT([unknown])
229 AC_CACHE_CHECK([whether $CC knows _Bool],
232 AC_LANG_PROGRAM([], [[_Bool b;]]),
233 [pulseaudio_cv__Bool=yes],
234 [pulseaudio_cv__Bool=no])
237 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
238 AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
241 #### libtool stuff ####
243 LT_INIT([dlopen win32-dll disable-static])
245 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
246 dnl exactly which version of libltdl is present in the system, so we
247 dnl just assume that it's a working version as long as we have the
248 dnl library and the header files.
250 dnl As an extra safety device, check for lt_dladvise_init() which is
251 dnl only implemented in libtool 2.x, and refine as we go if we have
252 dnl refined requirements.
254 dnl Check the header files first since the system may have a
255 dnl libltdl.so for runtime, but no headers, and we want to bail out as
256 dnl soon as possible.
258 dnl We don't need any special variable for this though, since the user
259 dnl can give the proper place to find libltdl through the standard
260 dnl variables like LDFLAGS and CPPFLAGS.
262 AC_CHECK_HEADER([ltdl.h],
263 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
266 AS_IF([test "x$LIBLTDL" = "x"],
267 [AC_MSG_ERROR([Unable to find libltdl.])])
270 #### Determine build environment ####
276 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
281 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
283 ###################################
284 # Basic environment checks #
285 ###################################
287 #### Checks for header files. ####
293 AC_CHECK_HEADERS([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
294 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
295 sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
296 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
297 AC_CHECK_HEADERS([netinet/ip.h], [], [],
298 [#include <sys/types.h>
299 #if HAVE_NETINET_IN_H
300 # include <netinet/in.h>
302 #if HAVE_NETINET_IN_SYSTM_H
303 # include <netinet/in_systm.h>
306 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
307 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
309 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
310 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
313 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
315 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
317 AC_CHECK_HEADERS([sys/prctl.h])
320 AC_CHECK_HEADERS([sys/filio.h])
323 AC_CHECK_HEADERS([windows.h winsock2.h ws2tcpip.h])
326 AC_CHECK_HEADERS([sys/atomic.h])
329 AC_CHECK_HEADERS([sys/ioctl.h])
330 AC_CHECK_HEADERS([byteswap.h])
331 AC_CHECK_HEADERS([sys/syscall.h])
332 AC_CHECK_HEADERS([sys/eventfd.h])
333 AC_CHECK_HEADERS([execinfo.h])
335 #### Typdefs, structures, etc. ####
341 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
342 [Define ssize_t if it is not done by the standard libs.])])
346 AC_CHECK_DECLS(environ)
348 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
350 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
352 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
355 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
356 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
357 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
359 #### POSIX threads ####
363 #### Check for libs ####
366 AC_SEARCH_LIBS([pow], [m])
369 AC_SEARCH_LIBS([sched_setscheduler], [rt])
370 AC_SEARCH_LIBS([dlopen], [dl])
371 AC_SEARCH_LIBS([shm_open], [rt])
372 AC_SEARCH_LIBS([inet_ntop], [nsl])
373 AC_SEARCH_LIBS([timer_create], [rt])
376 AC_SEARCH_LIBS([connect], [socket])
380 # This magic is needed so we do not needlessly add static libs to the win32
381 # build, disabling its ability to make dlls.
382 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
384 AC_CHECK_LIB(gdbm, gdbm_open)
385 AC_CHECK_HEADERS(gdbm.h, [], [AC_MSG_ERROR([gdbm.h not found])])
387 #### Check for functions ####
390 AC_CHECK_FUNCS([lrintf strtof])
395 AC_FUNC_SELECT_ARGTYPES
396 AC_CHECK_FUNCS([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
397 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
398 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
399 sigaction sleep sysconf pthread_setaffinity_np])
400 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
402 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
405 AC_CHECK_FUNCS([readlink])
408 AC_CHECK_FUNCS([ctime_r usleep])
411 AC_CHECK_FUNCS([strerror_r])
414 AC_CHECK_FUNCS([lstat])
418 AC_CHECK_FUNCS([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
422 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
423 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
424 [save_CC=$CC; CC=$PTHREAD_CC
425 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
426 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
432 [[int i = PTHREAD_PRIO_INHERIT;]]),
433 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
434 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
440 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
441 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
444 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
446 #### Large File-Support (LFS) ####
450 # Check for open64 to know if the current system does have open64() and similar functions
451 AC_CHECK_FUNCS([open64])
457 IT_PROG_INTLTOOL([0.35.0])
458 GETTEXT_PACKAGE=pulseaudio
459 AC_SUBST([GETTEXT_PACKAGE])
460 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
463 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
464 AC_SUBST(pulselocaledir)
466 ###################################
467 # External libraries #
468 ###################################
474 #### X11 (optional) ####
477 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
479 case "${enableval}" in
482 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
487 if test "x${x11}" != xno ; then
488 PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
492 if test "x$x11" = xyes ; then
493 AC_MSG_ERROR([*** X11 not found])
500 if test "x${HAVE_X11}" = x1 ; then
501 AC_DEFINE([HAVE_X11], 1, [Have X11?])
507 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
509 #### Capabilities (optional) ####
515 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
517 if test "x${with_caps}" != "xno"; then
518 AC_SEARCH_LIBS([cap_init], [cap], [], [
519 if test "x${with_caps}" = "xyes" ; then
520 AC_MSG_ERROR([*** POSIX caps libraries not found])
522 AC_CHECK_HEADERS([sys/capability.h], [], [
523 if test "x${with_caps}" = "xyes" ; then
524 AC_MSG_ERROR([*** POSIX caps headers not found])
528 #### Valgrind (optional) ####
530 AC_CHECK_HEADERS([valgrind/memcheck.h])
534 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.10 ])
535 AC_SUBST(LIBSNDFILE_CFLAGS)
536 AC_SUBST(LIBSNDFILE_LIBS)
538 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
539 AC_SUBST(LIBSPEEX_CFLAGS)
540 AC_SUBST(LIBSPEEX_LIBS)
544 AC_MSG_CHECKING([whether we need libatomic_ops])
545 if test "x$need_libatomic_ops" = "xyes"; then
547 AC_CHECK_HEADERS([atomic_ops.h], [], [
548 AC_MSG_ERROR([*** libatomic-ops headers not found])
551 # Win32 does not need the lib and breaks horribly if we try to include it
552 if test "x$os_is_win32" != "x1" ; then
553 LIBS="$LIBS -latomic_ops"
559 #### Libsamplerate support (optional) ####
561 AC_ARG_ENABLE([samplerate],
562 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
564 case "${enableval}" in
565 yes) samplerate=yes ;;
567 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
572 if test "x${samplerate}" != xno ; then
573 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
574 HAVE_LIBSAMPLERATE=1,
577 if test "x$samplerate" = xyes ; then
578 AC_MSG_ERROR([*** Libsamplerate not found])
585 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
586 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
589 AC_SUBST(LIBSAMPLERATE_CFLAGS)
590 AC_SUBST(LIBSAMPLERATE_LIBS)
591 AC_SUBST(HAVE_LIBSAMPLERATE)
592 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
594 #### OSS support (optional) ####
597 AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
599 case "${enableval}" in
602 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
607 if test "x${oss}" != xno ; then
608 AC_CHECK_HEADERS([sys/soundcard.h],
611 AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
615 if test "x$oss" = xyes ; then
616 AC_MSG_ERROR([*** OSS support not found])
624 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
627 #### ALSA support (optional) ####
629 AC_ARG_ENABLE([alsa],
630 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
632 case "${enableval}" in
635 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
640 if test "x${alsa}" != xno ; then
641 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
644 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
648 if test "x$alsa" = xyes ; then
649 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
656 AC_SUBST(ASOUNDLIB_CFLAGS)
657 AC_SUBST(ASOUNDLIB_LIBS)
659 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
661 #### Solaris audio support (optional) ####
663 AC_ARG_ENABLE([solaris],
664 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
666 case "${enableval}" in
669 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
674 if test "x${solaris}" != xno ; then
675 AC_CHECK_HEADERS([sys/audio.h],
678 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
682 if test "x$solaris" = xyes ; then
683 AC_MSG_ERROR([*** Solaris audio support not found])
690 AC_SUBST(HAVE_SOLARIS)
691 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
693 #### GLib 2 support (optional) ####
695 AC_ARG_ENABLE([glib2],
696 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
698 case "${enableval}" in
701 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
706 if test "x${glib2}" != xno ; then
707 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
711 if test "x$glib2" = xyes ; then
712 AC_MSG_ERROR([*** GLib 2 support not found])
719 AC_SUBST(GLIB20_CFLAGS)
720 AC_SUBST(GLIB20_LIBS)
721 AC_SUBST(HAVE_GLIB20)
722 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
724 if test "x$HAVE_GLIB20" = x1 ; then
725 AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
728 #### GTK2 support (optional) ####
730 AC_ARG_ENABLE([gtk2],
731 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
733 case "${enableval}" in
736 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
741 if test "x${gtk2}" != xno ; then
742 PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
746 if test "x$gtk2" = xyes ; then
747 AC_MSG_ERROR([*** Gtk+ 2 support not found])
754 AC_SUBST(GTK20_CFLAGS)
757 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
759 if test "x$HAVE_GTK20" = x1 ; then
760 AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
763 #### GConf support (optional) ####
765 AC_ARG_ENABLE([gconf],
766 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
768 case "${enableval}" in
771 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
776 if test "x${gconf}" != xno ; then
777 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
781 if test "x$gconf" = xyes ; then
782 AC_MSG_ERROR([*** GConf support not found])
789 AC_SUBST(GCONF_CFLAGS)
792 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
794 #### Avahi support (optional) ####
796 AC_ARG_ENABLE([avahi],
797 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
799 case "${enableval}" in
802 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
807 if test "x${avahi}" != xno ; then
808 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
812 if test "x$avahi" = xyes ; then
813 AC_MSG_ERROR([*** Avahi support not found])
820 AC_SUBST(AVAHI_CFLAGS)
823 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
827 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
828 AC_SUBST(LIBOIL_CFLAGS)
829 AC_SUBST(LIBOIL_LIBS)
831 ### JACK (optional) ####
833 AC_ARG_ENABLE([jack],
834 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
836 case "${enableval}" in
839 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
844 if test "x${jack}" != xno ; then
845 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
849 if test "x$jack" = xyes ; then
850 AC_MSG_ERROR([*** JACK support not found])
857 AC_SUBST(JACK_CFLAGS)
860 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
862 #### Async DNS support (optional) ####
864 AC_ARG_ENABLE([asyncns],
865 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
867 case "${enableval}" in
870 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
875 if test "x${asyncns}" != xno ; then
876 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
880 if test "x$asyncns" = xyes ; then
881 AC_MSG_ERROR([*** Async DNS support not found])
888 AC_SUBST(LIBASYNCNS_CFLAGS)
889 AC_SUBST(LIBASYNCNS_LIBS)
890 AC_SUBST(HAVE_LIBASYNCNS)
891 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
893 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
894 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
897 #### TCP wrappers (optional) ####
899 AC_ARG_ENABLE([tcpwrap],
900 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
902 case "${enableval}" in
905 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
910 if test "x${tcpwrap}" != xno ; then
912 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
913 AC_MSG_ERROR([*** TCP wrappers support not found])
919 AC_SUBST(LIBWRAP_LIBS)
921 #### LIRC support (optional) ####
923 AC_ARG_ENABLE([lirc],
924 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
926 case "${enableval}" in
929 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
934 if test "x${lirc}" != xno ; then
936 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
937 AC_MSG_ERROR([*** LIRC support not found])
943 AC_SUBST(LIRC_CFLAGS)
945 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
947 #### HAL support (optional) ####
950 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
952 case "${enableval}" in
955 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
959 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
960 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
963 AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
967 if test "x$hal" = xyes ; then
968 AC_MSG_ERROR([*** HAL support not found])
978 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
980 #### UDEV support (optional) ####
982 AC_ARG_ENABLE([udev],
983 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
985 case "${enableval}" in
988 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
992 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
993 PKG_CHECK_MODULES(UDEV, [ libudev ],
996 AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1000 if test "x$udev" = xyes ; then
1001 AC_MSG_ERROR([*** UDEV support not found])
1008 AC_SUBST(UDEV_CFLAGS)
1011 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1013 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1015 #### BlueZ support (optional) ####
1017 AC_ARG_ENABLE([bluez],
1018 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1020 case "${enableval}" in
1023 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1027 if test "x${bluez}" != xno ; then
1028 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1032 if test "x$bluez" = xyes ; then
1033 AC_MSG_ERROR([*** BLUEZ support not found])
1040 AC_SUBST(BLUEZ_CFLAGS)
1041 AC_SUBST(BLUEZ_LIBS)
1042 AC_SUBST(HAVE_BLUEZ)
1043 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1045 #### D-Bus support (optional) ####
1047 AC_ARG_ENABLE([dbus],
1048 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1050 case "${enableval}" in
1053 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1058 if test "x$HAVE_HAL" = x1 ; then
1062 if test "x${dbus}" != xno || test "x${bluez}" != xno || "x${hal}" != xno ; then
1064 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1068 LIBS="$LIBS $DBUS_LIBS"
1069 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1071 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1075 if test "x$dbus" = xyes ; then
1076 AC_MSG_ERROR([*** D-Bus support not found])
1083 AC_SUBST(DBUS_CFLAGS)
1086 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1088 #### PolicyKit support (optional) ####
1090 AC_ARG_ENABLE([polkit],
1091 AS_HELP_STRING([--disable-polkit],[Disable optional PolicyKit support]),
1093 case "${enableval}" in
1096 *) AC_MSG_ERROR(bad value ${enableval} for --disable-polkit) ;;
1101 if test "x${polkit}" != xno ; then
1103 PKG_CHECK_MODULES(POLKIT, [ polkit-dbus >= 0.7 ],
1106 AC_DEFINE([HAVE_POLKIT], 1, [Have PolicyKit])
1107 policydir=`pkg-config polkit-dbus --variable prefix`/share/PolicyKit/policy/
1112 if test "x$polkit" = xyes ; then
1113 AC_MSG_ERROR([*** PolicyKit support not found])
1120 AC_SUBST(POLKIT_CFLAGS)
1121 AC_SUBST(POLKIT_LIBS)
1122 AC_SUBST(HAVE_POLKIT)
1123 AM_CONDITIONAL([HAVE_POLKIT], [test "x$HAVE_POLKIT" = x1])
1126 ### IPv6 connection support (optional) ###
1128 AC_ARG_ENABLE([ipv6],
1129 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1131 case "${enableval}" in
1134 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1139 if test "x${ipv6}" != xno ; then
1140 AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1146 #### OpenSSL support (optional) ####
1148 AC_ARG_ENABLE([openssl],
1149 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1151 case "${enableval}" in
1154 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1159 if test "x${openssl}" != xno ; then
1161 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1164 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1168 if test "x$openssl" = xyes ; then
1169 AC_MSG_ERROR([*** OpenSSL support not found])
1176 AC_SUBST(OPENSSL_CFLAGS)
1177 AC_SUBST(OPENSSL_LIBS)
1178 AC_SUBST(HAVE_OPENSSL)
1179 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1181 ### Build and Install man pages ###
1182 AC_ARG_ENABLE(manpages,
1183 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1184 [case "${enableval}" in
1185 yes) manpages=yes ;;
1187 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1188 esac],[manpages=yes])
1190 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1192 #### PulseAudio system group & user #####
1194 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1195 if test -z "$with_system_user" ; then
1196 PA_SYSTEM_USER=pulse
1198 PA_SYSTEM_USER=$with_system_user
1200 AC_SUBST(PA_SYSTEM_USER)
1201 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1203 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1204 if test -z "$with_system_group" ; then
1205 PA_SYSTEM_GROUP=pulse
1207 PA_SYSTEM_GROUP=$with_system_group
1209 AC_SUBST(PA_SYSTEM_GROUP)
1210 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1212 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)]))
1213 if test -z "$with_realtime_group" ; then
1214 PA_REALTIME_GROUP=pulse-rt
1216 PA_REALTIME_GROUP=$with_realtime_group
1218 AC_SUBST(PA_REALTIME_GROUP)
1219 AC_DEFINE_UNQUOTED(PA_REALTIME_GROUP,"$PA_REALTIME_GROUP", [Realtime group])
1221 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)]))
1222 if test -z "$with_access_group" ; then
1223 PA_ACCESS_GROUP=pulse-access
1225 PA_ACCESS_GROUP=$with_access_group
1227 AC_SUBST(PA_ACCESS_GROUP)
1228 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1231 per_user_esound_socket,
1232 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1234 case "${enableval}" in
1235 yes) per_user_esound_socket=1 ;;
1236 no) per_user_esound_socket=0 ;;
1237 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1240 [per_user_esound_socket=1])
1242 if test "x$per_user_esound_socket" = "x1"; then
1243 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1246 #### PulseAudio system runtime dir ####
1247 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1248 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1249 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1250 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1251 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1252 AC_SUBST(PA_SYSTEM_STATE_PATH)
1254 ###################################
1256 ###################################
1258 AC_ARG_ENABLE([legacy-runtime-dir],
1259 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1260 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1261 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1266 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1267 [STATIC_BINS=1], [STATIC_BINS=0])
1268 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1272 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1273 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1274 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1275 if test "x$PREOPEN_MODS" != "xall" ; then
1277 for mod in $PREOPEN_MODS; do
1278 tmpLIBS="$tmpLIBS module-$mod.la"
1280 PREOPEN_MODS="$tmpLIBS"
1281 AC_SUBST(PREOPEN_MODS)
1286 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/]),
1287 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/"])
1289 AC_SUBST(modlibexecdir)
1293 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1294 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1295 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1306 libpulse-mainloop-glib.pc
1308 doxygen/doxygen.conf
1317 # ==========================================================================
1319 if test "x$HAVE_X11" = "x1" ; then
1324 if test "x$HAVE_OSS" = "x1" ; then
1329 if test "x$HAVE_ALSA" = "x1" ; then
1334 if test "x$HAVE_SOLARIS" = "x1" ; then
1339 if test "x$HAVE_GTK20" = "x1" ; then
1344 if test "x$HAVE_GLIB20" = "x1" ; then
1349 if test "x$HAVE_GCONF" = "x1" ; then
1354 if test "x$HAVE_AVAHI" = "x1" ; then
1359 if test "x$HAVE_JACK" = "x1" ; then
1363 ENABLE_LIBASYNCNS=no
1364 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1365 ENABLE_LIBASYNCNS=yes
1369 if test "x$HAVE_LIRC" = "x1" ; then
1374 if test "x$HAVE_HAL" = "x1" ; then
1379 if test "x$HAVE_UDEV" = "x1" ; then
1384 if test "x${LIBWRAP_LIBS}" != x ; then
1388 ENABLE_LIBSAMPLERATE=no
1389 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1390 ENABLE_LIBSAMPLERATE=yes
1394 if test "x${HAVE_BLUEZ}" = "x1" ; then
1399 if test "x${HAVE_POLKIT}" = "x1" ; then
1404 if test "x${HAVE_OPENSSL}" = "x1" ; then
1409 if test "x${HAVE_IPV6}" = "x1" ; then
1413 ENABLE_PER_USER_ESOUND_SOCKET=no
1414 if test "x$per_user_esound_socket" = "x1" ; then
1415 ENABLE_PER_USER_ESOUND_SOCKET=yes
1419 ---{ $PACKAGE_NAME $VERSION }---
1422 sysconfdir: ${sysconfdir}
1423 localstatedir: ${localstatedir}
1424 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1425 System State Path: ${PA_SYSTEM_STATE_PATH}
1426 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1430 Have X11: ${ENABLE_X11}
1431 Enable OSS: ${ENABLE_OSS}
1432 Enable Alsa: ${ENABLE_ALSA}
1433 Enable Solaris: ${ENABLE_SOLARIS}
1434 Enable GLib 2.0: ${ENABLE_GLIB20}
1435 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1436 Enable GConf: ${ENABLE_GCONF}
1437 Enable Avahi: ${ENABLE_AVAHI}
1438 Enable Jack: ${ENABLE_JACK}
1439 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1440 Enable LIRC: ${ENABLE_LIRC}
1441 Enable HAL: ${ENABLE_HAL}
1442 Enable udev: ${ENABLE_UDEV}
1443 Enable BlueZ: ${ENABLE_BLUEZ}
1444 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1445 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1446 Enable PolicyKit: ${ENABLE_POLKIT}
1447 Enable IPv6: ${ENABLE_IPV6}
1448 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1450 System User: ${PA_SYSTEM_USER}
1451 System Group: ${PA_SYSTEM_GROUP}
1452 Realtime Group: ${PA_REALTIME_GROUP}
1453 Access Group: ${PA_ACCESS_GROUP}
1454 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1455 Force preopen: ${FORCE_PREOPEN}
1456 Preopened modules: ${PREOPEN_MODS}