]> code.delx.au - pulseaudio/blob - configure.ac
Merge commit 'e4979ab5cff84ef64c88bba3a1b6b4c5e02f7777'
[pulseaudio] / 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
394 #### Typdefs, structures, etc. ####
395
396 AC_C_CONST
397 AC_C_BIGENDIAN
398 AC_TYPE_PID_T
399 AC_TYPE_SIZE_T
400 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
401 [Define ssize_t if it is not done by the standard libs.])])
402 AC_TYPE_OFF_T
403
404 AC_TYPE_UID_T
405 AC_CHECK_DECLS(environ)
406
407 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
408 HAVE_SIGXCPU=1
409 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
410 ], [HAVE_SIGXCPU=0])
411 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
412
413 # Solaris lacks this
414 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
415 [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
416 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
417
418 #### POSIX threads ####
419
420 ACX_PTHREAD
421
422 #### Check for libs ####
423
424 # ISO
425 AC_SEARCH_LIBS([pow], [m])
426
427 # POSIX
428 AC_SEARCH_LIBS([sched_setscheduler], [rt])
429 AC_SEARCH_LIBS([dlopen], [dl])
430 AC_SEARCH_LIBS([shm_open], [rt])
431 AC_SEARCH_LIBS([inet_ntop], [nsl])
432 AC_SEARCH_LIBS([timer_create], [rt])
433 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
434
435 # BSD
436 AC_SEARCH_LIBS([connect], [socket])
437 AC_SEARCH_LIBS([backtrace], [execinfo])
438
439 # Non-standard
440
441 # This magic is needed so we do not needlessly add static libs to the win32
442 # build, disabling its ability to make dlls.
443 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
444
445 # Darwin/OS X
446 if test "x$os_is_darwin" = "x1" ; then
447 AC_MSG_CHECKING([looking for Apple CoreService Framework])
448 # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
449 AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
450 [LIBS="$LIBS -framework CoreServices"],
451 [AC_MSG_ERROR([CoreServices.h header file not found]) ])
452
453 AC_MSG_RESULT([ok])
454 AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
455 HAVE_BONJOUR=1
456 fi
457
458 AC_SUBST(HAVE_BONJOUR)
459 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
460
461 #### Check for functions ####
462
463 # ISO
464 AC_CHECK_FUNCS_ONCE([lrintf strtof])
465
466 # POSIX
467 AC_FUNC_FORK
468 AC_FUNC_GETGROUPS
469 AC_FUNC_SELECT_ARGTYPES
470 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
471 getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
472 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
473 sigaction sleep sysconf pthread_setaffinity_np])
474 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
475
476 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
477
478 # X/OPEN
479 AC_CHECK_FUNCS_ONCE([readlink])
480
481 # SUSv2
482 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
483
484 # SUSv3
485 AC_CHECK_FUNCS_ONCE([strerror_r])
486
487 # BSD
488 AC_CHECK_FUNCS_ONCE([lstat])
489
490 # Non-standard
491
492 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
493
494 AC_FUNC_ALLOCA
495
496 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
497 pulseaudio_cv_PTHREAD_PRIO_INHERIT,
498 [save_CC=$CC; CC=$PTHREAD_CC
499 save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
500 save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
501 AC_LINK_IFELSE(
502 AC_LANG_PROGRAM(
503 [[
504 #include <pthread.h>
505 ]],
506 [[int i = PTHREAD_PRIO_INHERIT;]]),
507 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
508 [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
509 CC=$save_CC
510 CFLAGS=$save_CFLAGS
511 LIBS=$save_LIBS
512 ])
513
514 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
515 AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
516 ])
517
518 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
519
520 #### Large File-Support (LFS) ####
521
522 AC_SYS_LARGEFILE
523
524 # Check for open64 to know if the current system does have open64() and similar functions
525 AC_CHECK_FUNCS_ONCE([open64])
526
527 #### [lib]iconv ####
528
529 AM_ICONV
530
531 IT_PROG_INTLTOOL([0.35.0])
532 GETTEXT_PACKAGE=pulseaudio
533 AC_SUBST([GETTEXT_PACKAGE])
534 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
535 AM_GLIB_GNU_GETTEXT
536
537 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
538 AC_SUBST(pulselocaledir)
539
540 ###################################
541 # External libraries #
542 ###################################
543
544 #### pkg-config ####
545
546 PKG_PROG_PKG_CONFIG
547
548 #### X11 (optional) ####
549
550 AC_ARG_ENABLE([x11],
551 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
552 [
553 case "${enableval}" in
554 yes) x11=yes ;;
555 no) x11=no ;;
556 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
557 esac
558 ],
559 [x11=auto])
560
561 if test "x${x11}" != xno ; then
562 PKG_CHECK_MODULES(X11, [ x11-xcb ice sm xtst xcb-atom ],
563 HAVE_X11=1,
564 [
565 HAVE_X11=0
566 if test "x$x11" = xyes ; then
567 AC_MSG_ERROR([*** X11 not found])
568 fi
569 ])
570 else
571 HAVE_X11=0
572 fi
573
574 if test "x${HAVE_X11}" = x1 ; then
575 AC_DEFINE([HAVE_X11], 1, [Have X11?])
576 fi
577
578 AC_SUBST(X11_CFLAGS)
579 AC_SUBST(X11_LIBS)
580 AC_SUBST(HAVE_X11)
581 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
582
583 #### Capabilities (optional) ####
584
585 CAP_LIBS=''
586
587 AC_ARG_WITH(
588 [caps],
589 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
590
591 if test "x${with_caps}" != "xno"; then
592 AC_SEARCH_LIBS([cap_init], [cap], [], [
593 if test "x${with_caps}" = "xyes" ; then
594 AC_MSG_ERROR([*** POSIX caps libraries not found])
595 fi])
596 AC_CHECK_HEADERS([sys/capability.h], [], [
597 if test "x${with_caps}" = "xyes" ; then
598 AC_MSG_ERROR([*** POSIX caps headers not found])
599 fi])
600 fi
601
602 #### Valgrind (optional) ####
603
604 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
605
606 #### Sound file ####
607
608 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
609 AC_SUBST(LIBSNDFILE_CFLAGS)
610 AC_SUBST(LIBSNDFILE_LIBS)
611
612 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
613 AC_SUBST(LIBSPEEX_CFLAGS)
614 AC_SUBST(LIBSPEEX_LIBS)
615
616 #### atomic-ops ###
617
618 AC_MSG_CHECKING([whether we need libatomic_ops])
619 if test "x$need_libatomic_ops" = "xyes"; then
620 AC_MSG_RESULT([yes])
621 AC_CHECK_HEADERS([atomic_ops.h], [], [
622 AC_MSG_ERROR([*** libatomic-ops headers not found])
623 ])
624
625 # Win32 does not need the lib and breaks horribly if we try to include it
626 if test "x$os_is_win32" != "x1" ; then
627 LIBS="$LIBS -latomic_ops"
628 fi
629 else
630 AC_MSG_RESULT([no])
631 fi
632
633 #### Libsamplerate support (optional) ####
634
635 AC_ARG_ENABLE([samplerate],
636 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
637 [
638 case "${enableval}" in
639 yes) samplerate=yes ;;
640 no) samplerate=no ;;
641 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
642 esac
643 ],
644 [samplerate=auto])
645
646 if test "x${samplerate}" != xno ; then
647 PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
648 HAVE_LIBSAMPLERATE=1,
649 [
650 HAVE_LIBSAMPLERATE=0
651 if test "x$samplerate" = xyes ; then
652 AC_MSG_ERROR([*** Libsamplerate not found])
653 fi
654 ])
655 else
656 HAVE_LIBSAMPLERATE=0
657 fi
658
659 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
660 AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
661 fi
662
663 AC_SUBST(LIBSAMPLERATE_CFLAGS)
664 AC_SUBST(LIBSAMPLERATE_LIBS)
665 AC_SUBST(HAVE_LIBSAMPLERATE)
666 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
667
668 #### Database support ####
669
670 HAVE_TDB=0
671 HAVE_GDBM=0
672 HAVE_SIMPLEDB=0
673
674 AC_ARG_WITH(
675 [database],
676 AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
677
678 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
679 PKG_CHECK_MODULES(TDB, [ tdb ],
680 [
681 HAVE_TDB=1
682 with_database=tdb
683 ], [
684 if test "x${with_database}" = "xtdb" ; then
685 AC_MSG_ERROR([*** tdb not found])
686 fi
687 ])
688 fi
689
690 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
691 have_gdbm=yes
692
693 AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
694 AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
695
696 if test "x${have_gdbm}" = "xyes" ; then
697 HAVE_GDBM=1
698 GDBM_CFLAGS=
699 GDBM_LIBS=-lgdbm
700 with_database=gdbm
701 elif test "x${with_database}" = "xgdbm"; then
702 AC_MSG_ERROR([*** gdbm not found])
703 fi
704 fi
705
706 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xsimple" ; then
707 HAVE_SIMPLEDB=1
708 with_database=simple
709 fi
710
711 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1 -a "x${HAVE_SIMPLEDB}" != x1; then
712 AC_MSG_ERROR([*** missing database backend])
713 fi
714
715 if test "x${HAVE_TDB}" = x1 ; then
716 AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
717 fi
718
719 if test "x${HAVE_GDBM}" = x1 ; then
720 AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
721 fi
722
723 if test "x${HAVE_SIMPLEDB}" = x1 ; then
724 AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?])
725 fi
726
727 AC_SUBST(TDB_CFLAGS)
728 AC_SUBST(TDB_LIBS)
729 AC_SUBST(HAVE_TDB)
730 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
731
732 AC_SUBST(GDBM_CFLAGS)
733 AC_SUBST(GDBM_LIBS)
734 AC_SUBST(HAVE_GDBM)
735 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
736
737 AC_SUBST(HAVE_SIMPLEDB)
738 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
739
740 #### OSS support (optional) ####
741
742 AC_ARG_ENABLE([oss-output],
743 AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]),
744 [
745 case "${enableval}" in
746 yes) oss_output=yes ;;
747 no) oss_output=no ;;
748 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-output) ;;
749 esac
750 ],
751 [oss_output=auto])
752
753 AC_ARG_ENABLE([oss-wrapper],
754 AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]),
755 [
756 case "${enableval}" in
757 yes) oss_wrapper=yes ;;
758 no) oss_wrapper=no ;;
759 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-wrapper) ;;
760 esac
761 ],
762 [oss_wrapper=auto])
763
764 if test "x${oss_output}" != xno || test "x${oss_wrapper}" != "xno"; then
765 AC_CHECK_HEADERS([sys/soundcard.h],
766 [
767 if test "x${oss_output}" != "xno"; then
768 AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])
769 fi
770 if test "x${oss_wrapper}" != "xno"; then
771 AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?])
772 fi
773 HAVE_OSS=1
774 ],
775 [
776 HAVE_OSS=0
777 if test "x$oss_output" = xyes || test "x$oss_wrapper" = "xyes"; then
778 AC_MSG_ERROR([*** OSS support not found])
779 fi
780 ])
781 else
782 HAVE_OSS=0
783 fi
784
785 AC_SUBST(HAVE_OSS)
786 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"])
787 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])
788
789 #### CoreAudio support (optional) ####
790
791 AC_ARG_ENABLE([coreaudio-output],
792 AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]),
793 [
794 case "${enableval}" in
795 yes) coreaudio_enabled=yes ;;
796 no) coreaudio_enabled=no ;;
797 *) AC_MSG_ERROR(bad value ${enableval} for --disable-coreaudio-output) ;;
798 esac
799 ],
800 [coreaudio_enabled=auto])
801
802 if test "x${coreaudio_enabled}" != xno ; then
803 AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1)
804 else
805 HAVE_COREAUDIO=0
806 fi
807
808 AC_SUBST(HAVE_COREAUDIO)
809 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = x1 && test "x${coreaudio_enabled}" != "xno"])
810
811 #### ALSA support (optional) ####
812
813 AC_ARG_ENABLE([alsa],
814 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
815 [
816 case "${enableval}" in
817 yes) alsa=yes ;;
818 no) alsa=no ;;
819 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
820 esac
821 ],
822 [alsa=auto])
823
824 if test "x${alsa}" != xno ; then
825 PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
826 [
827 HAVE_ALSA=1
828 AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
829 ],
830 [
831 HAVE_ALSA=0
832 if test "x$alsa" = xyes ; then
833 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
834 fi
835 ])
836 else
837 HAVE_ALSA=0
838 fi
839
840 AC_SUBST(ASOUNDLIB_CFLAGS)
841 AC_SUBST(ASOUNDLIB_LIBS)
842 AC_SUBST(HAVE_ALSA)
843 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
844
845 #### Solaris audio support (optional) ####
846
847 AC_ARG_ENABLE([solaris],
848 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
849 [
850 case "${enableval}" in
851 yes) solaris=yes ;;
852 no) solaris=no ;;
853 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
854 esac
855 ],
856 [solaris=auto])
857
858 if test "x${solaris}" != xno ; then
859 AC_CHECK_HEADERS([sys/audio.h],
860 [
861 HAVE_SOLARIS=1
862 AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
863 ],
864 [
865 HAVE_SOLARIS=0
866 if test "x$solaris" = xyes ; then
867 AC_MSG_ERROR([*** Solaris audio support not found])
868 fi
869 ])
870 else
871 HAVE_SOLARIS=0
872 fi
873
874 AC_SUBST(HAVE_SOLARIS)
875 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
876
877 #### GLib 2 support (optional) ####
878
879 AC_ARG_ENABLE([glib2],
880 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
881 [
882 case "${enableval}" in
883 yes) glib2=yes ;;
884 no) glib2=no ;;
885 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
886 esac
887 ],
888 [glib2=auto])
889
890 if test "x${glib2}" != xno ; then
891 PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
892 HAVE_GLIB20=1,
893 [
894 HAVE_GLIB20=0
895 if test "x$glib2" = xyes ; then
896 AC_MSG_ERROR([*** GLib 2 support not found])
897 fi
898 ])
899 else
900 HAVE_GLIB20=0
901 fi
902
903 AC_SUBST(GLIB20_CFLAGS)
904 AC_SUBST(GLIB20_LIBS)
905 AC_SUBST(HAVE_GLIB20)
906 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
907
908 if test "x$HAVE_GLIB20" = x1 ; then
909 AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
910 fi
911
912 #### GTK2 support (optional) ####
913
914 AC_ARG_ENABLE([gtk2],
915 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
916 [
917 case "${enableval}" in
918 yes) gtk2=yes ;;
919 no) gtk2=no ;;
920 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
921 esac
922 ],
923 [gtk2=auto])
924
925 if test "x${gtk2}" != xno ; then
926 PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
927 HAVE_GTK20=1,
928 [
929 HAVE_GTK20=0
930 if test "x$gtk2" = xyes ; then
931 AC_MSG_ERROR([*** Gtk+ 2 support not found])
932 fi
933 ])
934 else
935 HAVE_GTK20=0
936 fi
937
938 AC_SUBST(GTK20_CFLAGS)
939 AC_SUBST(GTK20_LIBS)
940 AC_SUBST(HAVE_GTK20)
941 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
942
943 if test "x$HAVE_GTK20" = x1 ; then
944 AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
945 fi
946
947 #### GConf support (optional) ####
948
949 AC_ARG_ENABLE([gconf],
950 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
951 [
952 case "${enableval}" in
953 yes) gconf=yes ;;
954 no) gconf=no ;;
955 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
956 esac
957 ],
958 [gconf=auto])
959
960 if test "x${gconf}" != xno ; then
961 PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ],
962 HAVE_GCONF=1,
963 [
964 HAVE_GCONF=0
965 if test "x$gconf" = xyes ; then
966 AC_MSG_ERROR([*** GConf support not found])
967 fi
968 ])
969 else
970 HAVE_GCONF=0
971 fi
972
973 AC_SUBST(GCONF_CFLAGS)
974 AC_SUBST(GCONF_LIBS)
975 AC_SUBST(HAVE_GCONF)
976 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
977
978 #### Avahi support (optional) ####
979
980 AC_ARG_ENABLE([avahi],
981 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
982 [
983 case "${enableval}" in
984 yes) avahi=yes ;;
985 no) avahi=no ;;
986 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
987 esac
988 ],
989 [avahi=auto])
990
991 if test "x${avahi}" != xno ; then
992 PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
993 HAVE_AVAHI=1,
994 [
995 HAVE_AVAHI=0
996 if test "x$avahi" = xyes ; then
997 AC_MSG_ERROR([*** Avahi support not found])
998 fi
999 ])
1000 else
1001 HAVE_AVAHI=0
1002 fi
1003
1004 AC_SUBST(AVAHI_CFLAGS)
1005 AC_SUBST(AVAHI_LIBS)
1006 AC_SUBST(HAVE_AVAHI)
1007 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
1008
1009 ### JACK (optional) ####
1010
1011 AC_ARG_ENABLE([jack],
1012 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
1013 [
1014 case "${enableval}" in
1015 yes) jack=yes ;;
1016 no) jack=no ;;
1017 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
1018 esac
1019 ],
1020 [jack=auto])
1021
1022 if test "x${jack}" != xno ; then
1023 PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
1024 HAVE_JACK=1,
1025 [
1026 HAVE_JACK=0
1027 if test "x$jack" = xyes ; then
1028 AC_MSG_ERROR([*** JACK support not found])
1029 fi
1030 ])
1031 else
1032 HAVE_JACK=0
1033 fi
1034
1035 AC_SUBST(JACK_CFLAGS)
1036 AC_SUBST(JACK_LIBS)
1037 AC_SUBST(HAVE_JACK)
1038 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
1039
1040 #### Async DNS support (optional) ####
1041
1042 AC_ARG_ENABLE([asyncns],
1043 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
1044 [
1045 case "${enableval}" in
1046 yes) asyncns=yes ;;
1047 no) asyncns=no ;;
1048 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
1049 esac
1050 ],
1051 [asyncns=auto])
1052
1053 if test "x${asyncns}" != xno ; then
1054 PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
1055 HAVE_LIBASYNCNS=1,
1056 [
1057 HAVE_LIBASYNCNS=0
1058 if test "x$asyncns" = xyes ; then
1059 AC_MSG_ERROR([*** Async DNS support not found])
1060 fi
1061 ])
1062 else
1063 HAVE_LIBASYNCNS=0
1064 fi
1065
1066 AC_SUBST(LIBASYNCNS_CFLAGS)
1067 AC_SUBST(LIBASYNCNS_LIBS)
1068 AC_SUBST(HAVE_LIBASYNCNS)
1069 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
1070
1071 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
1072 AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
1073 fi
1074
1075 #### TCP wrappers (optional) ####
1076
1077 AC_ARG_ENABLE([tcpwrap],
1078 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
1079 [
1080 case "${enableval}" in
1081 yes) tcpwrap=yes ;;
1082 no) tcpwrap=no ;;
1083 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
1084 esac
1085 ],
1086 [tcpwrap=auto])
1087
1088 if test "x${tcpwrap}" != xno ; then
1089 ACX_LIBWRAP
1090 if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
1091 AC_MSG_ERROR([*** TCP wrappers support not found])
1092 fi
1093 else
1094 LIBWRAP_LIBS=
1095 fi
1096
1097 AC_SUBST(LIBWRAP_LIBS)
1098
1099 #### LIRC support (optional) ####
1100
1101 AC_ARG_ENABLE([lirc],
1102 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1103 [
1104 case "${enableval}" in
1105 yes) lirc=yes ;;
1106 no) lirc=no ;;
1107 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1108 esac
1109 ],
1110 [lirc=auto])
1111
1112 if test "x${lirc}" != xno ; then
1113 ACX_LIRC
1114 if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1115 AC_MSG_ERROR([*** LIRC support not found])
1116 fi
1117 else
1118 HAVE_LIRC=0
1119 fi
1120
1121 AC_SUBST(LIRC_CFLAGS)
1122 AC_SUBST(LIRC_LIBS)
1123 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1124
1125 #### HAL support (optional) ####
1126
1127 AC_ARG_ENABLE([hal],
1128 AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1129 [
1130 case "${enableval}" in
1131 yes) hal=yes ;;
1132 no) hal=no ;;
1133 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1134 esac
1135 ],
1136 [hal=auto])
1137 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1138 PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1139 [
1140 HAVE_HAL=1
1141 AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1142 ],
1143 [
1144 HAVE_HAL=0
1145 if test "x$hal" = xyes ; then
1146 AC_MSG_ERROR([*** HAL support not found])
1147 fi
1148 ])
1149 else
1150 HAVE_HAL=0
1151 fi
1152
1153 AC_SUBST(HAL_CFLAGS)
1154 AC_SUBST(HAL_LIBS)
1155 AC_SUBST(HAVE_HAL)
1156 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1157
1158 #### UDEV support (optional) ####
1159
1160 AC_ARG_ENABLE([udev],
1161 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1162 [
1163 case "${enableval}" in
1164 yes) udev=yes ;;
1165 no) udev=no ;;
1166 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1167 esac
1168 ],
1169 [udev=auto])
1170 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1171 PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1172 [
1173 HAVE_UDEV=1
1174 AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1175 ],
1176 [
1177 HAVE_UDEV=0
1178 if test "x$udev" = xyes ; then
1179 AC_MSG_ERROR([*** UDEV support not found])
1180 fi
1181 ])
1182 else
1183 HAVE_UDEV=0
1184 fi
1185
1186 AC_SUBST(UDEV_CFLAGS)
1187 AC_SUBST(UDEV_LIBS)
1188 AC_SUBST(HAVE_UDEV)
1189 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1190
1191 #### BlueZ support (optional) ####
1192
1193 AC_ARG_ENABLE([bluez],
1194 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1195 [
1196 case "${enableval}" in
1197 yes) bluez=yes ;;
1198 no) bluez=no ;;
1199 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1200 esac
1201 ],
1202 [bluez=auto])
1203 if test "x${bluez}" != xno ; then
1204 PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1205 HAVE_BLUEZ=1,
1206 [
1207 HAVE_BLUEZ=0
1208 if test "x$bluez" = xyes ; then
1209 AC_MSG_ERROR([*** BLUEZ support not found])
1210 fi
1211 ])
1212 else
1213 HAVE_BLUEZ=0
1214 fi
1215
1216 AC_SUBST(BLUEZ_CFLAGS)
1217 AC_SUBST(BLUEZ_LIBS)
1218 AC_SUBST(HAVE_BLUEZ)
1219 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1220
1221 #### D-Bus support (optional) ####
1222
1223 AC_ARG_ENABLE([dbus],
1224 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1225 [
1226 case "${enableval}" in
1227 yes) dbus=yes ;;
1228 no) dbus=no ;;
1229 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1230 esac
1231 ],
1232 [dbus=auto])
1233
1234 if test "x${dbus}" != xno ; then
1235
1236 PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1237 [
1238 HAVE_DBUS=1
1239 saved_LIBS="$LIBS"
1240 LIBS="$LIBS $DBUS_LIBS"
1241 CFLAGS="$CFLAGS $DBUS_CFLAGS"
1242 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1243 LIBS="$saved_LIBS"
1244 AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1245 ],
1246 [
1247 HAVE_DBUS=0
1248 if test "x$dbus" = xyes ; then
1249 AC_MSG_ERROR([*** D-Bus support not found])
1250 fi
1251 ])
1252 else
1253 HAVE_DBUS=0
1254 fi
1255
1256 AC_SUBST(DBUS_CFLAGS)
1257 AC_SUBST(DBUS_LIBS)
1258 AC_SUBST(HAVE_DBUS)
1259 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1260
1261
1262 # udev and HAL depend on DBUS: So double check if they were explicitly enabled.
1263 if test "x$HAVE_DBUS" != "x1" ; then
1264 HAVE_HAL=0
1265 if test "x${hal}" = xyes ; then
1266 AC_MSG_ERROR([*** D-Bus support is required by HAL])
1267 fi
1268
1269 HAVE_BLUEZ=0
1270 if test "x${bluez}" = xyes ; then
1271 AC_MSG_ERROR([*** D-Bus support is required by BLUEZ])
1272 fi
1273 fi
1274
1275
1276 #### HAL compat support (optional) ####
1277
1278 AC_ARG_ENABLE([hal-compat],
1279 AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]),
1280 [
1281 case "${enableval}" in
1282 yes) halcompat=yes ;;
1283 no) halcompat=no ;;
1284 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal-compat) ;;
1285 esac
1286 ],
1287 [halcompat=auto])
1288 if test "x${halcompat}" != xno -a "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1" ; then
1289 HAVE_HAL_COMPAT=1
1290 AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.])
1291 else
1292 HAVE_HAL_COMPAT=0
1293 fi
1294
1295 AC_SUBST(HAVE_HAL_COMPAT)
1296 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1297
1298 ### IPv6 connection support (optional) ###
1299
1300 AC_ARG_ENABLE([ipv6],
1301 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1302 [
1303 case "${enableval}" in
1304 yes) ipv6=yes ;;
1305 no) ipv6=no ;;
1306 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1307 esac
1308 ],
1309 [ipv6=auto])
1310
1311 if test "x${ipv6}" != xno ; then
1312 AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1313 HAVE_IPV6=1
1314 else
1315 HAVE_IPV6=0
1316 fi
1317
1318 #### OpenSSL support (optional) ####
1319
1320 AC_ARG_ENABLE([openssl],
1321 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1322 [
1323 case "${enableval}" in
1324 yes) openssl=yes ;;
1325 no) openssl=no ;;
1326 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1327 esac
1328 ],
1329 [openssl=auto])
1330
1331 if test "x${openssl}" != xno ; then
1332
1333 PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1334 [
1335 HAVE_OPENSSL=1
1336 AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1337 ],
1338 [
1339 HAVE_OPENSSL=0
1340 if test "x$openssl" = xyes ; then
1341 AC_MSG_ERROR([*** OpenSSL support not found])
1342 fi
1343 ])
1344 else
1345 HAVE_OPENSSL=0
1346 fi
1347
1348 AC_SUBST(OPENSSL_CFLAGS)
1349 AC_SUBST(OPENSSL_LIBS)
1350 AC_SUBST(HAVE_OPENSSL)
1351 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1352
1353 #### FFTW (optional) ####
1354 AC_ARG_WITH(
1355 [fftw],
1356 AS_HELP_STRING([--without-fftw], [Omit FFTW-using modules (equalizer)]))
1357
1358 if test "x${with_fftw}" != "xno"; then
1359 PKG_CHECK_MODULES([FFTW], [fftw3f], [HAVE_FFTW=1], [HAVE_FFTW=0])
1360 fi
1361 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1362
1363 ### ORC (optional) ###
1364 ORC_CHECK([0.4.9])
1365
1366 ### Build and Install man pages ###
1367 AC_ARG_ENABLE(manpages,
1368 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1369 [case "${enableval}" in
1370 yes) manpages=yes ;;
1371 no) manpages=no ;;
1372 *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1373 esac],[manpages=yes])
1374
1375 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1376
1377 #### PulseAudio system group & user #####
1378
1379 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1380 if test -z "$with_system_user" ; then
1381 PA_SYSTEM_USER=pulse
1382 else
1383 PA_SYSTEM_USER=$with_system_user
1384 fi
1385 AC_SUBST(PA_SYSTEM_USER)
1386 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1387
1388 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1389 if test -z "$with_system_group" ; then
1390 PA_SYSTEM_GROUP=pulse
1391 else
1392 PA_SYSTEM_GROUP=$with_system_group
1393 fi
1394 AC_SUBST(PA_SYSTEM_GROUP)
1395 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1396
1397 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)]))
1398 if test -z "$with_access_group" ; then
1399 PA_ACCESS_GROUP=pulse-access
1400 else
1401 PA_ACCESS_GROUP=$with_access_group
1402 fi
1403 AC_SUBST(PA_ACCESS_GROUP)
1404 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1405
1406 AC_ARG_ENABLE(
1407 per_user_esound_socket,
1408 AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1409 [
1410 case "${enableval}" in
1411 yes) per_user_esound_socket=1 ;;
1412 no) per_user_esound_socket=0 ;;
1413 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1414 esac
1415 ],
1416 [per_user_esound_socket=1])
1417
1418 if test "x$per_user_esound_socket" = "x1"; then
1419 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1420 fi
1421
1422 #### PulseAudio system runtime dir ####
1423 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1424 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1425 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1426 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1427 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1428 AC_SUBST(PA_SYSTEM_STATE_PATH)
1429
1430 ###################################
1431 # Output #
1432 ###################################
1433
1434 AC_ARG_ENABLE([legacy-runtime-dir],
1435 AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1436 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1437 AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1438 fi
1439
1440 AC_ARG_ENABLE(
1441 [static-bins],
1442 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1443 [STATIC_BINS=1], [STATIC_BINS=0])
1444 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1445
1446 AC_ARG_WITH(
1447 [preopen-mods],
1448 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1449 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1450 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1451 if test "x$PREOPEN_MODS" != "xall" ; then
1452 tmpLIBS=""
1453 for mod in $PREOPEN_MODS; do
1454 tmpLIBS="$tmpLIBS module-$mod.la"
1455 done
1456 PREOPEN_MODS="$tmpLIBS"
1457 AC_SUBST(PREOPEN_MODS)
1458 fi
1459
1460 AC_ARG_WITH(
1461 [module-dir],
1462 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1463 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1464
1465 AC_SUBST(modlibexecdir)
1466
1467 AC_ARG_WITH(
1468 [udev-rules-dir],
1469 AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1470 [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1471
1472 AC_SUBST(udevrulesdir)
1473
1474 AC_ARG_ENABLE(
1475 [force-preopen],
1476 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1477 [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1478 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1479
1480 AC_CONFIG_FILES([
1481 Makefile
1482 src/Makefile
1483 man/Makefile
1484 libpulse.pc
1485 libpulse-simple.pc
1486 libpulse-browse.pc
1487 libpulse-mainloop-glib.pc
1488 doxygen/Makefile
1489 doxygen/doxygen.conf
1490 src/pulse/version.h
1491 po/Makefile.in
1492 src/daemon/Makefile
1493 src/modules/Makefile
1494 src/modules/alsa/Makefile
1495 src/modules/alsa/mixer/Makefile
1496 src/modules/alsa/mixer/paths/Makefile
1497 src/modules/alsa/mixer/profile-sets/Makefile
1498 src/modules/bluetooth/Makefile
1499 src/modules/dbus/Makefile
1500 src/modules/gconf/Makefile
1501 src/modules/jack/Makefile
1502 src/modules/oss/Makefile
1503 src/modules/raop/Makefile
1504 src/modules/rtp/Makefile
1505 src/modules/x11/Makefile
1506 src/pulse/Makefile
1507 src/pulsecore/Makefile
1508 src/pulsecore/ffmpeg/Makefile
1509 src/tests/Makefile
1510 src/utils/Makefile
1511 ])
1512
1513 AC_OUTPUT
1514
1515 # ==========================================================================
1516 ENABLE_X11=no
1517 if test "x$HAVE_X11" = "x1" ; then
1518 ENABLE_X11=yes
1519 fi
1520
1521 ENABLE_OSS_OUTPUT=no
1522 ENABLE_OSS_WRAPPER=no
1523 if test "x$HAVE_OSS" = "x1" ; then
1524 if test "x$enable_oss_output" != "xno"; then
1525 ENABLE_OSS_OUTPUT=yes
1526 fi
1527 if test "x$enable_oss_wrapper" != "xno"; then
1528 ENABLE_OSS_WRAPPER=yes
1529 fi
1530 fi
1531
1532 ENABLE_COREAUDIO=no
1533 if test "x$HAVE_COREAUDIO" = "x1" ; then
1534 ENABLE_COREAUDIO=yes
1535 fi
1536
1537 ENABLE_ALSA=no
1538 if test "x$HAVE_ALSA" = "x1" ; then
1539 ENABLE_ALSA=yes
1540 fi
1541
1542 ENABLE_SOLARIS=no
1543 if test "x$HAVE_SOLARIS" = "x1" ; then
1544 ENABLE_SOLARIS=yes
1545 fi
1546
1547 ENABLE_GTK20=no
1548 if test "x$HAVE_GTK20" = "x1" ; then
1549 ENABLE_GTK20=yes
1550 fi
1551
1552 ENABLE_GLIB20=no
1553 if test "x$HAVE_GLIB20" = "x1" ; then
1554 ENABLE_GLIB20=yes
1555 fi
1556
1557 ENABLE_GCONF=no
1558 if test "x$HAVE_GCONF" = "x1" ; then
1559 ENABLE_GCONF=yes
1560 fi
1561
1562 ENABLE_AVAHI=no
1563 if test "x$HAVE_AVAHI" = "x1" ; then
1564 ENABLE_AVAHI=yes
1565 fi
1566
1567 ENABLE_JACK=no
1568 if test "x$HAVE_JACK" = "x1" ; then
1569 ENABLE_JACK=yes
1570 fi
1571
1572 ENABLE_LIBASYNCNS=no
1573 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1574 ENABLE_LIBASYNCNS=yes
1575 fi
1576
1577 ENABLE_LIRC=no
1578 if test "x$HAVE_LIRC" = "x1" ; then
1579 ENABLE_LIRC=yes
1580 fi
1581
1582 ENABLE_DBUS=no
1583 if test "x$HAVE_DBUS" = "x1" ; then
1584 ENABLE_DBUS=yes
1585 fi
1586
1587 ENABLE_HAL=no
1588 if test "x$HAVE_HAL" = "x1" ; then
1589 ENABLE_HAL=yes
1590 fi
1591
1592 ENABLE_UDEV=no
1593 if test "x$HAVE_UDEV" = "x1" ; then
1594 ENABLE_UDEV=yes
1595 fi
1596
1597 ENABLE_HAL_COMPAT=no
1598 if test "x$HAVE_HAL_COMPAT" = "x1" ; then
1599 ENABLE_HAL_COMPAT=yes
1600 fi
1601
1602 ENABLE_TCPWRAP=no
1603 if test "x${LIBWRAP_LIBS}" != x ; then
1604 ENABLE_TCPWRAP=yes
1605 fi
1606
1607 ENABLE_LIBSAMPLERATE=no
1608 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1609 ENABLE_LIBSAMPLERATE=yes
1610 fi
1611
1612 ENABLE_BLUEZ=no
1613 if test "x${HAVE_BLUEZ}" = "x1" ; then
1614 ENABLE_BLUEZ=yes
1615 fi
1616
1617 ENABLE_GDBM=no
1618 if test "x${HAVE_GDBM}" = "x1" ; then
1619 ENABLE_GDBM=yes
1620 fi
1621
1622 ENABLE_TDB=no
1623 if test "x${HAVE_TDB}" = "x1" ; then
1624 ENABLE_TDB=yes
1625 fi
1626
1627 ENABLE_SIMPLEDB=no
1628 if test "x${HAVE_SIMPLEDB}" = "x1" ; then
1629 ENABLE_SIMPLEDB=yes
1630 fi
1631
1632 ENABLE_FFTW=no
1633 if test "x${HAVE_FFTW}" = "x1" ; then
1634 ENABLE_FFTW=yes
1635 fi
1636
1637 ENABLE_ORC=no
1638 if test "x${HAVE_ORC}" = "xyes" ; then
1639 ENABLE_ORC=yes
1640 fi
1641
1642 ENABLE_OPENSSL=no
1643 if test "x${HAVE_OPENSSL}" = "x1" ; then
1644 ENABLE_OPENSSL=yes
1645 fi
1646
1647 ENABLE_IPV6=no
1648 if test "x${HAVE_IPV6}" = "x1" ; then
1649 ENABLE_IPV6=yes
1650 fi
1651
1652 ENABLE_PER_USER_ESOUND_SOCKET=no
1653 if test "x$per_user_esound_socket" = "x1" ; then
1654 ENABLE_PER_USER_ESOUND_SOCKET=yes
1655 fi
1656
1657 echo "
1658 ---{ $PACKAGE_NAME $VERSION }---
1659
1660 prefix: ${prefix}
1661 sysconfdir: ${sysconfdir}
1662 localstatedir: ${localstatedir}
1663 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1664 System State Path: ${PA_SYSTEM_STATE_PATH}
1665 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1666 Compiler: ${CC}
1667 CFLAGS: ${CFLAGS}
1668
1669 Have X11: ${ENABLE_X11}
1670 Enable OSS Output: ${ENABLE_OSS_OUTPUT}
1671 Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
1672 Enable CoreAudio: ${ENABLE_COREAUDIO}
1673 Enable Alsa: ${ENABLE_ALSA}
1674 Enable Solaris: ${ENABLE_SOLARIS}
1675 Enable GLib 2.0: ${ENABLE_GLIB20}
1676 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1677 Enable GConf: ${ENABLE_GCONF}
1678 Enable Avahi: ${ENABLE_AVAHI}
1679 Enable Jack: ${ENABLE_JACK}
1680 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1681 Enable LIRC: ${ENABLE_LIRC}
1682 Enable DBUS: ${ENABLE_DBUS}
1683 Enable HAL: ${ENABLE_HAL}
1684 Enable BlueZ: ${ENABLE_BLUEZ}
1685 Enable udev: ${ENABLE_UDEV}
1686 Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
1687 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1688 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1689 Enable IPv6: ${ENABLE_IPV6}
1690 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1691 Enable tdb: ${ENABLE_TDB}
1692 Enable gdbm: ${ENABLE_GDBM}
1693 Enable simple database: ${ENABLE_SIMPLEDB}
1694 Enable fftw: ${ENABLE_FFTW}
1695 Enable orc: ${ENABLE_ORC}
1696
1697 System User: ${PA_SYSTEM_USER}
1698 System Group: ${PA_SYSTEM_GROUP}
1699 Access Group: ${PA_ACCESS_GROUP}
1700 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1701 Force preopen: ${FORCE_PREOPEN}
1702 Preopened modules: ${PREOPEN_MODS}
1703 "
1704
1705 if test "${ENABLE_DBUS}" = "no" ; then
1706 echo "
1707 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1708 You do not have DBUS support enabled. It is strongly recommended
1709 that you enable DBUS support if you platform supports it.
1710 Many parts of PulseAudio use udev, from Console Kit interaction
1711 to the Device Reservation Protocol to speak to JACK, Bluetooth
1712 support and even a native control protocol for communicating and
1713 controling the PulseAudio daemon itself.
1714 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1715 "
1716 fi
1717
1718 if test "${ENABLE_UDEV}" = "no" ; then
1719 echo "
1720 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1721 You do not have udev support enabled. It is strongly recommended
1722 that you enable udev support if you platform supports it as it is
1723 the primary method used to detect hardware audio devices (on Linux)
1724 and is thus a critical part of PulseAudio on that platform.
1725 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1726 "
1727 fi