pactl: Separate stat and info actions
[pulseaudio-raopUDP/pulseaudio-raop-alac.git] / configure.ac
blob5b41bb47baa5a0bfb8bbc2eac934c417db339676
1 # -*- Autoconf -*-
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.
23 AC_PREREQ(2.63)
25 AC_INIT([pulseaudio],[m4_esyscmd(./git-version-gen .tarball-version)],[mzchyfrnhqvb (at) 0pointer (dot) net])
26 AC_CONFIG_SRCDIR([src/daemon/main.c])
27 AC_CONFIG_MACRO_DIR([m4])
28 AC_CONFIG_HEADERS([config.h])
29 AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax])
31 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
32 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
34 AC_SUBST(PA_MAJOR, pa_major)
35 AC_SUBST(PA_MINOR, pa_minor)
36 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
37 AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
39 AC_SUBST(PA_API_VERSION, 12)
40 AC_SUBST(PA_PROTOCOL_VERSION, 20)
42 # The stable ABI for client applications, for the version info x:y:z
43 # always will hold y=z
44 AC_SUBST(LIBPULSE_VERSION_INFO, [12:3:12])
46 # A simplified, synchronous, ABI-stable interface for client
47 # applications, for the version info x:y:z always will hold y=z
48 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])
50 # The ABI-stable network browsing interface for client applications,
51 # for the version info x:y:z always will hold y=z
52 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
54 # The ABI-stable GLib adapter for client applications, for the version
55 # info x:y:z always will hold y=z
56 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
58 AC_CANONICAL_HOST
59 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
61 AC_CHECK_PROG([STOW], [stow], [yes], [no])
63 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
64    AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
65    ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
68 AM_SILENT_RULES([yes])
70 #### Checks for programs. ####
72 # mkdir -p
74 AC_PROG_MKDIR_P
76 # CC
78 AC_PROG_CC
79 AC_PROG_CC_C99
80 AM_PROG_CC_C_O
81 AC_PROG_GCC_TRADITIONAL
82 AC_USE_SYSTEM_EXTENSIONS
84 #### Platform hacks ####
86 case $host in
87    *-*-solaris* )
88       AC_DEFINE(_XOPEN_SOURCE,        600, Needed to get declarations for msg_control and msg_controllen on Solaris)
89       AC_DEFINE(__EXTENSIONS__,         1, Needed to get declarations for msg_control and msg_controllen on Solaris)
90       ;;
91    *-*-darwin* )
92       AC_DEFINE([_POSIX_C_SOURCE], [200112L], [Needed to get clock_gettime on Mac OS X])
93       AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
94       ;;
95 esac
97 # M4
99 AC_CHECK_PROGS([M4], gm4 m4, no)
100 if test "x$M4" = xno ; then
101    AC_MSG_ERROR([m4 missing])
104 dnl Compiler flags
106 # Some compilers (e.g. clang) default to a warning on an unkown command line option.
107 # Change that temporarily to an error, for the CC_CHECK_CFLAGS_APPEND macro to work.
108 save_CC="$CC"
109 CC="$CC -Werror"
110 CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pipe -Wno-long-long -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 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option])
111 CC="$save_CC"
113 dnl Linker flags.
114 dnl Check whether the linker supports the -version-script option.
116 dnl This variable is used to make sure ${srcdir} is expanded and not
117 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
118 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
120 CC_CHECK_LDFLAGS([${tmp_ldflag}],
121     [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
122 AC_SUBST([VERSIONING_LDFLAGS])
124 dnl Use immediate (now) bindings; avoids the funky re-call in itself
125 dnl  the -z now syntax is lifted from Sun's linker and works with GNU's too
126 dnl  other linkes might be added later
127 CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"])
128 AC_SUBST([IMMEDIATE_LDFLAGS])
130 dnl On ELF systems we don't want the libraries to be unloaded since we
131 dnl don't clean them up properly, so we request the nodelete flag to be
132 dnl enabled.
134 dnl On other systems, we don't really know how to do that, but it's
135 dnl welcome if somebody can tell.
136 CC_CHECK_LDFLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS="-Wl,-z,nodelete"])
137 AC_SUBST([NODELETE_LDFLAGS])
139 dnl Check for the proper way to build libraries that have no undefined
140 dnl symbols; on some hosts this needs to be avoided but the macro
141 dnl takes care of it.
142 CC_NOUNDEFINED
144 dnl Check whether to build tests by default (as compile-test) or not
145 AC_ARG_ENABLE([default-build-tests],
146     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
148 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
150 # Native atomic operation support
151 AC_ARG_ENABLE([atomic-arm-linux-helpers],
152     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
153         [
154             case "${enableval}" in
155                 yes) atomic_arm_linux_helpers=yes ;;
156                 no) atomic_arm_linux_helpers=no ;;
157                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
158             esac
159         ],
160         [atomic_arm_linux_helpers=auto])
162 AC_ARG_ENABLE([atomic-arm-memory-barrier],
163     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
164         [
165             case "${enableval}" in
166                 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
167                 no) ;;
168                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
169             esac
170         ],)
172 AC_ARG_ENABLE(mac-universal,
173     AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
174                 enable_mac_universal=$enableval, enable_mac_universal="no")
177 AC_MSG_CHECKING([target operating system])
178 case $host in
179         *-*-linux*)
180             AC_MSG_RESULT([linux])
181             pulse_target_os=linux
182         ;;
183         *-*-darwin*)
184             AC_MSG_RESULT([darwin])
185             pulse_target_os=darwin
187             if test "x$enable_mac_universal" = "xyes" ; then
188                 mac_version_min="-mmacosx-version-min=10.5"
189                 mac_arches="-arch i386 -arch x86_64"
190                 mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.5.sdk"
191                 LDFLAGS="$LDFLAGS $mac_arches $mac_sysroot $mac_version_min"
192                 CFLAGS="$CFLAGS $CFLAGS $mac_arches $mac_sysroot $mac_version_min"
193             fi
194         ;;
195         *)
196             AC_MSG_RESULT([unknown])
197             pulse_target_os=unknown
198         ;;
199 esac
201 # If everything else fails use libatomic_ops
202 need_libatomic_ops=yes
204 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
205   pulseaudio_cv_sync_bool_compare_and_swap,
206   [AC_LINK_IFELSE(
207      AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
208      [pulseaudio_cv_sync_bool_compare_and_swap=yes],
209      [pulseaudio_cv_sync_bool_compare_and_swap=no])
210   ])
212 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
213     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
214     need_libatomic_ops=no
215 else
216     # HW specific atomic ops stuff
217     AC_MSG_CHECKING([architecture for native atomic operations])
218     case $host in
219         arm*)
220             AC_MSG_RESULT([arm])
221             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
222             # The Linux kernel helper functions have been there since 2.6.16. However
223             # compile time checking for kernel version in cross compile environment
224             # (which is usually the case for arm cpu) is tricky (or impossible).
225             if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
226                 AC_MSG_RESULT([yes])
227                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
228                 need_libatomic_ops=no
229             else
230                AC_MSG_RESULT([no])
231                AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
232                  pulseaudio_cv_support_arm_atomic_ops,
233                  [AC_COMPILE_IFELSE(
234                     AC_LANG_PROGRAM([],
235                       [[volatile int a=0;
236                         int o=0, n=1, r;
237                         asm volatile ("ldrex    %0, [%1]\n"
238                                          "subs  %0, %0, %2\n"
239                                          "strexeq %0, %3, [%1]\n"
240                                          : "=&r" (r)
241                                          : "r" (&a), "Ir" (o), "r" (n)
242                                          : "cc");
243                         return (a==1 ? 0 : -1);
244                       ]]),
245                     [pulseaudio_cv_support_arm_atomic_ops=yes],
246                     [pulseaudio_cv_support_arm_atomic_ops=no])
247                  ])
248                AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
249                    AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
250                    need_libatomic_ops=no
251                  ])
252            fi
253         ;;
254         *-netbsdelf5*)
255             AC_MSG_RESULT([yes])
256             need_libatomic_ops=no
257         ;;
258         *-freebsd*)
259             AC_MSG_RESULT([yes])
260             need_libatomic_ops=no
261         ;;
262         *)
263             AC_MSG_RESULT([unknown])
264         ;;
265     esac
268 # If we're on ARM, check for the ARMV6 instructions we need */
269 case $host in
270   arm*)
271     AC_CACHE_CHECK([support for required armv6 instructions],
272       pulseaudio_cv_support_armv6,
273       [AC_COMPILE_IFELSE(
274          AC_LANG_PROGRAM([],
275            [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
276              asm volatile ("ldr r0, %2 \n"
277                            "ldr r2, %3 \n"
278                            "ldr r3, %4 \n"
279                            "ssat r1, #8, r0 \n"
280                            "str r1, %0 \n"
281                            "pkhbt r1, r3, r2, LSL #8 \n"
282                            "str r1, %1 \n"
283                            : "=m" (a), "=m" (b)
284                            : "m" (a), "m" (b), "m" (c)
285                            : "r0", "r1", "r2", "r3", "cc");
286              return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
287            ]]),
288          [pulseaudio_cv_support_armv6=yes],
289          [pulseaudio_cv_support_armv6=no])
290       ])
291     AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
292         AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
293       ])
294   ;;
295   *)
296   ;;
297 esac
299 CC_CHECK_TLS
301 AC_CACHE_CHECK([whether $CC knows _Bool],
302   pulseaudio_cv__Bool,
303   [AC_COMPILE_IFELSE(
304      AC_LANG_PROGRAM([], [[_Bool b;]]),
305      [pulseaudio_cv__Bool=yes],
306      [pulseaudio_cv__Bool=no])
307   ])
309 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
310     AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
311   ])
313 #### libtool stuff ####
314 LT_PREREQ(2.2)
315 LT_INIT([dlopen win32-dll disable-static])
317 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
318 dnl exactly which version of libltdl is present in the system, so we
319 dnl just assume that it's a working version as long as we have the
320 dnl library and the header files.
322 dnl As an extra safety device, check for lt_dladvise_init() which is
323 dnl only implemented in libtool 2.x, and refine as we go if we have
324 dnl refined requirements.
326 dnl Check the header files first since the system may have a
327 dnl libltdl.so for runtime, but no headers, and we want to bail out as
328 dnl soon as possible.
330 dnl We don't need any special variable for this though, since the user
331 dnl can give the proper place to find libltdl through the standard
332 dnl variables like LDFLAGS and CPPFLAGS.
334 AC_CHECK_HEADER([ltdl.h],
335     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
336     [LIBLTDL=])
338 AS_IF([test "x$LIBLTDL" = "x"],
339     [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
340 AC_SUBST([LIBLTDL])
342 #### Determine build environment ####
344 os_is_win32=0
345 os_is_darwin=0
347 case "$host_os" in
348         mingw*)
349         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
350         os_is_win32=1
351                 ;;
352         darwin*)
353         AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
354         os_is_darwin=1
355                 ;;
356         esac
358 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
359 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
361 ###################################
362 #   Basic environment checks      #
363 ###################################
365 #### Checks for header files. ####
367 # ISO
368 AC_HEADER_STDC
370 # POSIX
371 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
372     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
373     sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
374     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
375 AC_CHECK_HEADERS([netinet/ip.h], [], [],
376                  [#include <sys/types.h>
377                   #if HAVE_NETINET_IN_H
378                   # include <netinet/in.h>
379                   #endif
380                   #if HAVE_NETINET_IN_SYSTM_H
381                   # include <netinet/in_systm.h>
382                   #endif
383                  ])
384 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
385 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
387 # Linux
388 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
390 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
392 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
394 # Solaris
395 AC_CHECK_HEADERS_ONCE([sys/filio.h])
397 # Windows
398 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
400 # NetBSD
401 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
403 # Other
404 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
405 AC_CHECK_HEADERS_ONCE([byteswap.h])
406 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
407 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
408 AC_CHECK_HEADERS_ONCE([execinfo.h])
409 AC_CHECK_HEADERS_ONCE([langinfo.h])
410 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
412 #### Typdefs, structures, etc. ####
414 AC_C_CONST
415 AC_C_BIGENDIAN
416 AC_TYPE_PID_T
417 AC_TYPE_SIZE_T
418 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
419     [Define ssize_t if it is not done by the standard libs.])])
420 AC_TYPE_OFF_T
422 AC_TYPE_UID_T
423 AC_CHECK_DECLS(environ)
425 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
426 HAVE_SIGXCPU=1
427 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
428 ], [HAVE_SIGXCPU=0])
429 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
431 # Solaris lacks this
432 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
433     [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
434         [AC_DEFINE([INADDR_NONE],  [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
436 #### POSIX threads ####
438 ACX_PTHREAD
440 #### Check for libs ####
442 # ISO
443 AC_SEARCH_LIBS([pow], [m])
445 # POSIX
446 AC_SEARCH_LIBS([sched_setscheduler], [rt])
447 AC_SEARCH_LIBS([dlopen], [dl])
448 AC_SEARCH_LIBS([shm_open], [rt])
449 AC_SEARCH_LIBS([inet_ntop], [nsl])
450 AC_SEARCH_LIBS([timer_create], [rt])
451 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
453 # BSD
454 AC_SEARCH_LIBS([connect], [socket])
455 AC_SEARCH_LIBS([backtrace], [execinfo])
457 # Non-standard
459 # This magic is needed so we do not needlessly add static libs to the win32
460 # build, disabling its ability to make dlls.
461 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
463 # Darwin/OS X
464 if test "x$os_is_darwin" = "x1" ; then
465     AC_MSG_CHECKING([looking for Apple CoreService Framework])
466     # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
467     AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
468     [LIBS="$LIBS -framework CoreServices"],
469     [AC_MSG_ERROR([CoreServices.h header file not found]) ])
471     AC_MSG_RESULT([ok])
472     AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
473     HAVE_BONJOUR=1
476 AC_SUBST(HAVE_BONJOUR)
477 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
479 AC_SEARCH_LIBS([regexec], [pcreposix])
481 #### Check for functions ####
483 # ISO
484 AC_CHECK_FUNCS_ONCE([lrintf strtof])
486 # POSIX
487 AC_FUNC_FORK
488 AC_FUNC_GETGROUPS
489 AC_FUNC_SELECT_ARGTYPES
490 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
491     getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
492     pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
493     sigaction sleep symlink sysconf uname pthread_setaffinity_np])
494 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
496 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
498 # X/OPEN
499 AC_CHECK_FUNCS_ONCE([readlink])
501 # SUSv2
502 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
504 # SUSv3
505 AC_CHECK_FUNCS_ONCE([strerror_r])
507 # BSD
508 AC_CHECK_FUNCS_ONCE([lstat])
510 # Non-standard
512 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
514 AC_FUNC_ALLOCA
516 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
517   pulseaudio_cv_PTHREAD_PRIO_INHERIT,
518   [save_CC=$CC; CC=$PTHREAD_CC
519    save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
520    save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
521    AC_LINK_IFELSE(
522      AC_LANG_PROGRAM(
523        [[
524          #include <pthread.h>
525        ]],
526        [[int i = PTHREAD_PRIO_INHERIT;]]),
527      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
528      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
529    CC=$save_CC
530    CFLAGS=$save_CFLAGS
531    LIBS=$save_LIBS
532   ])
534 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
535     AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
536   ])
538 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
540 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
541 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
543 #### Large File-Support (LFS) ####
545 AC_SYS_LARGEFILE
547 # Check for open64 to know if the current system does have open64() and similar functions
548 AC_CHECK_FUNCS_ONCE([open64])
550 #### [lib]iconv ####
552 AM_ICONV
554 IT_PROG_INTLTOOL([0.35.0])
555 GETTEXT_PACKAGE=pulseaudio
556 AC_SUBST([GETTEXT_PACKAGE])
557 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
558 AM_GLIB_GNU_GETTEXT
560 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
561 AC_SUBST(pulselocaledir)
563 ###################################
564 #      External libraries         #
565 ###################################
567 #### pkg-config ####
569 PKG_PROG_PKG_CONFIG
571 #### X11 (optional) ####
573 AC_ARG_ENABLE([x11],
574     AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
575         [
576             case "${enableval}" in
577                 yes) x11=yes ;;
578                 no) x11=no ;;
579                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
580             esac
581         ],
582         [x11=auto])
584 if test "x${x11}" != xno ; then
585     PKG_CHECK_MODULES(X11, [ x11-xcb ice sm xtst xcb-atom ],
586         HAVE_X11=1,
587         [
588             HAVE_X11=0
589             if test "x$x11" = xyes ; then
590                 AC_MSG_ERROR([*** X11 not found])
591             fi
592         ])
593 else
594     HAVE_X11=0
597 if test "x${HAVE_X11}" = x1 ; then
598    AC_DEFINE([HAVE_X11], 1, [Have X11?])
601 AC_SUBST(X11_CFLAGS)
602 AC_SUBST(X11_LIBS)
603 AC_SUBST(HAVE_X11)
604 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
606 #### Capabilities (optional) ####
608 CAP_LIBS=''
610 AC_ARG_WITH(
611         [caps],
612         AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
614 if test "x${with_caps}" != "xno"; then
615     AC_SEARCH_LIBS([cap_init], [cap], [], [
616                     if test "x${with_caps}" = "xyes" ; then
617                         AC_MSG_ERROR([*** POSIX caps libraries not found])
618                     fi])
619     AC_CHECK_HEADERS([sys/capability.h], [], [
620                     if test "x${with_caps}" = "xyes" ; then
621                         AC_MSG_ERROR([*** POSIX caps headers not found])
622                     fi])
625 #### Valgrind (optional) ####
627 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
629 #### Sound file ####
631 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
632 AC_SUBST(LIBSNDFILE_CFLAGS)
633 AC_SUBST(LIBSNDFILE_LIBS)
635 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
636 AC_SUBST(LIBSPEEX_CFLAGS)
637 AC_SUBST(LIBSPEEX_LIBS)
639 #### atomic-ops ###
641 AC_MSG_CHECKING([whether we need libatomic_ops])
642 if test "x$need_libatomic_ops" = "xyes"; then
643    AC_MSG_RESULT([yes])
644    AC_CHECK_HEADERS([atomic_ops.h], [], [
645    AC_MSG_ERROR([*** libatomic-ops headers not found])
646    ])
648    # Win32 does not need the lib and breaks horribly if we try to include it
649    if test "x$os_is_win32" != "x1" ; then
650        LIBS="$LIBS -latomic_ops"
651    fi
652 else
653    AC_MSG_RESULT([no])
656 #### Libsamplerate support (optional) ####
658 AC_ARG_ENABLE([samplerate],
659     AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
660         [
661             case "${enableval}" in
662                 yes) samplerate=yes ;;
663                 no) samplerate=no ;;
664                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
665             esac
666         ],
667         [samplerate=auto])
669 if test "x${samplerate}" != xno ; then
670     PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
671         HAVE_LIBSAMPLERATE=1,
672         [
673             HAVE_LIBSAMPLERATE=0
674             if test "x$samplerate" = xyes ; then
675                 AC_MSG_ERROR([*** Libsamplerate not found])
676             fi
677         ])
678 else
679     HAVE_LIBSAMPLERATE=0
682 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
683    AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
686 AC_SUBST(LIBSAMPLERATE_CFLAGS)
687 AC_SUBST(LIBSAMPLERATE_LIBS)
688 AC_SUBST(HAVE_LIBSAMPLERATE)
689 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
691 #### Database support ####
693 HAVE_TDB=0
694 HAVE_GDBM=0
695 HAVE_SIMPLEDB=0
697 AC_ARG_WITH(
698         [database],
699         AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
701 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
702     PKG_CHECK_MODULES(TDB, [ tdb ],
703         [
704             HAVE_TDB=1
705             with_database=tdb
706         ], [
707             if test "x${with_database}" = "xtdb" ; then
708                 AC_MSG_ERROR([*** tdb not found])
709             fi
710         ])
713 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
714    have_gdbm=yes
716    AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
717    AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
719    if test "x${have_gdbm}" = "xyes" ; then
720        HAVE_GDBM=1
721        GDBM_CFLAGS=
722        GDBM_LIBS=-lgdbm
723        with_database=gdbm
724    elif test "x${with_database}" = "xgdbm"; then
725        AC_MSG_ERROR([*** gdbm not found])
726    fi
729 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xsimple" ; then
730     HAVE_SIMPLEDB=1
731     with_database=simple
734 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1 -a "x${HAVE_SIMPLEDB}" != x1; then
735    AC_MSG_ERROR([*** missing database backend])
738 if test "x${HAVE_TDB}" = x1 ; then
739    AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
742 if test "x${HAVE_GDBM}" = x1 ; then
743    AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
746 if test "x${HAVE_SIMPLEDB}" = x1 ; then
747     AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?])
750 AC_SUBST(TDB_CFLAGS)
751 AC_SUBST(TDB_LIBS)
752 AC_SUBST(HAVE_TDB)
753 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
755 AC_SUBST(GDBM_CFLAGS)
756 AC_SUBST(GDBM_LIBS)
757 AC_SUBST(HAVE_GDBM)
758 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
760 AC_SUBST(HAVE_SIMPLEDB)
761 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
763 #### OSS support (optional) ####
765 AC_ARG_ENABLE([oss-output],
766     AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]),
767         [
768             case "${enableval}" in
769                 yes) oss_output=yes ;;
770                 no) oss_output=no ;;
771                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-output) ;;
772             esac
773         ],
774         [oss_output=auto])
776 AC_ARG_ENABLE([oss-wrapper],
777     AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]),
778         [
779             case "${enableval}" in
780                 yes) oss_wrapper=yes ;;
781                 no) oss_wrapper=no ;;
782                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-wrapper) ;;
783             esac
784         ],
785         [oss_wrapper=auto])
787 if test "x${oss_output}" != xno || test "x${oss_wrapper}" != "xno"; then
788     AC_CHECK_HEADERS([sys/soundcard.h],
789         [
790             if test "x${oss_output}" != "xno"; then
791                 AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])
792             fi
793             if test "x${oss_wrapper}" != "xno"; then
794                 AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?])
795             fi
796             HAVE_OSS=1
797         ],
798         [
799             HAVE_OSS=0
800             if test "x$oss_output" = xyes || test "x$oss_wrapper" = "xyes"; then
801                 AC_MSG_ERROR([*** OSS support not found])
802             fi
803         ])
804 else
805     HAVE_OSS=0
808 AC_SUBST(HAVE_OSS)
809 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"])
810 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])
812 #### CoreAudio support (optional) ####
814 AC_ARG_ENABLE([coreaudio-output],
815     AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]),
816         [
817             case "${enableval}" in
818                 yes) coreaudio_enabled=yes ;;
819                 no) coreaudio_enabled=no ;;
820                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-coreaudio-output) ;;
821             esac
822         ],
823         [coreaudio_enabled=auto])
825 if test "x${coreaudio_enabled}" != xno ; then
826     AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1)
827 else
828     HAVE_COREAUDIO=0
831 AC_SUBST(HAVE_COREAUDIO)
832 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = x1 && test "x${coreaudio_enabled}" != "xno"])
834 #### ALSA support (optional) ####
836 AC_ARG_ENABLE([alsa],
837     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
838         [
839             case "${enableval}" in
840                 yes) alsa=yes ;;
841                 no) alsa=no ;;
842                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
843             esac
844         ],
845         [alsa=auto])
847 if test "x${alsa}" != xno ; then
848     PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
849         [
850             HAVE_ALSA=1
851             AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
852         ],
853         [
854             HAVE_ALSA=0
855             if test "x$alsa" = xyes ; then
856                 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
857             fi
858         ])
859 else
860     HAVE_ALSA=0
863 AC_SUBST(ASOUNDLIB_CFLAGS)
864 AC_SUBST(ASOUNDLIB_LIBS)
865 AC_SUBST(HAVE_ALSA)
866 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
868 #### Solaris audio support (optional) ####
870 AC_ARG_ENABLE([solaris],
871     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
872         [
873             case "${enableval}" in
874                 yes) solaris=yes ;;
875                 no) solaris=no ;;
876                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
877             esac
878         ],
879         [solaris=auto])
881 if test "x${solaris}" != xno ; then
882     AC_CHECK_HEADERS([sys/audio.h],
883         [
884             HAVE_SOLARIS=1
885             AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
886         ],
887         [
888             HAVE_SOLARIS=0
889             if test "x$solaris" = xyes ; then
890                 AC_MSG_ERROR([*** Solaris audio support not found])
891             fi
892         ])
893 else
894     HAVE_SOLARIS=0
897 AC_SUBST(HAVE_SOLARIS)
898 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
900 #### WaveOut audio support (optional) ####
902 AC_ARG_ENABLE([waveout],
903     AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]),
904         [
905             case "${enableval}" in
906                 yes) waveout=yes ;;
907                 no) waveout=no ;;
908                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-waveout) ;;
909             esac
910         ],
911         [waveout=auto])
913 if test "x${waveout}" != xno ; then
914     AC_CHECK_HEADERS([mmsystem.h],
915         [
916             HAVE_WAVEOUT=1
917             AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?])
918         ],
919         [
920             HAVE_WAVEOUT=0
921             if test "x$waveout" = xyes ; then
922                 AC_MSG_ERROR([*** WaveOut audio support not found])
923             fi
924         ],
925         [#include <windows.h>])
926 else
927     HAVE_WAVEOUT=0
930 AC_SUBST(HAVE_WAVEOUT)
931 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
933 #### GLib 2 support (optional) ####
935 AC_ARG_ENABLE([glib2],
936     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
937         [
938             case "${enableval}" in
939                 yes) glib2=yes ;;
940                 no) glib2=no ;;
941                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
942             esac
943         ],
944         [glib2=auto])
946 if test "x${glib2}" != xno ; then
947     PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
948         HAVE_GLIB20=1,
949         [
950             HAVE_GLIB20=0
951             if test "x$glib2" = xyes ; then
952                 AC_MSG_ERROR([*** GLib 2 support not found])
953             fi
954         ])
955 else
956     HAVE_GLIB20=0
959 AC_SUBST(GLIB20_CFLAGS)
960 AC_SUBST(GLIB20_LIBS)
961 AC_SUBST(HAVE_GLIB20)
962 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
964 if test "x$HAVE_GLIB20" = x1 ; then
965    AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
968 #### GTK2 support (optional) ####
970 AC_ARG_ENABLE([gtk2],
971     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
972         [
973             case "${enableval}" in
974                 yes) gtk2=yes ;;
975                 no) gtk2=no ;;
976                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
977             esac
978         ],
979         [gtk2=auto])
981 if test "x${gtk2}" != xno ; then
982     PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
983         HAVE_GTK20=1,
984         [
985             HAVE_GTK20=0
986             if test "x$gtk2" = xyes ; then
987                 AC_MSG_ERROR([*** Gtk+ 2 support not found])
988             fi
989         ])
990 else
991     HAVE_GTK20=0
994 AC_SUBST(GTK20_CFLAGS)
995 AC_SUBST(GTK20_LIBS)
996 AC_SUBST(HAVE_GTK20)
997 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
999 if test "x$HAVE_GTK20" = x1 ; then
1000    AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
1003 #### GConf support (optional) ####
1005 AC_ARG_ENABLE([gconf],
1006     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
1007         [
1008             case "${enableval}" in
1009                 yes) gconf=yes ;;
1010                 no) gconf=no ;;
1011                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
1012             esac
1013         ],
1014         [gconf=auto])
1016 if test "x${gconf}" != xno ; then
1017     PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ],
1018         HAVE_GCONF=1,
1019         [
1020             HAVE_GCONF=0
1021             if test "x$gconf" = xyes ; then
1022                 AC_MSG_ERROR([*** GConf support not found])
1023             fi
1024         ])
1025 else
1026     HAVE_GCONF=0
1029 AC_SUBST(GCONF_CFLAGS)
1030 AC_SUBST(GCONF_LIBS)
1031 AC_SUBST(HAVE_GCONF)
1032 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
1034 #### Avahi support (optional) ####
1036 AC_ARG_ENABLE([avahi],
1037     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
1038         [
1039             case "${enableval}" in
1040                 yes) avahi=yes ;;
1041                 no) avahi=no ;;
1042                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
1043             esac
1044         ],
1045         [avahi=auto])
1047 if test "x${avahi}" != xno ; then
1048     PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
1049         HAVE_AVAHI=1,
1050         [
1051                 HAVE_AVAHI=0
1052                 if test "x$avahi" = xyes ; then
1053                         AC_MSG_ERROR([*** Avahi support not found])
1054                 fi
1055         ])
1056 else
1057     HAVE_AVAHI=0
1060 AC_SUBST(AVAHI_CFLAGS)
1061 AC_SUBST(AVAHI_LIBS)
1062 AC_SUBST(HAVE_AVAHI)
1063 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
1065 ### JACK (optional) ####
1067 AC_ARG_ENABLE([jack],
1068     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
1069         [
1070             case "${enableval}" in
1071                 yes) jack=yes ;;
1072                 no) jack=no ;;
1073                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
1074             esac
1075         ],
1076         [jack=auto])
1078 if test "x${jack}" != xno ; then
1079     PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
1080         HAVE_JACK=1,
1081         [
1082             HAVE_JACK=0
1083             if test "x$jack" = xyes ; then
1084                 AC_MSG_ERROR([*** JACK support not found])
1085             fi
1086         ])
1087 else
1088     HAVE_JACK=0
1091 AC_SUBST(JACK_CFLAGS)
1092 AC_SUBST(JACK_LIBS)
1093 AC_SUBST(HAVE_JACK)
1094 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
1096 #### Async DNS support (optional) ####
1098 AC_ARG_ENABLE([asyncns],
1099     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
1100         [
1101             case "${enableval}" in
1102                 yes) asyncns=yes ;;
1103                 no) asyncns=no ;;
1104                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
1105             esac
1106         ],
1107         [asyncns=auto])
1109 if test "x${asyncns}" != xno ; then
1110     PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
1111         HAVE_LIBASYNCNS=1,
1112         [
1113             HAVE_LIBASYNCNS=0
1114             if test "x$asyncns" = xyes ; then
1115                 AC_MSG_ERROR([*** Async DNS support not found])
1116             fi
1117         ])
1118 else
1119     HAVE_LIBASYNCNS=0
1122 AC_SUBST(LIBASYNCNS_CFLAGS)
1123 AC_SUBST(LIBASYNCNS_LIBS)
1124 AC_SUBST(HAVE_LIBASYNCNS)
1125 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
1127 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
1128    AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
1131 #### TCP wrappers (optional) ####
1133 AC_ARG_ENABLE([tcpwrap],
1134     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
1135         [
1136             case "${enableval}" in
1137                 yes) tcpwrap=yes ;;
1138                 no) tcpwrap=no ;;
1139                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
1140             esac
1141         ],
1142         [tcpwrap=auto])
1144 if test "x${tcpwrap}" != xno ; then
1145     ACX_LIBWRAP
1146     if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
1147         AC_MSG_ERROR([*** TCP wrappers support not found])
1148     fi
1149 else
1150     LIBWRAP_LIBS=
1153 AC_SUBST(LIBWRAP_LIBS)
1155 #### LIRC support (optional) ####
1157 AC_ARG_ENABLE([lirc],
1158     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1159         [
1160             case "${enableval}" in
1161                 yes) lirc=yes ;;
1162                 no) lirc=no ;;
1163                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1164             esac
1165         ],
1166         [lirc=auto])
1168 if test "x${lirc}" != xno ; then
1169     ACX_LIRC
1170     if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1171         AC_MSG_ERROR([*** LIRC support not found])
1172     fi
1173 else
1174     HAVE_LIRC=0
1177 AC_SUBST(LIRC_CFLAGS)
1178 AC_SUBST(LIRC_LIBS)
1179 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1181 #### HAL support (optional) ####
1183 AC_ARG_ENABLE([hal],
1184     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1185         [
1186             case "${enableval}" in
1187                 yes) hal=yes ;;
1188                 no) hal=no ;;
1189                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1190             esac
1191         ],
1192         [hal=auto])
1193 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1194     PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1195         [
1196             HAVE_HAL=1
1197             AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1198         ],
1199         [
1200             HAVE_HAL=0
1201             if test "x$hal" = xyes ; then
1202                 AC_MSG_ERROR([*** HAL support not found])
1203             fi
1204         ])
1205 else
1206     HAVE_HAL=0
1209 AC_SUBST(HAL_CFLAGS)
1210 AC_SUBST(HAL_LIBS)
1211 AC_SUBST(HAVE_HAL)
1212 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1214 #### UDEV support (optional) ####
1216 AC_ARG_ENABLE([udev],
1217     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1218         [
1219             case "${enableval}" in
1220                 yes) udev=yes ;;
1221                 no) udev=no ;;
1222                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1223             esac
1224         ],
1225         [udev=auto])
1226 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1227     PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1228         [
1229             HAVE_UDEV=1
1230             AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1231         ],
1232         [
1233             HAVE_UDEV=0
1234             if test "x$udev" = xyes ; then
1235                 AC_MSG_ERROR([*** UDEV support not found])
1236             fi
1237         ])
1238 else
1239     HAVE_UDEV=0
1242 AC_SUBST(UDEV_CFLAGS)
1243 AC_SUBST(UDEV_LIBS)
1244 AC_SUBST(HAVE_UDEV)
1245 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1247 #### BlueZ support (optional) ####
1249 AC_ARG_ENABLE([bluez],
1250     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1251         [
1252             case "${enableval}" in
1253                 yes) bluez=yes ;;
1254                 no) bluez=no ;;
1255                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1256             esac
1257         ],
1258         [bluez=auto])
1259 if test "x${bluez}" != xno ; then
1260     PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1261         HAVE_BLUEZ=1,
1262         [
1263             HAVE_BLUEZ=0
1264             if test "x$bluez" = xyes ; then
1265                 AC_MSG_ERROR([*** BLUEZ support not found])
1266             fi
1267         ])
1268 else
1269     HAVE_BLUEZ=0
1272 AC_SUBST(BLUEZ_CFLAGS)
1273 AC_SUBST(BLUEZ_LIBS)
1274 AC_SUBST(HAVE_BLUEZ)
1275 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1277 #### D-Bus support (optional) ####
1279 AC_ARG_ENABLE([dbus],
1280     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1281         [
1282             case "${enableval}" in
1283                 yes) dbus=yes ;;
1284                 no) dbus=no ;;
1285                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1286             esac
1287         ],
1288         [dbus=auto])
1290 if test "x${dbus}" != xno ; then
1292     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1293         [
1294             HAVE_DBUS=1
1295             saved_LIBS="$LIBS"
1296             LIBS="$LIBS $DBUS_LIBS"
1297             CFLAGS="$CFLAGS $DBUS_CFLAGS"
1298             AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1299             LIBS="$saved_LIBS"
1300             AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1301         ],
1302         [
1303             HAVE_DBUS=0
1304             if test "x$dbus" = xyes ; then
1305                 AC_MSG_ERROR([*** D-Bus support not found])
1306             fi
1307         ])
1308 else
1309     HAVE_DBUS=0
1312 AC_SUBST(DBUS_CFLAGS)
1313 AC_SUBST(DBUS_LIBS)
1314 AC_SUBST(HAVE_DBUS)
1315 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1318 # udev and HAL depend on D-Bus: So double check if they were explicitly enabled.
1319 if test "x$HAVE_DBUS" != "x1" ; then
1320     HAVE_HAL=0
1321     if test "x${hal}" = xyes ; then
1322         AC_MSG_ERROR([*** D-Bus support is required by HAL])
1323     fi
1325     HAVE_BLUEZ=0
1326     if test "x${bluez}" = xyes ; then
1327         AC_MSG_ERROR([*** D-Bus support is required by BLUEZ])
1328     fi
1332 #### HAL compat support (optional) ####
1334 AC_ARG_ENABLE([hal-compat],
1335     AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]),
1336         [
1337             case "${enableval}" in
1338                 yes) halcompat=yes ;;
1339                 no) halcompat=no ;;
1340                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal-compat) ;;
1341             esac
1342         ],
1343         [halcompat=auto])
1344 if test "x${halcompat}" != xno -a "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1" ; then
1345     HAVE_HAL_COMPAT=1
1346     AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.])
1347 else
1348     HAVE_HAL_COMPAT=0
1351 AC_SUBST(HAVE_HAL_COMPAT)
1352 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1354 ### IPv6 connection support (optional) ###
1356 AC_ARG_ENABLE([ipv6],
1357     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1358         [
1359             case "${enableval}" in
1360                 yes) ipv6=yes ;;
1361                 no) ipv6=no ;;
1362                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1363             esac
1364         ],
1365         [ipv6=auto])
1367 if test "x${ipv6}" != xno ; then
1368     AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1369     HAVE_IPV6=1
1370 else
1371     HAVE_IPV6=0
1374 #### OpenSSL support (optional) ####
1376 AC_ARG_ENABLE([openssl],
1377     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1378         [
1379             case "${enableval}" in
1380                 yes) openssl=yes ;;
1381                 no) openssl=no ;;
1382                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1383             esac
1384         ],
1385         [openssl=auto])
1387 if test "x${openssl}" != xno ; then
1389     PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1390         [
1391             HAVE_OPENSSL=1
1392             AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1393         ],
1394         [
1395             HAVE_OPENSSL=0
1396             if test "x$openssl" = xyes ; then
1397                 AC_MSG_ERROR([*** OpenSSL support not found])
1398             fi
1399         ])
1400 else
1401     HAVE_OPENSSL=0
1404 AC_SUBST(OPENSSL_CFLAGS)
1405 AC_SUBST(OPENSSL_LIBS)
1406 AC_SUBST(HAVE_OPENSSL)
1407 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1409 #### FFTW (optional) ####
1410 AC_ARG_WITH(
1411         [fftw],
1412         AS_HELP_STRING([--without-fftw], [Omit FFTW-using modules (equalizer)]))
1414 if test "x${with_fftw}" != "xno"; then
1415     PKG_CHECK_MODULES([FFTW], [fftw3f], [HAVE_FFTW=1], [HAVE_FFTW=0])
1417 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1419 ### ORC (optional) ###
1420 ORC_CHECK([0.4.11])
1422 ### Build and Install man pages ###
1423 AC_ARG_ENABLE(manpages,
1424         AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1425 [case "${enableval}" in
1426   yes) manpages=yes ;;
1427   no)  manpages=no ;;
1428   *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1429 esac],[manpages=yes])
1431 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1433 #### PulseAudio system group & user  #####
1435 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1436 if test -z "$with_system_user" ; then
1437     PA_SYSTEM_USER=pulse
1438 else
1439     PA_SYSTEM_USER=$with_system_user
1441 AC_SUBST(PA_SYSTEM_USER)
1442 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1444 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1445 if test -z "$with_system_group" ; then
1446     PA_SYSTEM_GROUP=pulse
1447 else
1448     PA_SYSTEM_GROUP=$with_system_group
1450 AC_SUBST(PA_SYSTEM_GROUP)
1451 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1453 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)]))
1454 if test -z "$with_access_group" ; then
1455     PA_ACCESS_GROUP=pulse-access
1456 else
1457     PA_ACCESS_GROUP=$with_access_group
1459 AC_SUBST(PA_ACCESS_GROUP)
1460 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1462 AC_ARG_ENABLE(
1463         per_user_esound_socket,
1464         AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1465         [
1466             case "${enableval}" in
1467                 yes) per_user_esound_socket=1 ;;
1468                 no) per_user_esound_socket=0 ;;
1469                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1470             esac
1471         ],
1472         [per_user_esound_socket=1])
1474 if test "x$per_user_esound_socket" = "x1"; then
1475    AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1478 #### PulseAudio system runtime dir ####
1479 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1480 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1481 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1482 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1483 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1484 AC_SUBST(PA_SYSTEM_STATE_PATH)
1486 ###################################
1487 #            Output               #
1488 ###################################
1490 AC_ARG_ENABLE([legacy-runtime-dir],
1491         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1492 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1493         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1496 AC_ARG_ENABLE(
1497         [static-bins],
1498         AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1499         [STATIC_BINS=1], [STATIC_BINS=0])
1500 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1502 AC_ARG_WITH(
1503         [preopen-mods],
1504         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1505         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1506 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1507 if test "x$PREOPEN_MODS" != "xall" ; then
1508     tmpLIBS=""
1509     for mod in $PREOPEN_MODS; do
1510         tmpLIBS="$tmpLIBS module-$mod.la"
1511     done
1512     PREOPEN_MODS="$tmpLIBS"
1513     AC_SUBST(PREOPEN_MODS)
1516 AC_ARG_WITH(
1517         [module-dir],
1518         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1519         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1521 AC_SUBST(modlibexecdir)
1523 AC_ARG_WITH(
1524         [udev-rules-dir],
1525         AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1526         [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1528 AC_SUBST(udevrulesdir)
1530 AC_ARG_ENABLE(
1531         [force-preopen],
1532         AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1533         [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1534 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1536 AC_CONFIG_FILES([
1537 Makefile
1538 src/Makefile
1539 man/Makefile
1540 libpulse.pc
1541 libpulse-simple.pc
1542 libpulse-browse.pc
1543 libpulse-mainloop-glib.pc
1544 doxygen/Makefile
1545 doxygen/doxygen.conf
1546 src/pulse/version.h
1547 po/Makefile.in
1550 AC_OUTPUT
1552 # ==========================================================================
1553 ENABLE_X11=no
1554 if test "x$HAVE_X11" = "x1" ; then
1555    ENABLE_X11=yes
1558 ENABLE_OSS_OUTPUT=no
1559 ENABLE_OSS_WRAPPER=no
1560 if test "x$HAVE_OSS" = "x1" ; then
1561    if test "x$enable_oss_output" != "xno"; then
1562       ENABLE_OSS_OUTPUT=yes
1563    fi
1564    if test "x$enable_oss_wrapper" != "xno"; then
1565       ENABLE_OSS_WRAPPER=yes
1566    fi
1569 ENABLE_COREAUDIO=no
1570 if test "x$HAVE_COREAUDIO" = "x1" ; then
1571    ENABLE_COREAUDIO=yes
1574 ENABLE_ALSA=no
1575 if test "x$HAVE_ALSA" = "x1" ; then
1576    ENABLE_ALSA=yes
1579 ENABLE_SOLARIS=no
1580 if test "x$HAVE_SOLARIS" = "x1" ; then
1581    ENABLE_SOLARIS=yes
1584 ENABLE_WAVEOUT=no
1585 if test "x$HAVE_WAVEOUT" = "x1" ; then
1586    ENABLE_WAVEOUT=yes
1589 ENABLE_GTK20=no
1590 if test "x$HAVE_GTK20" = "x1" ; then
1591    ENABLE_GTK20=yes
1594 ENABLE_GLIB20=no
1595 if test "x$HAVE_GLIB20" = "x1" ; then
1596    ENABLE_GLIB20=yes
1599 ENABLE_GCONF=no
1600 if test "x$HAVE_GCONF" = "x1" ; then
1601    ENABLE_GCONF=yes
1604 ENABLE_AVAHI=no
1605 if test "x$HAVE_AVAHI" = "x1" ; then
1606    ENABLE_AVAHI=yes
1609 ENABLE_JACK=no
1610 if test "x$HAVE_JACK" = "x1" ; then
1611    ENABLE_JACK=yes
1614 ENABLE_LIBASYNCNS=no
1615 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1616    ENABLE_LIBASYNCNS=yes
1619 ENABLE_LIRC=no
1620 if test "x$HAVE_LIRC" = "x1" ; then
1621    ENABLE_LIRC=yes
1624 ENABLE_DBUS=no
1625 if test "x$HAVE_DBUS" = "x1" ; then
1626    ENABLE_DBUS=yes
1629 ENABLE_HAL=no
1630 if test "x$HAVE_HAL" = "x1" ; then
1631    ENABLE_HAL=yes
1634 ENABLE_UDEV=no
1635 if test "x$HAVE_UDEV" = "x1" ; then
1636    ENABLE_UDEV=yes
1639 ENABLE_HAL_COMPAT=no
1640 if test "x$HAVE_HAL_COMPAT" = "x1" ; then
1641    ENABLE_HAL_COMPAT=yes
1644 ENABLE_TCPWRAP=no
1645 if test "x${LIBWRAP_LIBS}" != x ; then
1646    ENABLE_TCPWRAP=yes
1649 ENABLE_LIBSAMPLERATE=no
1650 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1651    ENABLE_LIBSAMPLERATE=yes
1654 ENABLE_BLUEZ=no
1655 if test "x${HAVE_BLUEZ}" = "x1" ; then
1656    ENABLE_BLUEZ=yes
1659 ENABLE_GDBM=no
1660 if test "x${HAVE_GDBM}" = "x1" ; then
1661    ENABLE_GDBM=yes
1664 ENABLE_TDB=no
1665 if test "x${HAVE_TDB}" = "x1" ; then
1666    ENABLE_TDB=yes
1669 ENABLE_SIMPLEDB=no
1670 if test "x${HAVE_SIMPLEDB}" = "x1" ; then
1671     ENABLE_SIMPLEDB=yes
1674 ENABLE_FFTW=no
1675 if test "x${HAVE_FFTW}" = "x1" ; then
1676    ENABLE_FFTW=yes
1679 ENABLE_ORC=no
1680 if test "x${HAVE_ORC}" = "xyes" ; then
1681    ENABLE_ORC=yes
1684 ENABLE_OPENSSL=no
1685 if test "x${HAVE_OPENSSL}" = "x1" ; then
1686    ENABLE_OPENSSL=yes
1689 ENABLE_IPV6=no
1690 if test "x${HAVE_IPV6}" = "x1" ; then
1691    ENABLE_IPV6=yes
1694 ENABLE_PER_USER_ESOUND_SOCKET=no
1695 if test "x$per_user_esound_socket" = "x1" ; then
1696    ENABLE_PER_USER_ESOUND_SOCKET=yes
1699 echo "
1700  ---{ $PACKAGE_NAME $VERSION }---
1702     prefix:                        ${prefix}
1703     sysconfdir:                    ${sysconfdir}
1704     localstatedir:                 ${localstatedir}
1705     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1706     System State Path:             ${PA_SYSTEM_STATE_PATH}
1707     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1708     Compiler:                      ${CC}
1709     CFLAGS:                        ${CFLAGS}
1710     LIBS:                          ${LIBS}
1712     Have X11:                      ${ENABLE_X11}
1713     Enable OSS Output:             ${ENABLE_OSS_OUTPUT}
1714     Enable OSS Wrapper:            ${ENABLE_OSS_WRAPPER}
1715     Enable CoreAudio:              ${ENABLE_COREAUDIO}
1716     Enable Alsa:                   ${ENABLE_ALSA}
1717     Enable Solaris:                ${ENABLE_SOLARIS}
1718     Enable WaveOut:                ${ENABLE_WAVEOUT}
1719     Enable GLib 2.0:               ${ENABLE_GLIB20}
1720     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1721     Enable GConf:                  ${ENABLE_GCONF}
1722     Enable Avahi:                  ${ENABLE_AVAHI}
1723     Enable Jack:                   ${ENABLE_JACK}
1724     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1725     Enable LIRC:                   ${ENABLE_LIRC}
1726     Enable D-Bus:                  ${ENABLE_DBUS}
1727       Enable HAL:                  ${ENABLE_HAL}
1728       Enable BlueZ:                ${ENABLE_BLUEZ}
1729     Enable udev:                   ${ENABLE_UDEV}
1730       Enable HAL->udev compat:     ${ENABLE_HAL_COMPAT}
1731     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1732     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1733     Enable IPv6:                   ${ENABLE_IPV6}
1734     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1735     Enable tdb:                    ${ENABLE_TDB}
1736     Enable gdbm:                   ${ENABLE_GDBM}
1737     Enable simple database:        ${ENABLE_SIMPLEDB}
1738     Enable fftw:                   ${ENABLE_FFTW}
1739     Enable orc:                    ${ENABLE_ORC}
1741     System User:                   ${PA_SYSTEM_USER}
1742     System Group:                  ${PA_SYSTEM_GROUP}
1743     Access Group:                  ${PA_ACCESS_GROUP}
1744     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1745     Force preopen:                 ${FORCE_PREOPEN}
1746     Preopened modules:             ${PREOPEN_MODS}
1749 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1750    echo "
1751 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1752 You do not have D-Bus support enabled. It is strongly recommended
1753 that you enable D-Bus support if your platform supports it.
1754 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1755 to the Device Reservation Protocol to speak to JACK, Bluetooth
1756 support and even a native control protocol for communicating and
1757 controling the PulseAudio daemon itself.
1758 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1762 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1763    echo "
1764 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1765 You do not have udev support enabled. It is strongly recommended
1766 that you enable udev support if your platform supports it as it is
1767 the primary method used to detect hardware audio devices (on Linux)
1768 and is thus a critical part of PulseAudio on that platform.
1769 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====