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