Apply #ifdefs around functionality not available on win32
[platform/upstream/pulseaudio.git] / configure.ac
1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 # This file is part of PulseAudio.
5 #
6 # Copyright 2004-2008 Lennart Poettering
7 # Copyright 2006-2007 Pierre Ossman <ossman@cendio.se> for Cendio AB
8 #
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.
13 #
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.
18 #
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.
22
23 AC_PREREQ(2.63)
24
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])
30
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`)
33
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/])
38
39 AC_SUBST(PA_API_VERSION, 12)
40 AC_SUBST(PA_PROTOCOL_VERSION, 19)
41
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])
45
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])
49
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])
53
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])
57
58 AC_CANONICAL_HOST
59 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
60
61 AC_CHECK_PROG([STOW], [stow], [yes], [no])
62
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}"
66 ])
67
68 AM_SILENT_RULES([yes])
69
70 #### Checks for programs. ####
71
72 # mkdir -p
73
74 AC_PROG_MKDIR_P
75
76 # CC
77
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
83
84 #### Platform hacks ####
85
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
96
97 # M4
98
99 AC_CHECK_PROGS([M4], gm4 m4, no)
100 if test "x$M4" = xno ; then
101    AC_MSG_ERROR([m4 missing])
102 fi
103
104 dnl Compiler flags
105 CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option])
106
107 dnl Linker flags.
108 dnl Check whether the linker supports the -version-script option.
109
110 dnl This variable is used to make sure ${srcdir} is expanded and not
111 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
112 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
113
114 CC_CHECK_LDFLAGS([${tmp_ldflag}],
115     [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
116 AC_SUBST([VERSIONING_LDFLAGS])
117
118 dnl Use immediate (now) bindings; avoids the funky re-call in itself
119 dnl  the -z now syntax is lifted from Sun's linker and works with GNU's too
120 dnl  other linkes might be added later
121 CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"])
122 AC_SUBST([IMMEDIATE_LDFLAGS])
123
124 dnl On ELF systems we don't want the libraries to be unloaded since we
125 dnl don't clean them up properly, so we request the nodelete flag to be
126 dnl enabled.
127 dnl
128 dnl On other systems, we don't really know how to do that, but it's
129 dnl welcome if somebody can tell.
130 CC_CHECK_LDFLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS="-Wl,-z,nodelete"])
131 AC_SUBST([NODELETE_LDFLAGS])
132
133 dnl Check for the proper way to build libraries that have no undefined
134 dnl symbols; on some hosts this needs to be avoided but the macro
135 dnl takes care of it.
136 CC_NOUNDEFINED
137
138 dnl Check whether to build tests by default (as compile-test) or not
139 AC_ARG_ENABLE([default-build-tests],
140     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
141
142 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
143
144 # Native atomic operation support
145 AC_ARG_ENABLE([atomic-arm-linux-helpers],
146     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
147         [
148             case "${enableval}" in
149                 yes) atomic_arm_linux_helpers=yes ;;
150                 no) atomic_arm_linux_helpers=no ;;
151                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
152             esac
153         ],
154         [atomic_arm_linux_helpers=auto])
155
156 AC_ARG_ENABLE([atomic-arm-memory-barrier],
157     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
158         [
159             case "${enableval}" in
160                 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
161                 no) ;;
162                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
163             esac
164         ],)
165
166 AC_MSG_CHECKING([target operating system])
167 case $host in
168         *-*-linux*)
169             AC_MSG_RESULT([linux])
170             pulse_target_os=linux
171         ;;
172         *-*-darwin*)
173             AC_MSG_RESULT([darwin])
174             pulse_target_os=darwin
175         ;;
176         *)
177             AC_MSG_RESULT([unknown])
178             pulse_target_os=unknown
179         ;;
180 esac
181
182 # If everything else fails use libatomic_ops
183 need_libatomic_ops=yes
184
185 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
186   pulseaudio_cv_sync_bool_compare_and_swap,
187   [AC_LINK_IFELSE(
188      AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
189      [pulseaudio_cv_sync_bool_compare_and_swap=yes],
190      [pulseaudio_cv_sync_bool_compare_and_swap=no])
191   ])
192
193 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
194     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
195     need_libatomic_ops=no
196 else
197     # HW specific atomic ops stuff
198     AC_MSG_CHECKING([architecture for native atomic operations])
199     case $host in
200         arm*)
201             AC_MSG_RESULT([arm])
202             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
203             # The Linux kernel helper functions have been there since 2.6.16. However
204             # compile time checking for kernel version in cross compile environment
205             # (which is usually the case for arm cpu) is tricky (or impossible).
206             if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
207                 AC_MSG_RESULT([yes])
208                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
209                 need_libatomic_ops=no
210             else
211                AC_MSG_RESULT([no])
212                AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
213                  pulseaudio_cv_support_arm_atomic_ops,
214                  [AC_COMPILE_IFELSE(
215                     AC_LANG_PROGRAM([],
216                       [[volatile int a=0;
217                         int o=0, n=1, r;
218                         asm volatile ("ldrex    %0, [%1]\n"
219                                          "subs  %0, %0, %2\n"
220                                          "strexeq %0, %3, [%1]\n"
221                                          : "=&r" (r)
222                                          : "r" (&a), "Ir" (o), "r" (n)
223                                          : "cc");
224                         return (a==1 ? 0 : -1);
225                       ]]),
226                     [pulseaudio_cv_support_arm_atomic_ops=yes],
227                     [pulseaudio_cv_support_arm_atomic_ops=no])
228                  ])
229                AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
230                    AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
231                    need_libatomic_ops=no
232                  ])
233            fi
234         ;;
235         *-netbsdelf5*)
236             AC_MSG_RESULT([yes])
237             need_libatomic_ops=no
238         ;;
239         *-freebsd*)
240             AC_MSG_RESULT([yes])
241             need_libatomic_ops=no
242         ;;
243         *)
244             AC_MSG_RESULT([unknown])
245         ;;
246     esac
247 fi
248
249 # If we're on ARM, check for the ARMV6 instructions we need */
250 case $host in
251   arm*)
252     AC_CACHE_CHECK([support for required armv6 instructions],
253       pulseaudio_cv_support_armv6,
254       [AC_COMPILE_IFELSE(
255          AC_LANG_PROGRAM([],
256            [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
257              asm volatile ("ldr r0, %2 \n"
258                            "ldr r2, %3 \n"
259                            "ldr r3, %4 \n"
260                            "ssat r1, #8, r0 \n"
261                            "str r1, %0 \n"
262                            "pkhbt r1, r3, r2, LSL #8 \n"
263                            "str r1, %1 \n"
264                            : "=m" (a), "=m" (b)
265                            : "m" (a), "m" (b), "m" (c)
266                            : "r0", "r1", "r2", "r3", "cc");
267              return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
268            ]]),
269          [pulseaudio_cv_support_armv6=yes],
270          [pulseaudio_cv_support_armv6=no])
271       ])
272     AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
273         AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
274       ])
275   ;;
276   *)
277   ;;
278 esac
279
280 CC_CHECK_TLS
281
282 AC_CACHE_CHECK([whether $CC knows _Bool],
283   pulseaudio_cv__Bool,
284   [AC_COMPILE_IFELSE(
285      AC_LANG_PROGRAM([], [[_Bool b;]]),
286      [pulseaudio_cv__Bool=yes],
287      [pulseaudio_cv__Bool=no])
288   ])
289
290 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
291     AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
292   ])
293
294 #### libtool stuff ####
295 LT_PREREQ(2.2)
296 LT_INIT([dlopen win32-dll disable-static])
297
298 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
299 dnl exactly which version of libltdl is present in the system, so we
300 dnl just assume that it's a working version as long as we have the
301 dnl library and the header files.
302 dnl
303 dnl As an extra safety device, check for lt_dladvise_init() which is
304 dnl only implemented in libtool 2.x, and refine as we go if we have
305 dnl refined requirements.
306 dnl
307 dnl Check the header files first since the system may have a
308 dnl libltdl.so for runtime, but no headers, and we want to bail out as
309 dnl soon as possible.
310 dnl
311 dnl We don't need any special variable for this though, since the user
312 dnl can give the proper place to find libltdl through the standard
313 dnl variables like LDFLAGS and CPPFLAGS.
314
315 AC_CHECK_HEADER([ltdl.h],
316     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
317     [LIBLTDL=])
318
319 AS_IF([test "x$LIBLTDL" = "x"],
320     [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
321 AC_SUBST([LIBLTDL])
322
323 #### Determine build environment ####
324
325 os_is_win32=0
326 os_is_darwin=0
327
328 case "$host_os" in
329         mingw*)
330         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
331         os_is_win32=1
332                 ;;
333         darwin*)
334         AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
335         os_is_darwin=1
336                 ;;
337         esac
338
339 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
340 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
341
342 ###################################
343 #   Basic environment checks      #
344 ###################################
345
346 #### Checks for header files. ####
347
348 # ISO
349 AC_HEADER_STDC
350
351 # POSIX
352 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
353     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
354     sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
355     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
356 AC_CHECK_HEADERS([netinet/ip.h], [], [],
357                  [#include <sys/types.h>
358                   #if HAVE_NETINET_IN_H
359                   # include <netinet/in.h>
360                   #endif
361                   #if HAVE_NETINET_IN_SYSTM_H
362                   # include <netinet/in_systm.h>
363                   #endif
364                  ])
365 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
366 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
367
368 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
369 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
370
371 # Linux
372 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
373
374 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
375
376 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
377
378 # Solaris
379 AC_CHECK_HEADERS_ONCE([sys/filio.h])
380
381 # Windows
382 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
383
384 # NetBSD
385 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
386
387 # Other
388 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
389 AC_CHECK_HEADERS_ONCE([byteswap.h])
390 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
391 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
392 AC_CHECK_HEADERS_ONCE([execinfo.h])
393 AC_CHECK_HEADERS_ONCE([langinfo.h])
394
395 #### Typdefs, structures, etc. ####
396
397 AC_C_CONST
398 AC_C_BIGENDIAN
399 AC_TYPE_PID_T
400 AC_TYPE_SIZE_T
401 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
402     [Define ssize_t if it is not done by the standard libs.])])
403 AC_TYPE_OFF_T
404
405 AC_TYPE_UID_T
406 AC_CHECK_DECLS(environ)
407
408 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
409 HAVE_SIGXCPU=1
410 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
411 ], [HAVE_SIGXCPU=0])
412 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
413
414 # Solaris lacks this
415 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
416     [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
417         [AC_DEFINE([INADDR_NONE],  [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
418
419 #### POSIX threads ####
420
421 ACX_PTHREAD
422
423 #### Check for libs ####
424
425 # ISO
426 AC_SEARCH_LIBS([pow], [m])
427
428 # POSIX
429 AC_SEARCH_LIBS([sched_setscheduler], [rt])
430 AC_SEARCH_LIBS([dlopen], [dl])
431 AC_SEARCH_LIBS([shm_open], [rt])
432 AC_SEARCH_LIBS([inet_ntop], [nsl])
433 AC_SEARCH_LIBS([timer_create], [rt])
434 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
435
436 # BSD
437 AC_SEARCH_LIBS([connect], [socket])
438 AC_SEARCH_LIBS([backtrace], [execinfo])
439
440 # Non-standard
441
442 # This magic is needed so we do not needlessly add static libs to the win32
443 # build, disabling its ability to make dlls.
444 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
445
446 # Darwin/OS X
447 if test "x$os_is_darwin" = "x1" ; then
448     AC_MSG_CHECKING([looking for Apple CoreService Framework])
449     # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
450     AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
451     [LIBS="$LIBS -framework CoreServices"],
452     [AC_MSG_ERROR([CoreServices.h header file not found]) ])
453
454     AC_MSG_RESULT([ok])
455     AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
456     HAVE_BONJOUR=1
457 fi
458
459 AC_SUBST(HAVE_BONJOUR)
460 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
461
462 #### Check for functions ####
463
464 # ISO
465 AC_CHECK_FUNCS_ONCE([lrintf strtof])
466
467 # POSIX
468 AC_FUNC_FORK
469 AC_FUNC_GETGROUPS
470 AC_FUNC_SELECT_ARGTYPES
471 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
472     getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
473     pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
474     sigaction sleep symlink sysconf uname pthread_setaffinity_np])
475 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
476
477 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
478
479 # X/OPEN
480 AC_CHECK_FUNCS_ONCE([readlink])
481
482 # SUSv2
483 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
484
485 # SUSv3
486 AC_CHECK_FUNCS_ONCE([strerror_r])
487
488 # BSD
489 AC_CHECK_FUNCS_ONCE([lstat])
490
491 # Non-standard
492
493 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
494
495 AC_FUNC_ALLOCA
496
497 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
498   pulseaudio_cv_PTHREAD_PRIO_INHERIT,
499   [save_CC=$CC; CC=$PTHREAD_CC
500    save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
501    save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
502    AC_LINK_IFELSE(
503      AC_LANG_PROGRAM(
504        [[
505          #include <pthread.h>
506        ]],
507        [[int i = PTHREAD_PRIO_INHERIT;]]),
508      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
509      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
510    CC=$save_CC
511    CFLAGS=$save_CFLAGS
512    LIBS=$save_LIBS
513   ])
514
515 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
516     AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
517   ])
518
519 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
520
521 #### Large File-Support (LFS) ####
522
523 AC_SYS_LARGEFILE
524
525 # Check for open64 to know if the current system does have open64() and similar functions
526 AC_CHECK_FUNCS_ONCE([open64])
527
528 #### [lib]iconv ####
529
530 AM_ICONV
531
532 IT_PROG_INTLTOOL([0.35.0])
533 GETTEXT_PACKAGE=pulseaudio
534 AC_SUBST([GETTEXT_PACKAGE])
535 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
536 AM_GLIB_GNU_GETTEXT
537
538 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
539 AC_SUBST(pulselocaledir)
540
541 ###################################
542 #      External libraries         #
543 ###################################
544
545 #### pkg-config ####
546
547 PKG_PROG_PKG_CONFIG
548
549 #### X11 (optional) ####
550
551 AC_ARG_ENABLE([x11],
552     AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
553         [
554             case "${enableval}" in
555                 yes) x11=yes ;;
556                 no) x11=no ;;
557                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
558             esac
559         ],
560         [x11=auto])
561
562 if test "x${x11}" != xno ; then
563     PKG_CHECK_MODULES(X11, [ x11-xcb ice sm xtst xcb-atom ],
564         HAVE_X11=1,
565         [
566             HAVE_X11=0
567             if test "x$x11" = xyes ; then
568                 AC_MSG_ERROR([*** X11 not found])
569             fi
570         ])
571 else
572     HAVE_X11=0
573 fi
574
575 if test "x${HAVE_X11}" = x1 ; then
576    AC_DEFINE([HAVE_X11], 1, [Have X11?])
577 fi
578
579 AC_SUBST(X11_CFLAGS)
580 AC_SUBST(X11_LIBS)
581 AC_SUBST(HAVE_X11)
582 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
583
584 #### Capabilities (optional) ####
585
586 CAP_LIBS=''
587
588 AC_ARG_WITH(
589         [caps],
590         AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
591
592 if test "x${with_caps}" != "xno"; then
593     AC_SEARCH_LIBS([cap_init], [cap], [], [
594                     if test "x${with_caps}" = "xyes" ; then
595                         AC_MSG_ERROR([*** POSIX caps libraries not found])
596                     fi])
597     AC_CHECK_HEADERS([sys/capability.h], [], [
598                     if test "x${with_caps}" = "xyes" ; then
599                         AC_MSG_ERROR([*** POSIX caps headers not found])
600                     fi])
601 fi
602
603 #### Valgrind (optional) ####
604
605 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
606
607 #### Sound file ####
608
609 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
610 AC_SUBST(LIBSNDFILE_CFLAGS)
611 AC_SUBST(LIBSNDFILE_LIBS)
612
613 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
614 AC_SUBST(LIBSPEEX_CFLAGS)
615 AC_SUBST(LIBSPEEX_LIBS)
616
617 #### atomic-ops ###
618
619 AC_MSG_CHECKING([whether we need libatomic_ops])
620 if test "x$need_libatomic_ops" = "xyes"; then
621    AC_MSG_RESULT([yes])
622    AC_CHECK_HEADERS([atomic_ops.h], [], [
623    AC_MSG_ERROR([*** libatomic-ops headers not found])
624    ])
625
626    # Win32 does not need the lib and breaks horribly if we try to include it
627    if test "x$os_is_win32" != "x1" ; then
628        LIBS="$LIBS -latomic_ops"
629    fi
630 else
631    AC_MSG_RESULT([no])
632 fi
633
634 #### Libsamplerate support (optional) ####
635
636 AC_ARG_ENABLE([samplerate],
637     AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
638         [
639             case "${enableval}" in
640                 yes) samplerate=yes ;;
641                 no) samplerate=no ;;
642                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
643             esac
644         ],
645         [samplerate=auto])
646
647 if test "x${samplerate}" != xno ; then
648     PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
649         HAVE_LIBSAMPLERATE=1,
650         [
651             HAVE_LIBSAMPLERATE=0
652             if test "x$samplerate" = xyes ; then
653                 AC_MSG_ERROR([*** Libsamplerate not found])
654             fi
655         ])
656 else
657     HAVE_LIBSAMPLERATE=0
658 fi
659
660 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
661    AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
662 fi
663
664 AC_SUBST(LIBSAMPLERATE_CFLAGS)
665 AC_SUBST(LIBSAMPLERATE_LIBS)
666 AC_SUBST(HAVE_LIBSAMPLERATE)
667 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
668
669 #### Database support ####
670
671 HAVE_TDB=0
672 HAVE_GDBM=0
673 HAVE_SIMPLEDB=0
674
675 AC_ARG_WITH(
676         [database],
677         AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
678
679 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
680     PKG_CHECK_MODULES(TDB, [ tdb ],
681         [
682             HAVE_TDB=1
683             with_database=tdb
684         ], [
685             if test "x${with_database}" = "xtdb" ; then
686                 AC_MSG_ERROR([*** tdb not found])
687             fi
688         ])
689 fi
690
691 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
692    have_gdbm=yes
693
694    AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
695    AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
696
697    if test "x${have_gdbm}" = "xyes" ; then
698        HAVE_GDBM=1
699        GDBM_CFLAGS=
700        GDBM_LIBS=-lgdbm
701        with_database=gdbm
702    elif test "x${with_database}" = "xgdbm"; then
703        AC_MSG_ERROR([*** gdbm not found])
704    fi
705 fi
706
707 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xsimple" ; then
708     HAVE_SIMPLEDB=1
709     with_database=simple
710 fi
711
712 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1 -a "x${HAVE_SIMPLEDB}" != x1; then
713    AC_MSG_ERROR([*** missing database backend])
714 fi
715
716 if test "x${HAVE_TDB}" = x1 ; then
717    AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
718 fi
719
720 if test "x${HAVE_GDBM}" = x1 ; then
721    AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
722 fi
723
724 if test "x${HAVE_SIMPLEDB}" = x1 ; then
725     AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?])
726 fi
727
728 AC_SUBST(TDB_CFLAGS)
729 AC_SUBST(TDB_LIBS)
730 AC_SUBST(HAVE_TDB)
731 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
732
733 AC_SUBST(GDBM_CFLAGS)
734 AC_SUBST(GDBM_LIBS)
735 AC_SUBST(HAVE_GDBM)
736 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
737
738 AC_SUBST(HAVE_SIMPLEDB)
739 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
740
741 #### OSS support (optional) ####
742
743 AC_ARG_ENABLE([oss-output],
744     AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]),
745         [
746             case "${enableval}" in
747                 yes) oss_output=yes ;;
748                 no) oss_output=no ;;
749                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-output) ;;
750             esac
751         ],
752         [oss_output=auto])
753
754 AC_ARG_ENABLE([oss-wrapper],
755     AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]),
756         [
757             case "${enableval}" in
758                 yes) oss_wrapper=yes ;;
759                 no) oss_wrapper=no ;;
760                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-wrapper) ;;
761             esac
762         ],
763         [oss_wrapper=auto])
764
765 if test "x${oss_output}" != xno || test "x${oss_wrapper}" != "xno"; then
766     AC_CHECK_HEADERS([sys/soundcard.h],
767         [
768             if test "x${oss_output}" != "xno"; then
769                 AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])
770             fi
771             if test "x${oss_wrapper}" != "xno"; then
772                 AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?])
773             fi
774             HAVE_OSS=1
775         ],
776         [
777             HAVE_OSS=0
778             if test "x$oss_output" = xyes || test "x$oss_wrapper" = "xyes"; then
779                 AC_MSG_ERROR([*** OSS support not found])
780             fi
781         ])
782 else
783     HAVE_OSS=0
784 fi
785
786 AC_SUBST(HAVE_OSS)
787 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"])
788 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])
789
790 #### CoreAudio support (optional) ####
791
792 AC_ARG_ENABLE([coreaudio-output],
793     AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]),
794         [
795             case "${enableval}" in
796                 yes) coreaudio_enabled=yes ;;
797                 no) coreaudio_enabled=no ;;
798                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-coreaudio-output) ;;
799             esac
800         ],
801         [coreaudio_enabled=auto])
802
803 if test "x${coreaudio_enabled}" != xno ; then
804     AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1)
805 else
806     HAVE_COREAUDIO=0
807 fi
808
809 AC_SUBST(HAVE_COREAUDIO)
810 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = x1 && test "x${coreaudio_enabled}" != "xno"])
811
812 #### ALSA support (optional) ####
813
814 AC_ARG_ENABLE([alsa],
815     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
816         [
817             case "${enableval}" in
818                 yes) alsa=yes ;;
819                 no) alsa=no ;;
820                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
821             esac
822         ],
823         [alsa=auto])
824
825 if test "x${alsa}" != xno ; then
826     PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
827         [
828             HAVE_ALSA=1
829             AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
830         ],
831         [
832             HAVE_ALSA=0
833             if test "x$alsa" = xyes ; then
834                 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
835             fi
836         ])
837 else
838     HAVE_ALSA=0
839 fi
840
841 AC_SUBST(ASOUNDLIB_CFLAGS)
842 AC_SUBST(ASOUNDLIB_LIBS)
843 AC_SUBST(HAVE_ALSA)
844 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
845
846 #### Solaris audio support (optional) ####
847
848 AC_ARG_ENABLE([solaris],
849     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
850         [
851             case "${enableval}" in
852                 yes) solaris=yes ;;
853                 no) solaris=no ;;
854                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
855             esac
856         ],
857         [solaris=auto])
858
859 if test "x${solaris}" != xno ; then
860     AC_CHECK_HEADERS([sys/audio.h],
861         [
862             HAVE_SOLARIS=1
863             AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
864         ],
865         [
866             HAVE_SOLARIS=0
867             if test "x$solaris" = xyes ; then
868                 AC_MSG_ERROR([*** Solaris audio support not found])
869             fi
870         ])
871 else
872     HAVE_SOLARIS=0
873 fi
874
875 AC_SUBST(HAVE_SOLARIS)
876 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
877
878 #### GLib 2 support (optional) ####
879
880 AC_ARG_ENABLE([glib2],
881     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
882         [
883             case "${enableval}" in
884                 yes) glib2=yes ;;
885                 no) glib2=no ;;
886                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
887             esac
888         ],
889         [glib2=auto])
890
891 if test "x${glib2}" != xno ; then
892     PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
893         HAVE_GLIB20=1,
894         [
895             HAVE_GLIB20=0
896             if test "x$glib2" = xyes ; then
897                 AC_MSG_ERROR([*** GLib 2 support not found])
898             fi
899         ])
900 else
901     HAVE_GLIB20=0
902 fi
903
904 AC_SUBST(GLIB20_CFLAGS)
905 AC_SUBST(GLIB20_LIBS)
906 AC_SUBST(HAVE_GLIB20)
907 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
908
909 if test "x$HAVE_GLIB20" = x1 ; then
910    AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
911 fi
912
913 #### GTK2 support (optional) ####
914
915 AC_ARG_ENABLE([gtk2],
916     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
917         [
918             case "${enableval}" in
919                 yes) gtk2=yes ;;
920                 no) gtk2=no ;;
921                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
922             esac
923         ],
924         [gtk2=auto])
925
926 if test "x${gtk2}" != xno ; then
927     PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
928         HAVE_GTK20=1,
929         [
930             HAVE_GTK20=0
931             if test "x$gtk2" = xyes ; then
932                 AC_MSG_ERROR([*** Gtk+ 2 support not found])
933             fi
934         ])
935 else
936     HAVE_GTK20=0
937 fi
938
939 AC_SUBST(GTK20_CFLAGS)
940 AC_SUBST(GTK20_LIBS)
941 AC_SUBST(HAVE_GTK20)
942 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
943
944 if test "x$HAVE_GTK20" = x1 ; then
945    AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
946 fi
947
948 #### GConf support (optional) ####
949
950 AC_ARG_ENABLE([gconf],
951     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
952         [
953             case "${enableval}" in
954                 yes) gconf=yes ;;
955                 no) gconf=no ;;
956                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
957             esac
958         ],
959         [gconf=auto])
960
961 if test "x${gconf}" != xno ; then
962     PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ],
963         HAVE_GCONF=1,
964         [
965             HAVE_GCONF=0
966             if test "x$gconf" = xyes ; then
967                 AC_MSG_ERROR([*** GConf support not found])
968             fi
969         ])
970 else
971     HAVE_GCONF=0
972 fi
973
974 AC_SUBST(GCONF_CFLAGS)
975 AC_SUBST(GCONF_LIBS)
976 AC_SUBST(HAVE_GCONF)
977 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
978
979 #### Avahi support (optional) ####
980
981 AC_ARG_ENABLE([avahi],
982     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
983         [
984             case "${enableval}" in
985                 yes) avahi=yes ;;
986                 no) avahi=no ;;
987                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
988             esac
989         ],
990         [avahi=auto])
991
992 if test "x${avahi}" != xno ; then
993     PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
994         HAVE_AVAHI=1,
995         [
996                 HAVE_AVAHI=0
997                 if test "x$avahi" = xyes ; then
998                         AC_MSG_ERROR([*** Avahi support not found])
999                 fi
1000         ])
1001 else
1002     HAVE_AVAHI=0
1003 fi
1004
1005 AC_SUBST(AVAHI_CFLAGS)
1006 AC_SUBST(AVAHI_LIBS)
1007 AC_SUBST(HAVE_AVAHI)
1008 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
1009
1010 ### JACK (optional) ####
1011
1012 AC_ARG_ENABLE([jack],
1013     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
1014         [
1015             case "${enableval}" in
1016                 yes) jack=yes ;;
1017                 no) jack=no ;;
1018                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
1019             esac
1020         ],
1021         [jack=auto])
1022
1023 if test "x${jack}" != xno ; then
1024     PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
1025         HAVE_JACK=1,
1026         [
1027             HAVE_JACK=0
1028             if test "x$jack" = xyes ; then
1029                 AC_MSG_ERROR([*** JACK support not found])
1030             fi
1031         ])
1032 else
1033     HAVE_JACK=0
1034 fi
1035
1036 AC_SUBST(JACK_CFLAGS)
1037 AC_SUBST(JACK_LIBS)
1038 AC_SUBST(HAVE_JACK)
1039 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
1040
1041 #### Async DNS support (optional) ####
1042
1043 AC_ARG_ENABLE([asyncns],
1044     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
1045         [
1046             case "${enableval}" in
1047                 yes) asyncns=yes ;;
1048                 no) asyncns=no ;;
1049                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
1050             esac
1051         ],
1052         [asyncns=auto])
1053
1054 if test "x${asyncns}" != xno ; then
1055     PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
1056         HAVE_LIBASYNCNS=1,
1057         [
1058             HAVE_LIBASYNCNS=0
1059             if test "x$asyncns" = xyes ; then
1060                 AC_MSG_ERROR([*** Async DNS support not found])
1061             fi
1062         ])
1063 else
1064     HAVE_LIBASYNCNS=0
1065 fi
1066
1067 AC_SUBST(LIBASYNCNS_CFLAGS)
1068 AC_SUBST(LIBASYNCNS_LIBS)
1069 AC_SUBST(HAVE_LIBASYNCNS)
1070 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
1071
1072 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
1073    AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
1074 fi
1075
1076 #### TCP wrappers (optional) ####
1077
1078 AC_ARG_ENABLE([tcpwrap],
1079     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
1080         [
1081             case "${enableval}" in
1082                 yes) tcpwrap=yes ;;
1083                 no) tcpwrap=no ;;
1084                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
1085             esac
1086         ],
1087         [tcpwrap=auto])
1088
1089 if test "x${tcpwrap}" != xno ; then
1090     ACX_LIBWRAP
1091     if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
1092         AC_MSG_ERROR([*** TCP wrappers support not found])
1093     fi
1094 else
1095     LIBWRAP_LIBS=
1096 fi
1097
1098 AC_SUBST(LIBWRAP_LIBS)
1099
1100 #### LIRC support (optional) ####
1101
1102 AC_ARG_ENABLE([lirc],
1103     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1104         [
1105             case "${enableval}" in
1106                 yes) lirc=yes ;;
1107                 no) lirc=no ;;
1108                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1109             esac
1110         ],
1111         [lirc=auto])
1112
1113 if test "x${lirc}" != xno ; then
1114     ACX_LIRC
1115     if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1116         AC_MSG_ERROR([*** LIRC support not found])
1117     fi
1118 else
1119     HAVE_LIRC=0
1120 fi
1121
1122 AC_SUBST(LIRC_CFLAGS)
1123 AC_SUBST(LIRC_LIBS)
1124 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1125
1126 #### HAL support (optional) ####
1127
1128 AC_ARG_ENABLE([hal],
1129     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1130         [
1131             case "${enableval}" in
1132                 yes) hal=yes ;;
1133                 no) hal=no ;;
1134                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1135             esac
1136         ],
1137         [hal=auto])
1138 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1139     PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1140         [
1141             HAVE_HAL=1
1142             AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1143         ],
1144         [
1145             HAVE_HAL=0
1146             if test "x$hal" = xyes ; then
1147                 AC_MSG_ERROR([*** HAL support not found])
1148             fi
1149         ])
1150 else
1151     HAVE_HAL=0
1152 fi
1153
1154 AC_SUBST(HAL_CFLAGS)
1155 AC_SUBST(HAL_LIBS)
1156 AC_SUBST(HAVE_HAL)
1157 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1158
1159 #### UDEV support (optional) ####
1160
1161 AC_ARG_ENABLE([udev],
1162     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1163         [
1164             case "${enableval}" in
1165                 yes) udev=yes ;;
1166                 no) udev=no ;;
1167                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1168             esac
1169         ],
1170         [udev=auto])
1171 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1172     PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1173         [
1174             HAVE_UDEV=1
1175             AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1176         ],
1177         [
1178             HAVE_UDEV=0
1179             if test "x$udev" = xyes ; then
1180                 AC_MSG_ERROR([*** UDEV support not found])
1181             fi
1182         ])
1183 else
1184     HAVE_UDEV=0
1185 fi
1186
1187 AC_SUBST(UDEV_CFLAGS)
1188 AC_SUBST(UDEV_LIBS)
1189 AC_SUBST(HAVE_UDEV)
1190 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1191
1192 #### BlueZ support (optional) ####
1193
1194 AC_ARG_ENABLE([bluez],
1195     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1196         [
1197             case "${enableval}" in
1198                 yes) bluez=yes ;;
1199                 no) bluez=no ;;
1200                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1201             esac
1202         ],
1203         [bluez=auto])
1204 if test "x${bluez}" != xno ; then
1205     PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1206         HAVE_BLUEZ=1,
1207         [
1208             HAVE_BLUEZ=0
1209             if test "x$bluez" = xyes ; then
1210                 AC_MSG_ERROR([*** BLUEZ support not found])
1211             fi
1212         ])
1213 else
1214     HAVE_BLUEZ=0
1215 fi
1216
1217 AC_SUBST(BLUEZ_CFLAGS)
1218 AC_SUBST(BLUEZ_LIBS)
1219 AC_SUBST(HAVE_BLUEZ)
1220 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1221
1222 #### D-Bus support (optional) ####
1223
1224 AC_ARG_ENABLE([dbus],
1225     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1226         [
1227             case "${enableval}" in
1228                 yes) dbus=yes ;;
1229                 no) dbus=no ;;
1230                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1231             esac
1232         ],
1233         [dbus=auto])
1234
1235 if test "x${dbus}" != xno ; then
1236
1237     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1238         [
1239             HAVE_DBUS=1
1240             saved_LIBS="$LIBS"
1241             LIBS="$LIBS $DBUS_LIBS"
1242             CFLAGS="$CFLAGS $DBUS_CFLAGS"
1243             AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1244             LIBS="$saved_LIBS"
1245             AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1246         ],
1247         [
1248             HAVE_DBUS=0
1249             if test "x$dbus" = xyes ; then
1250                 AC_MSG_ERROR([*** D-Bus support not found])
1251             fi
1252         ])
1253 else
1254     HAVE_DBUS=0
1255 fi
1256
1257 AC_SUBST(DBUS_CFLAGS)
1258 AC_SUBST(DBUS_LIBS)
1259 AC_SUBST(HAVE_DBUS)
1260 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1261
1262
1263 # udev and HAL depend on DBUS: So double check if they were explicitly enabled.
1264 if test "x$HAVE_DBUS" != "x1" ; then
1265     HAVE_HAL=0
1266     if test "x${hal}" = xyes ; then
1267         AC_MSG_ERROR([*** D-Bus support is required by HAL])
1268     fi
1269
1270     HAVE_BLUEZ=0
1271     if test "x${bluez}" = xyes ; then
1272         AC_MSG_ERROR([*** D-Bus support is required by BLUEZ])
1273     fi
1274 fi
1275
1276
1277 #### HAL compat support (optional) ####
1278
1279 AC_ARG_ENABLE([hal-compat],
1280     AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]),
1281         [
1282             case "${enableval}" in
1283                 yes) halcompat=yes ;;
1284                 no) halcompat=no ;;
1285                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal-compat) ;;
1286             esac
1287         ],
1288         [halcompat=auto])
1289 if test "x${halcompat}" != xno -a "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1" ; then
1290     HAVE_HAL_COMPAT=1
1291     AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.])
1292 else
1293     HAVE_HAL_COMPAT=0
1294 fi
1295
1296 AC_SUBST(HAVE_HAL_COMPAT)
1297 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1298
1299 ### IPv6 connection support (optional) ###
1300
1301 AC_ARG_ENABLE([ipv6],
1302     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1303         [
1304             case "${enableval}" in
1305                 yes) ipv6=yes ;;
1306                 no) ipv6=no ;;
1307                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1308             esac
1309         ],
1310         [ipv6=auto])
1311
1312 if test "x${ipv6}" != xno ; then
1313     AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1314     HAVE_IPV6=1
1315 else
1316     HAVE_IPV6=0
1317 fi
1318
1319 #### OpenSSL support (optional) ####
1320
1321 AC_ARG_ENABLE([openssl],
1322     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1323         [
1324             case "${enableval}" in
1325                 yes) openssl=yes ;;
1326                 no) openssl=no ;;
1327                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1328             esac
1329         ],
1330         [openssl=auto])
1331
1332 if test "x${openssl}" != xno ; then
1333
1334     PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1335         [
1336             HAVE_OPENSSL=1
1337             AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1338         ],
1339         [
1340             HAVE_OPENSSL=0
1341             if test "x$openssl" = xyes ; then
1342                 AC_MSG_ERROR([*** OpenSSL support not found])
1343             fi
1344         ])
1345 else
1346     HAVE_OPENSSL=0
1347 fi
1348
1349 AC_SUBST(OPENSSL_CFLAGS)
1350 AC_SUBST(OPENSSL_LIBS)
1351 AC_SUBST(HAVE_OPENSSL)
1352 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1353
1354 #### FFTW (optional) ####
1355 AC_ARG_WITH(
1356         [fftw],
1357         AS_HELP_STRING([--without-fftw], [Omit FFTW-using modules (equalizer)]))
1358
1359 if test "x${with_fftw}" != "xno"; then
1360     PKG_CHECK_MODULES([FFTW], [fftw3f], [HAVE_FFTW=1], [HAVE_FFTW=0])
1361 fi
1362 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1363
1364 ### ORC (optional) ###
1365 ORC_CHECK([0.4.9])
1366
1367 ### Build and Install man pages ###
1368 AC_ARG_ENABLE(manpages,
1369         AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1370 [case "${enableval}" in
1371   yes) manpages=yes ;;
1372   no)  manpages=no ;;
1373   *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1374 esac],[manpages=yes])
1375
1376 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1377
1378 #### PulseAudio system group & user  #####
1379
1380 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1381 if test -z "$with_system_user" ; then
1382     PA_SYSTEM_USER=pulse
1383 else
1384     PA_SYSTEM_USER=$with_system_user
1385 fi
1386 AC_SUBST(PA_SYSTEM_USER)
1387 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1388
1389 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1390 if test -z "$with_system_group" ; then
1391     PA_SYSTEM_GROUP=pulse
1392 else
1393     PA_SYSTEM_GROUP=$with_system_group
1394 fi
1395 AC_SUBST(PA_SYSTEM_GROUP)
1396 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1397
1398 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)]))
1399 if test -z "$with_access_group" ; then
1400     PA_ACCESS_GROUP=pulse-access
1401 else
1402     PA_ACCESS_GROUP=$with_access_group
1403 fi
1404 AC_SUBST(PA_ACCESS_GROUP)
1405 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1406
1407 AC_ARG_ENABLE(
1408         per_user_esound_socket,
1409         AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1410         [
1411             case "${enableval}" in
1412                 yes) per_user_esound_socket=1 ;;
1413                 no) per_user_esound_socket=0 ;;
1414                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1415             esac
1416         ],
1417         [per_user_esound_socket=1])
1418
1419 if test "x$per_user_esound_socket" = "x1"; then
1420    AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1421 fi
1422
1423 #### PulseAudio system runtime dir ####
1424 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1425 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1426 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1427 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1428 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1429 AC_SUBST(PA_SYSTEM_STATE_PATH)
1430
1431 ###################################
1432 #            Output               #
1433 ###################################
1434
1435 AC_ARG_ENABLE([legacy-runtime-dir],
1436         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1437 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1438         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1439 fi
1440
1441 AC_ARG_ENABLE(
1442         [static-bins],
1443         AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1444         [STATIC_BINS=1], [STATIC_BINS=0])
1445 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1446
1447 AC_ARG_WITH(
1448         [preopen-mods],
1449         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1450         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1451 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1452 if test "x$PREOPEN_MODS" != "xall" ; then
1453     tmpLIBS=""
1454     for mod in $PREOPEN_MODS; do
1455         tmpLIBS="$tmpLIBS module-$mod.la"
1456     done
1457     PREOPEN_MODS="$tmpLIBS"
1458     AC_SUBST(PREOPEN_MODS)
1459 fi
1460
1461 AC_ARG_WITH(
1462         [module-dir],
1463         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1464         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1465
1466 AC_SUBST(modlibexecdir)
1467
1468 AC_ARG_WITH(
1469         [udev-rules-dir],
1470         AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1471         [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1472
1473 AC_SUBST(udevrulesdir)
1474
1475 AC_ARG_ENABLE(
1476         [force-preopen],
1477         AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1478         [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1479 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1480
1481 AC_CONFIG_FILES([
1482 Makefile
1483 src/Makefile
1484 man/Makefile
1485 libpulse.pc
1486 libpulse-simple.pc
1487 libpulse-browse.pc
1488 libpulse-mainloop-glib.pc
1489 doxygen/Makefile
1490 doxygen/doxygen.conf
1491 src/pulse/version.h
1492 po/Makefile.in
1493 ])
1494
1495 AC_OUTPUT
1496
1497 # ==========================================================================
1498 ENABLE_X11=no
1499 if test "x$HAVE_X11" = "x1" ; then
1500    ENABLE_X11=yes
1501 fi
1502
1503 ENABLE_OSS_OUTPUT=no
1504 ENABLE_OSS_WRAPPER=no
1505 if test "x$HAVE_OSS" = "x1" ; then
1506    if test "x$enable_oss_output" != "xno"; then
1507       ENABLE_OSS_OUTPUT=yes
1508    fi
1509    if test "x$enable_oss_wrapper" != "xno"; then
1510       ENABLE_OSS_WRAPPER=yes
1511    fi
1512 fi
1513
1514 ENABLE_COREAUDIO=no
1515 if test "x$HAVE_COREAUDIO" = "x1" ; then
1516    ENABLE_COREAUDIO=yes
1517 fi
1518
1519 ENABLE_ALSA=no
1520 if test "x$HAVE_ALSA" = "x1" ; then
1521    ENABLE_ALSA=yes
1522 fi
1523
1524 ENABLE_SOLARIS=no
1525 if test "x$HAVE_SOLARIS" = "x1" ; then
1526    ENABLE_SOLARIS=yes
1527 fi
1528
1529 ENABLE_GTK20=no
1530 if test "x$HAVE_GTK20" = "x1" ; then
1531    ENABLE_GTK20=yes
1532 fi
1533
1534 ENABLE_GLIB20=no
1535 if test "x$HAVE_GLIB20" = "x1" ; then
1536    ENABLE_GLIB20=yes
1537 fi
1538
1539 ENABLE_GCONF=no
1540 if test "x$HAVE_GCONF" = "x1" ; then
1541    ENABLE_GCONF=yes
1542 fi
1543
1544 ENABLE_AVAHI=no
1545 if test "x$HAVE_AVAHI" = "x1" ; then
1546    ENABLE_AVAHI=yes
1547 fi
1548
1549 ENABLE_JACK=no
1550 if test "x$HAVE_JACK" = "x1" ; then
1551    ENABLE_JACK=yes
1552 fi
1553
1554 ENABLE_LIBASYNCNS=no
1555 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1556    ENABLE_LIBASYNCNS=yes
1557 fi
1558
1559 ENABLE_LIRC=no
1560 if test "x$HAVE_LIRC" = "x1" ; then
1561    ENABLE_LIRC=yes
1562 fi
1563
1564 ENABLE_DBUS=no
1565 if test "x$HAVE_DBUS" = "x1" ; then
1566    ENABLE_DBUS=yes
1567 fi
1568
1569 ENABLE_HAL=no
1570 if test "x$HAVE_HAL" = "x1" ; then
1571    ENABLE_HAL=yes
1572 fi
1573
1574 ENABLE_UDEV=no
1575 if test "x$HAVE_UDEV" = "x1" ; then
1576    ENABLE_UDEV=yes
1577 fi
1578
1579 ENABLE_HAL_COMPAT=no
1580 if test "x$HAVE_HAL_COMPAT" = "x1" ; then
1581    ENABLE_HAL_COMPAT=yes
1582 fi
1583
1584 ENABLE_TCPWRAP=no
1585 if test "x${LIBWRAP_LIBS}" != x ; then
1586    ENABLE_TCPWRAP=yes
1587 fi
1588
1589 ENABLE_LIBSAMPLERATE=no
1590 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1591    ENABLE_LIBSAMPLERATE=yes
1592 fi
1593
1594 ENABLE_BLUEZ=no
1595 if test "x${HAVE_BLUEZ}" = "x1" ; then
1596    ENABLE_BLUEZ=yes
1597 fi
1598
1599 ENABLE_GDBM=no
1600 if test "x${HAVE_GDBM}" = "x1" ; then
1601    ENABLE_GDBM=yes
1602 fi
1603
1604 ENABLE_TDB=no
1605 if test "x${HAVE_TDB}" = "x1" ; then
1606    ENABLE_TDB=yes
1607 fi
1608
1609 ENABLE_SIMPLEDB=no
1610 if test "x${HAVE_SIMPLEDB}" = "x1" ; then
1611     ENABLE_SIMPLEDB=yes
1612 fi
1613
1614 ENABLE_FFTW=no
1615 if test "x${HAVE_FFTW}" = "x1" ; then
1616    ENABLE_FFTW=yes
1617 fi
1618
1619 ENABLE_ORC=no
1620 if test "x${HAVE_ORC}" = "xyes" ; then
1621    ENABLE_ORC=yes
1622 fi
1623
1624 ENABLE_OPENSSL=no
1625 if test "x${HAVE_OPENSSL}" = "x1" ; then
1626    ENABLE_OPENSSL=yes
1627 fi
1628
1629 ENABLE_IPV6=no
1630 if test "x${HAVE_IPV6}" = "x1" ; then
1631    ENABLE_IPV6=yes
1632 fi
1633
1634 ENABLE_PER_USER_ESOUND_SOCKET=no
1635 if test "x$per_user_esound_socket" = "x1" ; then
1636    ENABLE_PER_USER_ESOUND_SOCKET=yes
1637 fi
1638
1639 echo "
1640  ---{ $PACKAGE_NAME $VERSION }---
1641
1642     prefix:                        ${prefix}
1643     sysconfdir:                    ${sysconfdir}
1644     localstatedir:                 ${localstatedir}
1645     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1646     System State Path:             ${PA_SYSTEM_STATE_PATH}
1647     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1648     Compiler:                      ${CC}
1649     CFLAGS:                        ${CFLAGS}
1650
1651     Have X11:                      ${ENABLE_X11}
1652     Enable OSS Output:             ${ENABLE_OSS_OUTPUT}
1653     Enable OSS Wrapper:            ${ENABLE_OSS_WRAPPER}
1654     Enable CoreAudio:              ${ENABLE_COREAUDIO}
1655     Enable Alsa:                   ${ENABLE_ALSA}
1656     Enable Solaris:                ${ENABLE_SOLARIS}
1657     Enable GLib 2.0:               ${ENABLE_GLIB20}
1658     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1659     Enable GConf:                  ${ENABLE_GCONF}
1660     Enable Avahi:                  ${ENABLE_AVAHI}
1661     Enable Jack:                   ${ENABLE_JACK}
1662     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1663     Enable LIRC:                   ${ENABLE_LIRC}
1664     Enable DBUS:                   ${ENABLE_DBUS}
1665       Enable HAL:                  ${ENABLE_HAL}
1666       Enable BlueZ:                ${ENABLE_BLUEZ}
1667     Enable udev:                   ${ENABLE_UDEV}
1668       Enable HAL->udev compat:     ${ENABLE_HAL_COMPAT}
1669     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1670     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1671     Enable IPv6:                   ${ENABLE_IPV6}
1672     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1673     Enable tdb:                    ${ENABLE_TDB}
1674     Enable gdbm:                   ${ENABLE_GDBM}
1675     Enable simple database:        ${ENABLE_SIMPLEDB}
1676     Enable fftw:                   ${ENABLE_FFTW}
1677     Enable orc:                    ${ENABLE_ORC}
1678
1679     System User:                   ${PA_SYSTEM_USER}
1680     System Group:                  ${PA_SYSTEM_GROUP}
1681     Access Group:                  ${PA_ACCESS_GROUP}
1682     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1683     Force preopen:                 ${FORCE_PREOPEN}
1684     Preopened modules:             ${PREOPEN_MODS}
1685 "
1686
1687 if test "${ENABLE_DBUS}" = "no" ; then
1688    echo "
1689 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1690 You do not have DBUS support enabled. It is strongly recommended
1691 that you enable DBUS support if you platform supports it.
1692 Many parts of PulseAudio use udev, from Console Kit interaction
1693 to the Device Reservation Protocol to speak to JACK, Bluetooth
1694 support and even a native control protocol for communicating and
1695 controling the PulseAudio daemon itself.
1696 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1697 "
1698 fi
1699
1700 if test "${ENABLE_UDEV}" = "no" ; then
1701    echo "
1702 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1703 You do not have udev support enabled. It is strongly recommended
1704 that you enable udev support if you platform supports it as it is
1705 the primary method used to detect hardware audio devices (on Linux)
1706 and is thus a critical part of PulseAudio on that platform.
1707 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1708 "
1709 fi