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