]> code.delx.au - pulseaudio/blob - configure.ac
daemon: Fix redundant redeclaration warning
[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)],[pulseaudio-discuss (at) lists (dot) freedesktop (dot) org],[pulseaudio],[http://pulseaudio.org/])
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 color-tests dist-xz tar-ustar])
30
31 AS_IF([! test -n "$VERSION"], [
32 AC_MSG_ERROR([git-version-gen failed])
33 ])
34
35 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
36 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
37
38 AC_SUBST(PA_MAJOR, pa_major)
39 AC_SUBST(PA_MINOR, pa_minor)
40 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
41
42 AC_SUBST(PA_API_VERSION, 12)
43 AC_SUBST(PA_PROTOCOL_VERSION, 27)
44
45 # The stable ABI for client applications, for the version info x:y:z
46 # always will hold y=z
47 AC_SUBST(LIBPULSE_VERSION_INFO, [14:2:14])
48
49 # A simplified, synchronous, ABI-stable interface for client
50 # applications, for the version info x:y:z always will hold y=z
51 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])
52
53 # The ABI-stable network browsing interface for client applications,
54 # for the version info x:y:z always will hold y=z
55 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
56
57 # The ABI-stable GLib adapter for client applications, for the version
58 # info x:y:z always will hold y=z
59 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
60
61 AC_CANONICAL_HOST
62 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
63
64 AC_CHECK_PROG([STOW], [stow], [yes], [no])
65
66 AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
67 AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
68 ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
69 ])
70
71 AM_SILENT_RULES([yes])
72
73
74 #### Checks for programs. ####
75
76 # mkdir -p
77
78 AC_PROG_MKDIR_P
79
80 # CC
81
82 AC_PROG_CC
83 AC_PROG_CC_C99
84 AM_PROG_CC_C_O
85 # Only required if you want the WebRTC canceller -- no runtime dep on
86 # libstdc++ otherwise
87 AC_PROG_CXX
88 AC_PROG_GCC_TRADITIONAL
89 AC_USE_SYSTEM_EXTENSIONS
90
91 # M4
92
93 AC_CHECK_PROGS([M4], gm4 m4, no)
94 AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
95
96 # pkg-config
97
98 PKG_PROG_PKG_CONFIG
99
100 # gettext
101
102 if test "x$enable_nls" != "xno"; then
103 IT_PROG_INTLTOOL([0.35.0])
104 GETTEXT_PACKAGE=pulseaudio
105 AC_SUBST([GETTEXT_PACKAGE])
106 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
107 AM_GLIB_GNU_GETTEXT
108
109 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
110 AX_DEFINE_DIR(PULSE_LOCALEDIR, pulselocaledir, [Gettext locale dir])
111 else
112 # workaround till an intltool m4 bug is fixed upstream
113 # (https://bugs.launchpad.net/intltool/+bug/904647)
114 USE_NLS=no
115 AC_SUBST(USE_NLS)
116 fi
117
118
119 #### Determine host OS ####
120
121 os_is_linux=0
122 os_is_win32=0
123 os_is_darwin=0
124
125 AC_MSG_CHECKING([host operating system])
126 case "$host_os" in
127 linux*)
128 AC_MSG_RESULT([linux])
129 os_is_linux=1
130 ;;
131 darwin*)
132 AC_MSG_RESULT([darwin])
133 os_is_darwin=1
134 AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
135 ;;
136 mingw*)
137 AC_MSG_RESULT([win32])
138 os_is_win32=1
139 AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
140 ;;
141 *)
142 AC_MSG_RESULT([unknown])
143 ;;
144 esac
145
146 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
147 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
148 AC_SUBST([OS_IS_WIN32], [$os_is_win32])
149
150 # Platform specific hacks
151 case "$host_os" in
152 darwin* )
153 AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
154 ;;
155 mingw* )
156 AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
157 ;;
158 solaris* )
159 AC_DEFINE(_XOPEN_SOURCE, 600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
160 AC_DEFINE(__EXTENSIONS__, 1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
161 ;;
162 esac
163
164
165 #### Compiler flags ####
166
167 AX_APPEND_COMPILE_FLAGS(
168 [-Wall -W -Wextra -pipe -Wno-long-long -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option],
169 [], [-pedantic -Werror])
170
171 # Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
172 AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [AX_APPEND_FLAG(["-DFASTPATH"], [CPPFLAGS])])
173
174
175 #### Linker flags ####
176
177 # Check whether the linker supports the -version-script option.
178 # The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
179 # so that it is expanded the right way in every subdir.
180 AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
181 [VERSIONING_LDFLAGS='-Wl,-version-script=$(abs_top_srcdir)/src/map-file'])
182 AC_SUBST([VERSIONING_LDFLAGS])
183
184 # Use immediate (now) bindings; avoids the funky re-call in itself.
185 # The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
186 AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
187 AC_SUBST([IMMEDIATE_LDFLAGS])
188
189 # On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
190 # so we request the nodelete flag to be enabled.
191 # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
192 AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
193 AC_SUBST([NODELETE_LDFLAGS])
194
195 # Check for the proper way to build libraries that have no undefined symbols
196 case $host in
197 # FreeBSD (et al.) does not complete linking for shared objects when pthreads
198 # are requested, as different implementations are present.
199 *-freebsd* | *-openbsd*) ;;
200 *)
201 for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
202 AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
203 done
204 ;;
205 esac
206 AC_SUBST([NOUNDEFINED_LDFLAGS])
207
208
209 #### Atomic operations ####
210
211 # Native atomic operation support
212 AC_ARG_ENABLE([atomic-arm-linux-helpers],
213 AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
214
215 AC_ARG_ENABLE([atomic-arm-memory-barrier],
216 AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
217
218 if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
219 AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
220 fi
221
222 # If everything else fails use libatomic_ops
223 need_libatomic_ops=yes
224
225 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
226 pulseaudio_cv_sync_bool_compare_and_swap, [
227 AC_LINK_IFELSE(
228 AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
229 [pulseaudio_cv_sync_bool_compare_and_swap=yes],
230 [pulseaudio_cv_sync_bool_compare_and_swap=no])
231 ])
232
233 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
234 AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
235 need_libatomic_ops=no
236 else
237 # HW specific atomic ops stuff
238 AC_MSG_CHECKING([architecture for native atomic operations])
239 case $host in
240 arm*)
241 AC_MSG_RESULT([arm])
242 AC_MSG_CHECKING([whether we can use Linux kernel helpers])
243 # The Linux kernel helper functions have been there since 2.6.16. However
244 # compile time checking for kernel version in cross compile environment
245 # (which is usually the case for arm cpu) is tricky (or impossible).
246 if test "x$os_is_linux" = "x1" && test "x$enable_atomic_arm_linux_helpers" != "xno"; then
247 AC_MSG_RESULT([yes])
248 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
249 need_libatomic_ops=no
250 else
251 AC_MSG_RESULT([no])
252 AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
253 pulseaudio_cv_support_arm_atomic_ops, [
254 AC_COMPILE_IFELSE(
255 AC_LANG_PROGRAM([], [[
256 volatile int a=0;
257 int o=0, n=1, r;
258 asm volatile ("ldrex %0, [%1]\n"
259 "subs %0, %0, %2\n"
260 "strexeq %0, %3, [%1]\n"
261 : "=&r" (r)
262 : "r" (&a), "Ir" (o), "r" (n)
263 : "cc");
264 return (a==1 ? 0 : -1);
265 ]]),
266 [pulseaudio_cv_support_arm_atomic_ops=yes],
267 [pulseaudio_cv_support_arm_atomic_ops=no])
268 ])
269 AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
270 AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
271 need_libatomic_ops=no
272 ])
273 fi
274 ;;
275 *-netbsdelf5*)
276 AC_MSG_RESULT([yes])
277 need_libatomic_ops=no
278 ;;
279 *-freebsd*)
280 AC_MSG_RESULT([yes])
281 need_libatomic_ops=no
282 ;;
283 *)
284 AC_MSG_RESULT([unknown])
285 ;;
286 esac
287 fi
288
289 # If we're on ARM, check for the ARMV6 instructions we need */
290 case $host in
291 arm*)
292 AC_CACHE_CHECK([support for required armv6 instructions],
293 pulseaudio_cv_support_armv6,
294 [AC_COMPILE_IFELSE(
295 AC_LANG_PROGRAM([],
296 [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
297 asm volatile ("ldr r0, %2 \n"
298 "ldr r2, %3 \n"
299 "ldr r3, %4 \n"
300 "ssat r1, #8, r0 \n"
301 "str r1, %0 \n"
302 "pkhbt r1, r3, r2, LSL #8 \n"
303 "str r1, %1 \n"
304 : "=m" (a), "=m" (b)
305 : "m" (a), "m" (b), "m" (c)
306 : "r0", "r1", "r2", "r3", "cc");
307 return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
308 ]]),
309 [pulseaudio_cv_support_armv6=yes],
310 [pulseaudio_cv_support_armv6=no])
311 ])
312 AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
313 AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
314 ])
315 ;;
316 *)
317 ;;
318 esac
319
320
321 #### libtool stuff ####
322
323 LT_PREREQ(2.4)
324 LT_INIT([dlopen win32-dll disable-static])
325
326 dnl As an extra safety device, check for lt_dladvise_init() which is
327 dnl only implemented in libtool 2.x, and refine as we go if we have
328 dnl refined requirements.
329 dnl
330 dnl Check the header files first since the system may have a
331 dnl libltdl.so for runtime, but no headers, and we want to bail out as
332 dnl soon as possible.
333 dnl
334 dnl We don't need any special variable for this though, since the user
335 dnl can give the proper place to find libltdl through the standard
336 dnl variables like LDFLAGS and CPPFLAGS.
337
338 AC_CHECK_HEADER([ltdl.h],
339 [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
340 [LIBLTDL=])
341
342 AS_IF([test "x$LIBLTDL" = "x"],
343 [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.4 or later installed.])])
344 AC_SUBST([LIBLTDL])
345
346
347 ###################################
348 # Basic environment checks #
349 ###################################
350
351 #### Checks for header files. ####
352
353 # ISO
354 AC_HEADER_STDC
355
356 # POSIX
357 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
358 netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
359 sys/mman.h sys/select.h sys/socket.h sys/wait.h \
360 sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
361 AC_CHECK_HEADERS([netinet/ip.h], [], [],
362 [#include <sys/types.h>
363 #if HAVE_NETINET_IN_H
364 # include <netinet/in.h>
365 #endif
366 #if HAVE_NETINET_IN_SYSTM_H
367 # include <netinet/in_systm.h>
368 #endif
369 ])
370 AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
371 AC_SUBST(HAVE_SYS_RESOURCE_H)
372 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
373 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
374 AC_SUBST(HAVE_AF_UNIX)
375
376 # Linux
377 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
378 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
379
380 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
381
382 # Solaris
383 AC_CHECK_HEADERS_ONCE([sys/filio.h])
384
385 # Windows
386 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
387
388 # NetBSD
389 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
390
391 # Other
392 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
393 AC_CHECK_HEADERS_ONCE([byteswap.h])
394 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
395 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
396 AC_CHECK_HEADERS_ONCE([execinfo.h])
397 AC_CHECK_HEADERS_ONCE([langinfo.h])
398 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
399
400
401 #### Typdefs, structures, etc. ####
402
403 AC_C_CONST
404 AC_C_BIGENDIAN
405 AC_TYPE_PID_T
406 AC_TYPE_SIZE_T
407 AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
408 AC_TYPE_OFF_T
409
410 AC_TYPE_UID_T
411 AC_CHECK_DECLS(environ)
412
413 # SIGXCPU
414 AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
415 AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
416 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
417
418 # INADDR_NONE, Solaris lacks this
419 AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
420 [AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
421 [AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
422
423
424 # _Bool
425 AC_CACHE_CHECK([whether $CC knows _Bool],
426 pulseaudio_cv__Bool,
427 [AC_COMPILE_IFELSE(
428 AC_LANG_PROGRAM([], [[_Bool b;]]),
429 [pulseaudio_cv__Bool=yes],
430 [pulseaudio_cv__Bool=no])
431 ])
432
433 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
434
435
436 #### Thread support ####
437
438 AX_TLS
439 AS_IF([test "$ac_cv_tls" == "__thread"],
440 AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
441
442 # Win32 build breaks with win32 pthread installed
443 AS_IF([test "x$os_is_win32" != "x1"],
444 [AX_PTHREAD])
445
446 AS_IF([test "x$ax_pthread_ok" == "xyes"],
447 AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
448
449
450 #### Check for libs ####
451
452 # ISO
453 AC_SEARCH_LIBS([pow], [m])
454
455 # POSIX
456 AC_SEARCH_LIBS([sched_setscheduler], [rt])
457 AC_SEARCH_LIBS([dlopen], [dl])
458 AC_SEARCH_LIBS([shm_open], [rt])
459 AC_SEARCH_LIBS([inet_ntop], [nsl])
460 AC_SEARCH_LIBS([timer_create], [rt])
461 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
462 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
463 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
464
465 # BSD
466 AC_SEARCH_LIBS([connect], [socket])
467 AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
468
469 # Darwin/OS X
470 if test "x$os_is_darwin" = "x1" ; then
471 AC_MSG_CHECKING([looking for Apple CoreService Framework])
472 # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
473 AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
474 [LIBS="$LIBS -framework CoreServices"],
475 [AC_MSG_ERROR([CoreServices.h header file not found])]
476 )
477
478 AC_MSG_RESULT([ok])
479 AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
480 HAVE_BONJOUR=1
481 fi
482
483 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
484
485 # Windows
486 AC_SEARCH_LIBS([regexec], [pcreposix])
487 # This magic is needed so we do not needlessly add static libs to the win32 build, disabling its ability to make dlls.
488 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
489
490
491 #### Check for functions ####
492
493 # ISO
494 AC_CHECK_FUNCS_ONCE([lrintf strtof])
495
496 # POSIX
497 AC_FUNC_FORK
498 AC_FUNC_GETGROUPS
499 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
500 getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
501 pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
502 sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
503 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
504 AC_SUBST(HAVE_MKFIFO)
505 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
506
507 # X/OPEN
508 AC_CHECK_FUNCS_ONCE([readlink])
509
510 # SUSv2
511 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
512
513 # SUSv3
514 AC_CHECK_FUNCS_ONCE([strerror_r])
515
516 # BSD
517 AC_CHECK_FUNCS_ONCE([lstat])
518
519 # Non-standard
520 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
521
522 AC_FUNC_ALLOCA
523
524 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
525 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
526
527 # Large File-Support (LFS)
528 AC_SYS_LARGEFILE
529 # Check for open64 to know if the current system does have open64() and similar functions
530 AC_CHECK_FUNCS_ONCE([open64])
531
532
533 ###################################
534 # External libraries #
535 ###################################
536
537 #### [lib]iconv ####
538
539 AM_ICONV
540
541 #### X11 (optional) ####
542
543 AC_ARG_ENABLE([x11],
544 AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
545
546 AS_IF([test "x$enable_x11" != "xno"],
547 [PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
548 HAVE_X11=0)
549
550 AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
551 [AC_MSG_ERROR([*** X11 not found])])
552
553 AC_SUBST(X11_CFLAGS)
554 AC_SUBST(X11_LIBS)
555 AC_SUBST(HAVE_X11)
556 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
557 AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
558
559 #### Capabilities (optional) ####
560
561 CAP_LIBS=''
562
563 AC_ARG_WITH([caps],
564 AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
565
566 if test "x${with_caps}" != "xno"; then
567 AC_SEARCH_LIBS([cap_init], [cap], [], [
568 if test "x${with_caps}" = "xyes" ; then
569 AC_MSG_ERROR([*** POSIX caps libraries not found])
570 fi])
571 AC_CHECK_HEADERS([sys/capability.h], [], [
572 if test "x${with_caps}" = "xyes" ; then
573 AC_MSG_ERROR([*** POSIX caps headers not found])
574 fi])
575 fi
576
577 #### Valgrind (optional) ####
578
579 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
580
581 #### check unit tests ####
582
583 AC_ARG_ENABLE([tests],
584 AS_HELP_STRING([--disable-tests],[Disable unit tests]))
585
586 AS_IF([test "x$enable_tests" != "xno"],
587 [PKG_CHECK_MODULES(LIBCHECK, [ check ], HAVE_LIBCHECK=1, HAVE_LIBCHECK=0)],
588 HAVE_LIBCHECK=0)
589
590 AC_SUBST(LIBCHECK_CFLAGS)
591 AC_SUBST(LIBCHECK_LIBS)
592
593 AS_IF([test "x$enable_tests" = "xyes" && test "x$HAVE_LIBCHECK" = "x0"],
594 [AC_MSG_ERROR([*** check library not found])])
595
596 AM_CONDITIONAL([HAVE_TESTS], [test "x$HAVE_LIBCHECK" = x1])
597
598 #### json parsing ####
599
600 PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])
601 AC_SUBST(LIBJSON_CFLAGS)
602 AC_SUBST(LIBJSON_LIBS)
603
604 #### Sound file ####
605
606 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
607 AC_SUBST(LIBSNDFILE_CFLAGS)
608 AC_SUBST(LIBSNDFILE_LIBS)
609
610 #### atomic-ops ####
611
612 AC_MSG_CHECKING([whether we need libatomic_ops])
613 if test "x$need_libatomic_ops" = "xyes"; then
614 AC_MSG_RESULT([yes])
615 AC_CHECK_HEADERS([atomic_ops.h],
616 [CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
617 [AC_MSG_ERROR([*** libatomic-ops headers not found])])
618
619 # Win32 does not need the lib and breaks horribly if we try to include it
620 AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
621 else
622 AC_MSG_RESULT([no])
623 fi
624
625 #### Libsamplerate support (optional) ####
626
627 AC_ARG_ENABLE([samplerate],
628 AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]))
629
630 AS_IF([test "x$enable_samplerate" != "xno"],
631 [PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
632 HAVE_LIBSAMPLERATE=0)
633
634 AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
635 [AC_MSG_ERROR([*** Libsamplerate not found])])
636
637 AC_SUBST(LIBSAMPLERATE_CFLAGS)
638 AC_SUBST(LIBSAMPLERATE_LIBS)
639 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
640 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
641
642 #### Database support ####
643
644 AC_ARG_WITH([database],
645 AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
646
647
648 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
649 [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
650 HAVE_TDB=0)
651 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
652
653 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
654 [AC_MSG_ERROR([*** tdb not found])])
655
656
657 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
658 [
659 HAVE_GDBM=1
660 AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
661 AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
662 ],
663 HAVE_GDBM=0)
664 AS_IF([test "x$HAVE_GDBM" = "x1"],
665 [
666 with_database=gdbm
667 GDBM_CFLAGS=
668 GDBM_LIBS=-lgdbm
669 ])
670
671 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
672 [AC_MSG_ERROR([*** gdbm not found])])
673
674
675 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
676 HAVE_SIMPLEDB=1,
677 HAVE_SIMPLEDB=0)
678 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
679
680 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
681 AC_MSG_ERROR([*** missing database backend]))
682
683
684 AC_SUBST(TDB_CFLAGS)
685 AC_SUBST(TDB_LIBS)
686 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
687 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
688
689 AC_SUBST(GDBM_CFLAGS)
690 AC_SUBST(GDBM_LIBS)
691 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
692 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
693
694 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
695 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
696
697 #### OSS support (optional) ####
698
699 AC_ARG_ENABLE([oss-output],
700 AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
701
702 AC_ARG_ENABLE([oss-wrapper],
703 AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
704
705 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
706 [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
707 HAVE_OSS=0)
708
709 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
710 [AC_MSG_ERROR([*** OSS support not found])])
711
712 AS_IF([test "x$enable_oss_output" != "xno"],
713 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
714 HAVE_OSS_OUTPUT=0)
715
716 AS_IF([test "x$enable_oss_wrapper" != "xno"],
717 [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
718 HAVE_OSS_WRAPPER=0)
719
720 AC_SUBST(HAVE_OSS_OUTPUT)
721 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
722 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
723 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
724 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
725
726 #### CoreAudio support (optional) ####
727
728 AC_ARG_ENABLE([coreaudio-output],
729 AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
730
731 AS_IF([test "x$enable_coreaudio_output" != "xno"],
732 [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
733 HAVE_COREAUDIO=0)
734
735 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
736 [AC_MSG_ERROR([*** CoreAudio output support not found])])
737
738 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
739
740 #### ALSA support (optional) ####
741
742 AC_ARG_ENABLE([alsa],
743 AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
744
745 AS_IF([test "x$enable_alsa" != "xno"],
746 [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
747 HAVE_ALSA=0)
748
749 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
750 [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
751
752 AC_SUBST(ASOUNDLIB_CFLAGS)
753 AC_SUBST(ASOUNDLIB_LIBS)
754 AC_SUBST(HAVE_ALSA)
755 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
756 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
757
758 #### EsounD support (optional) ####
759
760 AC_ARG_ENABLE([esound],
761 AS_HELP_STRING([--disable-esound],[Disable optional EsounD support]))
762 AM_CONDITIONAL([HAVE_ESOUND], [test "x$enable_esound" != "xno"])
763 AS_IF([test "x$enable_esound" != "xno"], [HAVE_ESOUND=1])
764
765 #### Solaris audio support (optional) ####
766
767 AC_ARG_ENABLE([solaris],
768 AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
769
770 AS_IF([test "x$enable_solaris" != "xno"],
771 [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
772 HAVE_SOLARIS=0)
773
774 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
775 [AC_MSG_ERROR([*** Solaris audio support not found])])
776
777 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
778 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
779
780 #### WaveOut audio support (optional) ####
781
782 AC_ARG_ENABLE([waveout],
783 AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
784
785 AS_IF([test "x$enable_waveout" != "xno"],
786 [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
787 HAVE_WAVEOUT=0)
788
789 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
790 [AC_MSG_ERROR([*** WaveOut audio support not found])])
791
792 AC_SUBST(HAVE_WAVEOUT)
793 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
794 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
795
796 #### GLib 2 support (optional) ####
797
798 AC_ARG_ENABLE([glib2],
799 AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
800
801 AS_IF([test "x$enable_glib2" != "xno"],
802 [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
803 HAVE_GLIB20=0)
804
805 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
806 [AC_MSG_ERROR([*** GLib 2 support not found])])
807
808 AC_SUBST(GLIB20_CFLAGS)
809 AC_SUBST(GLIB20_LIBS)
810 AC_SUBST(HAVE_GLIB20)
811 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
812 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
813
814 #### GTK2 support (optional) ####
815
816 AC_ARG_ENABLE([gtk2],
817 AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]))
818
819 AS_IF([test "x$enable_gtk2" != "xno"],
820 [PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ], HAVE_GTK20=1, HAVE_GTK20=0)],
821 HAVE_GTK20=0)
822
823 AS_IF([test "x$enable_gtk2" = "xyes" && test "x$HAVE_GTK20" = "x0"],
824 [AC_MSG_ERROR([*** Gtk+ 2 support not found])])
825
826 AC_SUBST(GTK20_CFLAGS)
827 AC_SUBST(GTK20_LIBS)
828 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
829 AS_IF([test "x$HAVE_GTK20" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
830
831 #### GConf support (optional) ####
832
833 AC_ARG_ENABLE([gconf],
834 AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
835
836 AS_IF([test "x$enable_gconf" != "xno"],
837 [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
838 HAVE_GCONF=0)
839
840 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
841 [AC_MSG_ERROR([*** GConf support not found])])
842
843 AC_SUBST(GCONF_CFLAGS)
844 AC_SUBST(GCONF_LIBS)
845 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
846
847 #### Avahi support (optional) ####
848
849 AC_ARG_ENABLE([avahi],
850 AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
851
852 AS_IF([test "x$enable_avahi" != "xno"],
853 [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
854 HAVE_AVAHI=0)
855
856 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
857 [AC_MSG_ERROR([*** Avahi support not found])])
858
859 AC_SUBST(AVAHI_CFLAGS)
860 AC_SUBST(AVAHI_LIBS)
861 AC_SUBST(HAVE_AVAHI)
862 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
863
864 #### JACK (optional) ####
865
866 AC_ARG_ENABLE([jack],
867 AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
868
869 AS_IF([test "x$enable_jack" != "xno"],
870 [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
871 HAVE_JACK=0)
872
873 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
874 [AC_MSG_ERROR([*** JACK support not found])])
875
876 AC_SUBST(JACK_CFLAGS)
877 AC_SUBST(JACK_LIBS)
878 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
879
880 #### Async DNS support (optional) ####
881
882 AC_ARG_ENABLE([asyncns],
883 AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
884
885 AS_IF([test "x$enable_asyncns" != "xno"],
886 [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
887 HAVE_LIBASYNCNS=0)
888
889 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
890 [AC_MSG_ERROR([*** Async DNS support not found])])
891
892 AC_SUBST(LIBASYNCNS_CFLAGS)
893 AC_SUBST(LIBASYNCNS_LIBS)
894 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
895 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
896
897 #### TCP wrappers (optional) ####
898
899 AC_ARG_ENABLE([tcpwrap],
900 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
901
902 AS_IF([test "x$enable_tcpwrap" != "xno"],
903 [
904 ACX_LIBWRAP
905 AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
906 ],
907 HAVE_TCPWRAP=0)
908
909 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
910 [AC_MSG_ERROR([*** TCP wrappers support not found])])
911
912 AC_SUBST(LIBWRAP_LIBS)
913
914 #### LIRC support (optional) ####
915
916 AC_ARG_ENABLE([lirc],
917 AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
918
919 LIRC_CFLAGS=
920 LIRC_LIBS=
921
922 AS_IF([test "x$enable_lirc" != "xno"],
923 [
924 HAVE_LIRC=1
925 AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
926 AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
927 ],
928 HAVE_LIRC=0)
929
930 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
931 [AC_MSG_ERROR([*** LIRC support not found])])
932
933 AC_SUBST(LIRC_CFLAGS)
934 AC_SUBST(LIRC_LIBS)
935 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
936
937 #### D-Bus support (optional) ####
938
939 AC_ARG_ENABLE([dbus],
940 AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
941
942 AS_IF([test "x$enable_dbus" != "xno"],
943 [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.3.0 ], HAVE_DBUS=1, HAVE_DBUS=0)],
944 HAVE_DBUS=0)
945
946 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
947 [AC_MSG_ERROR([*** D-Bus (1.3.0+) support not found])])
948
949 AS_IF([test "x$HAVE_DBUS" = "x1"],
950 [
951 save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
952 save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
953 AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
954 CFLAGS="$save_CFLAGS"
955 LIBS="$save_LIBS"
956 ])
957
958 AC_SUBST(DBUS_CFLAGS)
959 AC_SUBST(DBUS_LIBS)
960 AC_SUBST(HAVE_DBUS)
961 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
962 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
963
964 PA_MACHINE_ID="${sysconfdir}/machine-id"
965 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
966 PA_MACHINE_ID_FALLBACK="${localstatedir}/lib/dbus/machine-id"
967 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
968 [Fallback machine-id file])
969
970 #### BlueZ support (optional, dependant on D-Bus) ####
971
972 AC_ARG_ENABLE([bluez],
973 AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]))
974
975 AS_IF([test "x$enable_bluez" != "xno"],
976 [PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
977 HAVE_BLUEZ=0)
978 AS_IF([test "x$enable_bluez" != "xno"],
979 [PKG_CHECK_MODULES(SBC, [ sbc >= 1.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
980 HAVE_BLUEZ=0)
981 AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_BLUEZ=0)
982
983 AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"],
984 [AC_MSG_ERROR([*** BLUEZ support not found (requires D-Bus)])])
985
986 AC_SUBST(BLUEZ_CFLAGS)
987 AC_SUBST(BLUEZ_LIBS)
988 AC_SUBST(HAVE_BLUEZ)
989 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
990
991 #### UDEV support (optional) ####
992
993 AC_ARG_ENABLE([udev],
994 AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
995
996 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
997 [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
998 HAVE_UDEV=0)
999
1000 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
1001 [AC_MSG_ERROR([*** UDEV support not found])])
1002
1003 AC_SUBST(UDEV_CFLAGS)
1004 AC_SUBST(UDEV_LIBS)
1005 AC_SUBST(HAVE_UDEV)
1006 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1007 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
1008
1009 #### HAL compat support (optional, dependant on UDEV) ####
1010
1011 AC_ARG_ENABLE([hal-compat],
1012 AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1013
1014 AS_IF([test "x$enable_hal_compat" != "xno"],
1015 [AS_IF([test "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1016 HAVE_HAL_COMPAT=0)
1017
1018 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1019 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1020
1021 #### IPv6 connection support (optional) ####
1022
1023 AC_ARG_ENABLE([ipv6],
1024 AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1025
1026 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1027
1028 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1029
1030 #### OpenSSL support (optional) ####
1031
1032 AC_ARG_ENABLE([openssl],
1033 AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1034
1035 AS_IF([test "x$enable_openssl" != "xno"],
1036 [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1037 HAVE_OPENSSL=0)
1038
1039 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1040 [AC_MSG_ERROR([*** OpenSSL support not found])])
1041
1042 AC_SUBST(OPENSSL_CFLAGS)
1043 AC_SUBST(OPENSSL_LIBS)
1044 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1045 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1046
1047 #### FFTW (optional) ####
1048
1049 AC_ARG_WITH([fftw],
1050 AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1051
1052 AS_IF([test "x$with_fftw" != "xno"],
1053 [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1054 HAVE_FFTW=0)
1055
1056 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1057 [AC_MSG_ERROR([*** FFTW support not found])])
1058
1059 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1060
1061 #### speex (optional) ####
1062
1063 AC_ARG_WITH([speex],
1064 AS_HELP_STRING([--without-speex],[Omit speex (resampling, AEC)]))
1065
1066 AS_IF([test "x$with_speex" != "xno"],
1067 [PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ], HAVE_SPEEX=1, HAVE_SPEEX=0)],
1068 HAVE_SPEEX=0)
1069
1070 AS_IF([test "x$with_speex" = "xyes" && test "x$HAVE_SPEEX" = "x0"],
1071 [AC_MSG_ERROR([*** speex support not found])])
1072
1073 AM_CONDITIONAL([HAVE_SPEEX], [test "x$HAVE_SPEEX" = "x1"])
1074 AS_IF([test "x$HAVE_SPEEX" = "x1"], AC_DEFINE([HAVE_SPEEX], 1, [Have speex]))
1075
1076 AC_SUBST(LIBSPEEX_CFLAGS)
1077 AC_SUBST(LIBSPEEX_LIBS)
1078
1079 #### Xen support (optional) ####
1080
1081 AC_ARG_ENABLE([xen],
1082 AS_HELP_STRING([--disable-xen],[Disable optional Xen paravirtualized driver]))
1083
1084 XEN_CFLAGS=
1085 XEN_LIBS=
1086
1087 AS_IF([test "x$enable_xen" != "xno"],
1088 [
1089 HAVE_XEN=1
1090 AC_CHECK_HEADER(xenctrl.h, [], [HAVE_XEN=0])
1091 AC_CHECK_HEADER(xs.h, [], [HAVE_XEN=0])
1092 AC_CHECK_LIB(xenctrl, xc_interface_open, [XEN_LIBS="$XEN_LIBS -lxenctrl"], [HAVE_XEN=0])
1093 AC_CHECK_LIB(xenstore, xs_domain_open, [XEN_LIBS="$XEN_LIBS -lxenstore"], [HAVE_XEN=0])
1094 ],
1095 HAVE_XEN=0)
1096
1097 AS_IF([test "x$enable_xen" = "xyes" && test "x$HAVE_XEN" = "x0"],
1098 [AC_MSG_ERROR([*** Xen development headers or libraries not found])])
1099
1100 AC_SUBST(XEN_CFLAGS)
1101 AC_SUBST(XEN_LIBS)
1102 AM_CONDITIONAL([HAVE_XEN], [test "x$HAVE_XEN" = x1])
1103
1104 #### gcov support (optional) #####
1105
1106 AC_ARG_ENABLE([gcov],
1107 AS_HELP_STRING([--enable-gcov],[Enable optional gcov coverage analysis]))
1108
1109 GCOV_CFLAGS=
1110 GCOV_LIBS=" -lgcov"
1111
1112 AS_IF([test "x$enable_gcov" = "xyes"],
1113 [
1114 HAVE_GCOV=1
1115 GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs -ftest-coverage"
1116 GCOV_LIBS="$GCOV_LIBS -fprofile-arcs"
1117 ],
1118 HAVE_GCOV=0)
1119
1120 AC_SUBST(GCOV_CFLAGS)
1121 AC_SUBST(GCOV_LIBS)
1122 AM_CONDITIONAL([HAVE_GCOV], [test "x$HAVE_GCOV" = x1])
1123
1124 #### ORC (optional) ####
1125
1126 ORC_CHECK([0.4.11])
1127
1128 #### systemd support (optional) ####
1129
1130 AC_ARG_ENABLE([systemd],
1131 AS_HELP_STRING([--disable-systemd],[Disable optional systemd support]))
1132
1133 AS_IF([test "x$enable_systemd" != "xno"],
1134 [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd-login libsystemd-daemon ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
1135 HAVE_SYSTEMD=0)
1136
1137 AS_IF([test "x$enable_systemd" = "xyes" && test "x$HAVE_SYSTEMD" = "x0"],
1138 [AC_MSG_ERROR([*** Needed systemd support not found])])
1139
1140 AC_SUBST(HAVE_SYSTEMD)
1141 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$HAVE_SYSTEMD" = x1])
1142 AS_IF([test "x$HAVE_SYSTEMD" = "x1"], AC_DEFINE([HAVE_SYSTEMD], 1, [Have SYSTEMD?]))
1143
1144 #### Build and Install man pages ####
1145
1146 AC_ARG_ENABLE([manpages],
1147 AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1148
1149 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1150
1151 #### PulseAudio system group & user #####
1152
1153 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1154 if test -z "$with_system_user" ; then
1155 PA_SYSTEM_USER=pulse
1156 else
1157 PA_SYSTEM_USER=$with_system_user
1158 fi
1159 AC_SUBST(PA_SYSTEM_USER)
1160 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1161
1162 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1163 if test -z "$with_system_group" ; then
1164 PA_SYSTEM_GROUP=pulse
1165 else
1166 PA_SYSTEM_GROUP=$with_system_group
1167 fi
1168 AC_SUBST(PA_SYSTEM_GROUP)
1169 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1170
1171 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)]))
1172 if test -z "$with_access_group" ; then
1173 PA_ACCESS_GROUP=pulse-access
1174 else
1175 PA_ACCESS_GROUP=$with_access_group
1176 fi
1177 AC_SUBST(PA_ACCESS_GROUP)
1178 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1179
1180 AC_ARG_ENABLE([per-user-esound-socket],
1181 AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1182
1183 if test "x$enable_per_user_esound_socket" != "xno"; then
1184 USE_PER_USER_ESOUND_SOCKET=1
1185 AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1186 else
1187 USE_PER_USER_ESOUND_SOCKET=0
1188 fi
1189
1190 #### PulseAudio system runtime dir ####
1191
1192 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1193 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1194 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1195 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1196 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1197 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1198
1199 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1200 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1201
1202 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1203 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1204
1205 AC_SUBST(PA_SOEXT, [.so])
1206
1207 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1208 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1209
1210 AC_DEFINE_UNQUOTED(PA_BUILDDIR, "${ac_pwd}/src", [Location of uninstalled binaries])
1211
1212 #### Mac OSX specific stuff #####
1213
1214 AC_ARG_ENABLE(mac-universal,
1215 AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1216 enable_mac_universal=$enableval, enable_mac_universal="no")
1217
1218 AC_ARG_WITH(mac-version-min,
1219 AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1220 mac_version_min=$withval, mac_version_min="10.5")
1221
1222 AC_ARG_WITH(mac-sysroot,
1223 AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1224 mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
1225
1226 if test "x$os_is_darwin" = "x1" ; then
1227 LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1228 CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1229
1230 if test "x$enable_mac_universal" = "xyes" ; then
1231 mac_arches="-arch i386 -arch x86_64"
1232 LDFLAGS="$LDFLAGS $mac_arches"
1233 CFLAGS="$CFLAGS $mac_arches"
1234 fi
1235 fi
1236
1237 AC_ARG_ENABLE([webrtc-aec],
1238 AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1239
1240 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1241 [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1242 [HAVE_WEBRTC=0])
1243
1244 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1245 [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1246
1247 AC_SUBST(WEBRTC_CFLAGS)
1248 AC_SUBST(WEBRTC_LIBS)
1249 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1250
1251 AC_ARG_ENABLE([adrian-aec],
1252 AS_HELP_STRING([--enable-adrian-aec], [Enable Adrian's optional echo canceller]))
1253 AS_IF([test "x$enable_adrian_aec" != "xno"],
1254 [HAVE_ADRIAN_EC=1])
1255 AM_CONDITIONAL([HAVE_ADRIAN_EC], [test "x$HAVE_ADRIAN_EC" = "x1"])
1256
1257
1258
1259 ###################################
1260 # Output #
1261 ###################################
1262
1263 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1264
1265 # Check whether to build tests by default (as compile-test) or not
1266 AC_ARG_ENABLE([default-build-tests],
1267 AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1268 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1269
1270 AC_ARG_ENABLE([legacy-database-entry-format],
1271 AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1272 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1273 AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1274 fi
1275 AC_DEFINE([WIBBLE], 1, [Just a test.])
1276
1277 AC_ARG_ENABLE([static-bins],
1278 AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1279 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1280
1281 AC_ARG_WITH(
1282 [preopen-mods],
1283 AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1284 [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1285 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1286 if test "x$PREOPEN_MODS" != "xall" ; then
1287 tmpLIBS=""
1288 for mod in $PREOPEN_MODS; do
1289 tmpLIBS="$tmpLIBS module-$mod.la"
1290 done
1291 PREOPEN_MODS="$tmpLIBS"
1292 AC_SUBST(PREOPEN_MODS)
1293 fi
1294
1295 AC_ARG_WITH(
1296 [module-dir],
1297 AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1298 [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1299
1300 AC_SUBST(modlibexecdir)
1301 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1302
1303 AC_ARG_WITH(
1304 [udev-rules-dir],
1305 AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1306 [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1307
1308 AC_SUBST(udevrulesdir)
1309
1310 AC_ARG_ENABLE([force-preopen],
1311 AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1312
1313 if test "x$enable_force_preopen" = "xyes"; then
1314 FORCE_PREOPEN=yes
1315 else
1316 FORCE_PREOPEN=no
1317 fi
1318
1319 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1320
1321 AC_CONFIG_FILES([
1322 Makefile
1323 src/Makefile
1324 man/Makefile
1325 libpulse.pc
1326 libpulse-simple.pc
1327 libpulse-mainloop-glib.pc
1328 doxygen/Makefile
1329 doxygen/doxygen.conf
1330 src/pulse/version.h
1331 po/Makefile.in
1332 man/pulseaudio.1.xml
1333 man/esdcompat.1.xml
1334 man/pax11publish.1.xml
1335 man/paplay.1.xml
1336 man/pacat.1.xml
1337 man/pacmd.1.xml
1338 man/pactl.1.xml
1339 man/pasuspender.1.xml
1340 man/padsp.1.xml
1341 man/pulse-daemon.conf.5.xml
1342 man/pulse-client.conf.5.xml
1343 man/default.pa.5.xml
1344 man/pulse-cli-syntax.5.xml
1345 man/start-pulseaudio-kde.1.xml
1346 man/start-pulseaudio-x11.1.xml
1347 ])
1348
1349 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1350 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1351 AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
1352 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1353 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1354 [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1355 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1356 [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1357 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1358 [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1359
1360 # CMake related ProjectConfig files
1361 PA_LIBDIR="$libdir"
1362 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1363 PA_INCDIR="$includedir"
1364 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1365
1366 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1367 [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1368 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1369
1370 AC_OUTPUT
1371
1372 # ==========================================================================
1373
1374 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1375 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1376 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1377 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1378 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1379 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1380 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1381 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1382 AS_IF([test "x$HAVE_GTK20" = "x1"], ENABLE_GTK20=yes, ENABLE_GTK20=no)
1383 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1384 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1385 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1386 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1387 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1388 AS_IF([test "x$HAVE_XEN" = "x1"], ENABLE_XEN=yes, ENABLE_XEN=no)
1389 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1390 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1391 AS_IF([test "x$HAVE_SYSTEMD" = "x1"], ENABLE_SYSTEMD=yes, ENABLE_SYSTEMD=no)
1392 AS_IF([test "x$HAVE_BLUEZ" = "x1"], ENABLE_BLUEZ=yes, ENABLE_BLUEZ=no)
1393 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1394 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1395 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
1396 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1397 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1398 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1399 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1400 AS_IF([test "x$HAVE_ADRIAN_EC" = "x1"], ENABLE_ADRIAN_EC=yes, ENABLE_ADRIAN_EC=no)
1401 AS_IF([test "x$HAVE_SPEEX" = "x1"], ENABLE_SPEEX=yes, ENABLE_SPEEX=no)
1402 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1403 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1404 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1405 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1406 AS_IF([test "x$HAVE_ESOUND" = "x1"], ENABLE_ESOUND=yes, ENABLE_ESOUND=no)
1407 AS_IF([test "x$HAVE_ESOUND" = "x1" -a "x$USE_PER_USER_ESOUND_SOCKET" = "x1"], ENABLE_PER_USER_ESOUND_SOCKET=yes, ENABLE_PER_USER_ESOUND_SOCKET=no)
1408 AS_IF([test "x$HAVE_GCOV" = "x1"], ENABLE_GCOV=yes, ENABLE_GCOV=no)
1409 AS_IF([test "x$HAVE_LIBCHECK" = "x1"], ENABLE_TESTS=yes, ENABLE_TESTS=no)
1410 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1411
1412 echo "
1413 ---{ $PACKAGE_NAME $VERSION }---
1414
1415 prefix: ${prefix}
1416 sysconfdir: ${sysconfdir}
1417 localstatedir: ${localstatedir}
1418 modlibexecdir: ${modlibexecdir}
1419 System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
1420 System State Path: ${PA_SYSTEM_STATE_PATH}
1421 System Config Path: ${PA_SYSTEM_CONFIG_PATH}
1422 Compiler: ${CC}
1423 CFLAGS: ${CFLAGS}
1424 LIBS: ${LIBS}
1425
1426 Enable X11: ${ENABLE_X11}
1427 Enable OSS Output: ${ENABLE_OSS_OUTPUT}
1428 Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
1429 Enable EsounD: ${ENABLE_ESOUND}
1430 Enable Alsa: ${ENABLE_ALSA}
1431 Enable CoreAudio: ${ENABLE_COREAUDIO}
1432 Enable Solaris: ${ENABLE_SOLARIS}
1433 Enable WaveOut: ${ENABLE_WAVEOUT}
1434 Enable GLib 2.0: ${ENABLE_GLIB20}
1435 Enable Gtk+ 2.0: ${ENABLE_GTK20}
1436 Enable GConf: ${ENABLE_GCONF}
1437 Enable Avahi: ${ENABLE_AVAHI}
1438 Enable Jack: ${ENABLE_JACK}
1439 Enable Async DNS: ${ENABLE_LIBASYNCNS}
1440 Enable LIRC: ${ENABLE_LIRC}
1441 Enable Xen PV driver: ${ENABLE_XEN}
1442 Enable D-Bus: ${ENABLE_DBUS}
1443 Enable BlueZ: ${ENABLE_BLUEZ}
1444 Enable udev: ${ENABLE_UDEV}
1445 Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
1446 Enable systemd login: ${ENABLE_SYSTEMD}
1447 Enable TCP Wrappers: ${ENABLE_TCPWRAP}
1448 Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
1449 Enable IPv6: ${ENABLE_IPV6}
1450 Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1451 Enable fftw: ${ENABLE_FFTW}
1452 Enable orc: ${ENABLE_ORC}
1453 Enable Adrian echo canceller: ${ENABLE_ADRIAN_EC}
1454 Enable speex (resampler, AEC): ${ENABLE_SPEEX}
1455 Enable WebRTC echo canceller: ${ENABLE_WEBRTC}
1456 Enable gcov coverage: ${ENABLE_GCOV}
1457 Enable unit tests: ${ENABLE_TESTS}
1458 Database
1459 tdb: ${ENABLE_TDB}
1460 gdbm: ${ENABLE_GDBM}
1461 simple database: ${ENABLE_SIMPLEDB}
1462
1463 System User: ${PA_SYSTEM_USER}
1464 System Group: ${PA_SYSTEM_GROUP}
1465 Access Group: ${PA_ACCESS_GROUP}
1466 Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1467 Force preopen: ${FORCE_PREOPEN}
1468 Preopened modules: ${PREOPEN_MODS}
1469
1470 Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1471 "
1472
1473 if test "${ENABLE_SPEEX}" = "no" && test "${ENABLE_WEBRTC}" = "no" && test "${ENABLE_ADRIAN_EC}" = "no" ; then
1474 AC_MSG_ERROR([At least one echo canceller implementation must be available.])
1475 fi
1476
1477 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1478 echo "
1479 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1480 You do not have D-Bus support enabled. It is strongly recommended
1481 that you enable D-Bus support if your platform supports it.
1482 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1483 to the Device Reservation Protocol to speak to JACK, Bluetooth
1484 support and even a native control protocol for communicating and
1485 controling the PulseAudio daemon itself.
1486 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1487 "
1488 fi
1489
1490 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1491 echo "
1492 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1493 You do not have udev support enabled. It is strongly recommended
1494 that you enable udev support if your platform supports it as it is
1495 the primary method used to detect hardware audio devices (on Linux)
1496 and is thus a critical part of PulseAudio on that platform.
1497 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1498 "
1499 fi
1500
1501 if test "${ENABLE_SPEEX}" = "no" && test "x$os_is_win32" != "x1" ; then
1502 echo "
1503 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1504 You do not have speex support enabled. It is strongly recommended
1505 that you enable speex support if your platform supports it as it is
1506 the primary method used for audio resampling and is thus a critical
1507 part of PulseAudio on that platform.
1508 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1509 "
1510 fi