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