add support for samsung power management - samsung
[platform/upstream/pulseaudio.git] / 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 #### samsung PM API support ####
669
670 AC_ARG_ENABLE(pmlock, AC_HELP_STRING([--enable-pmlock], [using Samsung power management api]),
671 [
672  case "${enableval}" in
673      yes) USE_PM_LOCK=yes ;;
674      no)  USE_PM_LOCK=no ;;
675      *)   AC_MSG_ERROR(bad value ${enableval} for --enable-pmlock) ;;
676  esac
677  ],[USE_PM_LOCK=no])
678 AM_CONDITIONAL(USE_PM_LOCK, test "x$USE_PM_LOCK" = "xyes")
679
680 #### Database support ####
681
682 AC_ARG_WITH([database],
683     AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
684
685
686 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
687     [PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
688     HAVE_TDB=0)
689 AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
690
691 AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
692     [AC_MSG_ERROR([*** tdb not found])])
693
694
695 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
696     [
697         HAVE_GDBM=1
698         AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
699         AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
700     ],
701     HAVE_GDBM=0)
702 AS_IF([test "x$HAVE_GDBM" = "x1"],
703     [
704         with_database=gdbm
705         GDBM_CFLAGS=
706         GDBM_LIBS=-lgdbm
707     ])
708
709 AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
710     [AC_MSG_ERROR([*** gdbm not found])])
711
712
713 AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
714     HAVE_SIMPLEDB=1,
715     HAVE_SIMPLEDB=0)
716 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
717
718 AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
719     AC_MSG_ERROR([*** missing database backend]))
720
721
722 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
723 AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
724
725 AC_SUBST(GDBM_CFLAGS)
726 AC_SUBST(GDBM_LIBS)
727 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
728 AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
729
730 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
731 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
732
733 #### OSS support (optional) ####
734
735 AC_ARG_ENABLE([oss-output],
736     AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
737
738 AC_ARG_ENABLE([oss-wrapper],
739     AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
740
741 AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
742     [AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
743     HAVE_OSS=0)
744
745 AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
746     [AC_MSG_ERROR([*** OSS support not found])])
747
748 AS_IF([test "x$enable_oss_output" != "xno"],
749     [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
750     HAVE_OSS_OUTPUT=0)
751
752 AS_IF([test "x$enable_oss_wrapper" != "xno"],
753     [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
754     HAVE_OSS_WRAPPER=0)
755
756 AC_SUBST(HAVE_OSS_OUTPUT)
757 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
758 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
759 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
760 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
761
762 #### CoreAudio support (optional) ####
763
764 AC_ARG_ENABLE([coreaudio-output],
765     AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
766
767 AS_IF([test "x$enable_coreaudio_output" != "xno"],
768     [AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
769     HAVE_COREAUDIO=0)
770
771 AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
772     [AC_MSG_ERROR([*** CoreAudio output support not found])])
773
774 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
775
776 #### ALSA support (optional) ####
777
778 AC_ARG_ENABLE([alsa],
779     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
780
781 AS_IF([test "x$enable_alsa" != "xno"],
782     [PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
783     HAVE_ALSA=0)
784
785 AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
786     [AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
787
788 AS_IF([test "x$HAVE_ALSA" = "x1"],
789     [
790         save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS"
791         AC_CHECK_HEADERS([use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
792         CPPFLAGS="$save_CPPFLAGS"
793     ],
794     HAVE_ALSA_UCM=0)
795
796 AC_SUBST(HAVE_ALSA)
797 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
798 AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
799 AS_IF([test "x$HAVE_ALSA_UCM" = "x1"], AC_DEFINE([HAVE_ALSA_UCM], 1, [Have ALSA UCM?]))
800
801 #### EsounD support (optional) ####
802
803 AC_ARG_ENABLE([esound],
804     AS_HELP_STRING([--disable-esound],[Disable optional EsounD support]))
805 AM_CONDITIONAL([HAVE_ESOUND], [test "x$enable_esound" != "xno"])
806 AS_IF([test "x$enable_esound" != "xno"], [HAVE_ESOUND=1])
807
808 #### Solaris audio support (optional) ####
809
810 AC_ARG_ENABLE([solaris],
811     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
812
813 AS_IF([test "x$enable_solaris" != "xno"],
814     [AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
815     HAVE_SOLARIS=0)
816
817 AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
818     [AC_MSG_ERROR([*** Solaris audio support not found])])
819
820 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
821 AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
822
823 #### WaveOut audio support (optional) ####
824
825 AC_ARG_ENABLE([waveout],
826     AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
827
828 AS_IF([test "x$enable_waveout" != "xno"],
829     [AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
830     HAVE_WAVEOUT=0)
831
832 AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
833     [AC_MSG_ERROR([*** WaveOut audio support not found])])
834
835 AC_SUBST(HAVE_WAVEOUT)
836 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
837 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
838
839 #### GLib 2 support (optional) ####
840
841 AC_ARG_ENABLE([glib2],
842     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
843
844 AS_IF([test "x$enable_glib2" != "xno"],
845     [PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
846     HAVE_GLIB20=0)
847
848 AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
849     [AC_MSG_ERROR([*** GLib 2 support not found])])
850
851 AC_SUBST(HAVE_GLIB20)
852 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
853 AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
854
855 #### GTK3 support (optional) ####
856
857 AC_ARG_ENABLE([gtk3],
858     AS_HELP_STRING([--disable-gtk3],[Disable optional Gtk+ 3 support]))
859
860 AS_IF([test "x$enable_gtk3" != "xno"],
861     [PKG_CHECK_MODULES(GTK30, [ gtk+-3.0 ], HAVE_GTK30=1, HAVE_GTK30=0)],
862     HAVE_GTK30=0)
863
864 AS_IF([test "x$enable_gtk3" = "xyes" && test "x$HAVE_GTK30" = "x0"],
865     [AC_MSG_ERROR([*** Gtk+ 3 support not found])])
866
867 AM_CONDITIONAL([HAVE_GTK30], [test "x$HAVE_GTK30" = x1])
868 AS_IF([test "x$HAVE_GTK30" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
869
870 #### GConf support (optional) ####
871
872 AC_ARG_ENABLE([gconf],
873     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
874
875 AS_IF([test "x$enable_gconf" != "xno"],
876     [PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
877     HAVE_GCONF=0)
878
879 AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
880     [AC_MSG_ERROR([*** GConf support not found])])
881
882 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
883
884 #### Avahi support (optional) ####
885
886 AC_ARG_ENABLE([avahi],
887     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
888
889 AS_IF([test "x$enable_avahi" != "xno"],
890     [PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
891     HAVE_AVAHI=0)
892
893 AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
894     [AC_MSG_ERROR([*** Avahi support not found])])
895
896 AC_SUBST(HAVE_AVAHI)
897 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
898
899 #### JACK (optional) ####
900
901 AC_ARG_ENABLE([jack],
902     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
903
904 AS_IF([test "x$enable_jack" != "xno"],
905     [PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
906     HAVE_JACK=0)
907
908 AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
909     [AC_MSG_ERROR([*** JACK support not found])])
910
911 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
912
913 #### Async DNS support (optional) ####
914
915 AC_ARG_ENABLE([asyncns],
916     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
917
918 AS_IF([test "x$enable_asyncns" != "xno"],
919     [PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
920     HAVE_LIBASYNCNS=0)
921
922 AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
923     [AC_MSG_ERROR([*** Async DNS support not found])])
924
925 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
926 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
927
928 #### TCP wrappers (optional) ####
929
930 AC_ARG_ENABLE([tcpwrap],
931     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
932
933 AS_IF([test "x$enable_tcpwrap" != "xno"],
934     [
935         ACX_LIBWRAP
936         AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
937     ],
938     HAVE_TCPWRAP=0)
939
940 AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
941     [AC_MSG_ERROR([*** TCP wrappers support not found])])
942
943 AC_SUBST(LIBWRAP_LIBS)
944
945 #### LIRC support (optional) ####
946
947 AC_ARG_ENABLE([lirc],
948     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
949
950 LIRC_CFLAGS=
951 LIRC_LIBS=
952
953 AS_IF([test "x$enable_lirc" != "xno"],
954     [
955         HAVE_LIRC=1
956         AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
957         AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
958     ],
959     HAVE_LIRC=0)
960
961 AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
962     [AC_MSG_ERROR([*** LIRC support not found])])
963
964 AC_SUBST(LIRC_CFLAGS)
965 AC_SUBST(LIRC_LIBS)
966 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
967
968 #### D-Bus support (optional) ####
969
970 AC_ARG_ENABLE([dbus],
971     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
972
973 AS_IF([test "x$enable_dbus" != "xno"],
974     [PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.4.12 ], HAVE_DBUS=1, HAVE_DBUS=0)],
975     HAVE_DBUS=0)
976
977 AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
978     [AC_MSG_ERROR([*** D-Bus not available or too old version])])
979
980 AS_IF([test "x$HAVE_DBUS" = "x1"],
981     [
982         save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
983         save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
984         AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
985         CFLAGS="$save_CFLAGS"
986         LIBS="$save_LIBS"
987     ])
988
989 AC_SUBST(HAVE_DBUS)
990 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
991 AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
992
993 PA_MACHINE_ID="${sysconfdir}/machine-id"
994 AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
995 PA_MACHINE_ID_FALLBACK="${localstatedir}/lib/dbus/machine-id"
996 AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
997               [Fallback machine-id file])
998
999 #### BlueZ support (optional, dependent on D-Bus and SBC) ####
1000
1001 AC_ARG_ENABLE([bluez4],
1002     AS_HELP_STRING([--disable-bluez4],[Disable optional BlueZ 4 support]))
1003 AC_ARG_ENABLE([bluez5],
1004     AS_HELP_STRING([--disable-bluez5],[Disable optional BlueZ 5 support]))
1005
1006 ## SBC ##
1007 AS_IF([test "x$enable_bluez4" != "xno" || test "x$enable_bluez5" != "xno"],
1008     [PKG_CHECK_MODULES(SBC, [ sbc >= 1.0 ], HAVE_SBC=1, HAVE_SBC=0)],
1009     HAVE_SBC=0)
1010
1011 ## BlueZ 4 ##
1012 AS_IF([test "x$enable_bluez4" != "xno" && test "x$HAVE_DBUS" = "x1" && test "x$HAVE_SBC" = "x1"], HAVE_BLUEZ_4=1)
1013 AS_IF([test "x$enable_bluez4" = "xyes" && test "x$HAVE_BLUEZ_4" != "x1"],
1014     [AC_MSG_ERROR([*** BLUEZ 4 support not found (requires sbc and D-Bus)])])
1015 AC_SUBST(HAVE_BLUEZ_4)
1016 AM_CONDITIONAL([HAVE_BLUEZ_4], [test "x$HAVE_BLUEZ_4" = x1])
1017
1018 ## BlueZ 5 ##
1019 AS_IF([test "x$enable_bluez5" != "xno" && test "x$HAVE_DBUS" = "x1" && test "x$HAVE_SBC" = "x1"], HAVE_BLUEZ_5=1)
1020 AS_IF([test "x$enable_bluez5" = "xyes" && test "x$HAVE_BLUEZ_5" != "x1"],
1021     [AC_MSG_ERROR([*** BLUEZ 5 support not found (requires sbc and D-Bus)])])
1022 AC_SUBST(HAVE_BLUEZ_5)
1023 AM_CONDITIONAL([HAVE_BLUEZ_5], [test "x$HAVE_BLUEZ_5" = x1])
1024
1025 AS_IF([test "x$HAVE_BLUEZ_4" = "x1" || test "x$HAVE_BLUEZ_5" = "x1"], HAVE_BLUEZ=1)
1026 AC_SUBST(HAVE_BLUEZ)
1027 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1028
1029 ## Headset profiles backend ##
1030 AC_ARG_WITH(bluetooth_headset_backend, AS_HELP_STRING([--with-bluetooth-headset-backend=<null|ofono>],[Backend for Bluetooth headset profiles (null)]))
1031 if test -z "$with_bluetooth_headset_backend" ; then
1032     BLUETOOTH_HEADSET_BACKEND=null
1033 else
1034     BLUETOOTH_HEADSET_BACKEND=$with_bluetooth_headset_backend
1035 fi
1036 AC_SUBST(BLUETOOTH_HEADSET_BACKEND)
1037
1038 #### UDEV support (optional) ####
1039
1040 AC_ARG_ENABLE([udev],
1041     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
1042
1043 AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
1044     [PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
1045     HAVE_UDEV=0)
1046
1047 AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
1048     [AC_MSG_ERROR([*** UDEV support not found])])
1049
1050 AC_SUBST(HAVE_UDEV)
1051 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1052 AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
1053
1054 #### HAL compat support (optional, dependent on UDEV) ####
1055
1056 AC_ARG_ENABLE([hal-compat],
1057     AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
1058
1059 AS_IF([test "x$enable_hal_compat" != "xno"],
1060     [AS_IF([test "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
1061     HAVE_HAL_COMPAT=0)
1062
1063 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1064 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
1065
1066 #### IPv6 connection support (optional) ####
1067
1068 AC_ARG_ENABLE([ipv6],
1069     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
1070
1071 AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
1072
1073 AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
1074
1075 #### OpenSSL support (optional) ####
1076
1077 AC_ARG_ENABLE([openssl],
1078     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
1079
1080 AS_IF([test "x$enable_openssl" != "xno"],
1081     [PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
1082     HAVE_OPENSSL=0)
1083
1084 AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
1085     [AC_MSG_ERROR([*** OpenSSL support not found])])
1086
1087 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1088 AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
1089
1090 #### FFTW (optional) ####
1091
1092 AC_ARG_WITH([fftw],
1093     AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
1094
1095 AS_IF([test "x$with_fftw" != "xno"],
1096     [PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
1097     HAVE_FFTW=0)
1098
1099 AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
1100     [AC_MSG_ERROR([*** FFTW support not found])])
1101
1102 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1103
1104 #### speex (optional) ####
1105
1106 AC_ARG_WITH([speex],
1107     AS_HELP_STRING([--without-speex],[Omit speex (resampling, AEC)]))
1108
1109 AS_IF([test "x$with_speex" != "xno"],
1110     [PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ], HAVE_SPEEX=1, HAVE_SPEEX=0)],
1111     HAVE_SPEEX=0)
1112
1113 AS_IF([test "x$with_speex" = "xyes" && test "x$HAVE_SPEEX" = "x0"],
1114     [AC_MSG_ERROR([*** speex support not found])])
1115
1116 AM_CONDITIONAL([HAVE_SPEEX], [test "x$HAVE_SPEEX" = "x1"])
1117 AS_IF([test "x$HAVE_SPEEX" = "x1"], AC_DEFINE([HAVE_SPEEX], 1, [Have speex]))
1118
1119 #### Xen support (optional) ####
1120
1121 AC_ARG_ENABLE([xen],
1122     AS_HELP_STRING([--disable-xen],[Disable optional Xen paravirtualized driver]))
1123
1124 XEN_CFLAGS=
1125 XEN_LIBS=
1126
1127 AS_IF([test "x$enable_xen" != "xno"],
1128     [
1129         HAVE_XEN=1
1130         AC_CHECK_HEADER(xenctrl.h, [], [HAVE_XEN=0])
1131         AC_CHECK_HEADER(xs.h, [], [HAVE_XEN=0])
1132         AC_CHECK_LIB(xenctrl, xc_interface_open, [XEN_LIBS="$XEN_LIBS -lxenctrl"], [HAVE_XEN=0])
1133         AC_CHECK_LIB(xenstore, xs_domain_open, [XEN_LIBS="$XEN_LIBS -lxenstore"], [HAVE_XEN=0])
1134     ],
1135     HAVE_XEN=0)
1136
1137 AS_IF([test "x$enable_xen" = "xyes" && test "x$HAVE_XEN" = "x0"],
1138     [AC_MSG_ERROR([*** Xen development headers or libraries not found])])
1139
1140 AC_SUBST(XEN_CFLAGS)
1141 AC_SUBST(XEN_LIBS)
1142 AM_CONDITIONAL([HAVE_XEN], [test "x$HAVE_XEN" = x1])
1143
1144 #### gcov support (optional) #####
1145
1146 AC_ARG_ENABLE([gcov],
1147     AS_HELP_STRING([--enable-gcov],[Enable optional gcov coverage analysis]))
1148
1149 GCOV_CFLAGS=
1150 GCOV_LIBS=" -lgcov"
1151
1152 AS_IF([test "x$enable_gcov" = "xyes"],
1153     [
1154         HAVE_GCOV=1
1155         GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs -ftest-coverage"
1156         GCOV_LIBS="$GCOV_LIBS -fprofile-arcs"
1157     ],
1158     HAVE_GCOV=0)
1159
1160 AC_SUBST(GCOV_CFLAGS)
1161 AC_SUBST(GCOV_LIBS)
1162 AM_CONDITIONAL([HAVE_GCOV], [test "x$HAVE_GCOV" = x1])
1163
1164 #### ORC (optional) ####
1165
1166 ORC_CHECK([0.4.11])
1167
1168 #### systemd support (optional) ####
1169
1170 AC_ARG_ENABLE([systemd],
1171     AS_HELP_STRING([--disable-systemd],[Disable optional systemd support]))
1172
1173 AS_IF([test "x$enable_systemd" != "xno"],
1174     [PKG_CHECK_MODULES(SYSTEMD, [ libsystemd-login ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
1175     HAVE_SYSTEMD=0)
1176
1177 AS_IF([test "x$enable_systemd" = "xyes" && test "x$HAVE_SYSTEMD" = "x0"],
1178     [AC_MSG_ERROR([*** Needed systemd support not found])])
1179
1180 AC_SUBST(HAVE_SYSTEMD)
1181 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$HAVE_SYSTEMD" = x1])
1182 AS_IF([test "x$HAVE_SYSTEMD" = "x1"], AC_DEFINE([HAVE_SYSTEMD], 1, [Have SYSTEMD?]))
1183
1184 #### Build and Install man pages ####
1185
1186 AC_ARG_ENABLE([manpages],
1187     AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
1188
1189 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
1190
1191 #### PulseAudio system group & user  #####
1192
1193 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1194 if test -z "$with_system_user" ; then
1195     PA_SYSTEM_USER=pulse
1196 else
1197     PA_SYSTEM_USER=$with_system_user
1198 fi
1199 AC_SUBST(PA_SYSTEM_USER)
1200 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1201
1202 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1203 if test -z "$with_system_group" ; then
1204     PA_SYSTEM_GROUP=pulse
1205 else
1206     PA_SYSTEM_GROUP=$with_system_group
1207 fi
1208 AC_SUBST(PA_SYSTEM_GROUP)
1209 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1210
1211 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)]))
1212 if test -z "$with_access_group" ; then
1213     PA_ACCESS_GROUP=pulse-access
1214 else
1215     PA_ACCESS_GROUP=$with_access_group
1216 fi
1217 AC_SUBST(PA_ACCESS_GROUP)
1218 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1219
1220 AC_ARG_ENABLE([per-user-esound-socket],
1221     AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
1222
1223 if test "x$enable_per_user_esound_socket" != "xno"; then
1224     USE_PER_USER_ESOUND_SOCKET=1
1225     AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1226 else
1227     USE_PER_USER_ESOUND_SOCKET=0
1228 fi
1229
1230 #### PulseAudio system runtime dir ####
1231
1232 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1233 AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
1234 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1235 AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
1236 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1237 AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
1238
1239 PA_BINARY=${bindir}/pulseaudio${EXEEXT}
1240 AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
1241
1242 PACTL_BINARY=${bindir}/pactl${EXEEXT}
1243 AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
1244
1245 AC_SUBST(PA_SOEXT, [.so])
1246 AC_DEFINE(PA_SOEXT, [".so"], [Shared object extension])
1247
1248 AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
1249 AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
1250
1251 #### Mac OSX specific stuff #####
1252
1253 AC_ARG_ENABLE(mac-universal,
1254     AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
1255     enable_mac_universal=$enableval, enable_mac_universal="no")
1256
1257 AC_ARG_WITH(mac-version-min,
1258     AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
1259     mac_version_min=$withval, mac_version_min="10.5")
1260
1261 AC_ARG_WITH(mac-sysroot,
1262     AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
1263     mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
1264
1265 if test "x$os_is_darwin" = "x1" ; then
1266     LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1267     CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
1268
1269     if test "x$enable_mac_universal" = "xyes" ; then
1270         mac_arches="-arch i386 -arch x86_64"
1271         LDFLAGS="$LDFLAGS $mac_arches"
1272         CFLAGS="$CFLAGS $mac_arches"
1273     fi
1274 fi
1275
1276 AC_ARG_ENABLE([webrtc-aec],
1277     AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
1278
1279 AS_IF([test "x$enable_webrtc_aec" != "xno"],
1280     [PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
1281     [HAVE_WEBRTC=0])
1282
1283 AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
1284     [AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
1285
1286 AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
1287
1288 AC_ARG_ENABLE([adrian-aec],
1289     AS_HELP_STRING([--enable-adrian-aec], [Enable Adrian's optional echo canceller]))
1290 AS_IF([test "x$enable_adrian_aec" != "xno"],
1291     [HAVE_ADRIAN_EC=1])
1292 AM_CONDITIONAL([HAVE_ADRIAN_EC], [test "x$HAVE_ADRIAN_EC" = "x1"])
1293
1294
1295
1296 ###################################
1297 #            Output               #
1298 ###################################
1299
1300 AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
1301
1302 # Check whether to build tests by default (as compile-test) or not
1303 AC_ARG_ENABLE([default-build-tests],
1304     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
1305 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
1306
1307 AC_ARG_ENABLE([legacy-database-entry-format],
1308         AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
1309 if test "x$enable_legacy_database_entry_format" != "xno" ; then
1310         AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
1311 fi
1312 AC_DEFINE([WIBBLE], 1, [Just a test.])
1313
1314 AC_ARG_ENABLE([static-bins],
1315     AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
1316 AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
1317
1318 AC_ARG_WITH(
1319         [preopen-mods],
1320         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1321         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1322 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1323 if test "x$PREOPEN_MODS" != "xall" ; then
1324     tmpLIBS=""
1325     for mod in $PREOPEN_MODS; do
1326         tmpLIBS="$tmpLIBS module-$mod.la"
1327     done
1328     PREOPEN_MODS="$tmpLIBS"
1329     AC_SUBST(PREOPEN_MODS)
1330 fi
1331
1332 AC_ARG_WITH(
1333         [module-dir],
1334         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1335         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1336
1337 AC_SUBST(modlibexecdir)
1338 AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
1339
1340 AC_ARG_WITH(
1341         [udev-rules-dir],
1342         AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1343         [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1344
1345 AC_SUBST(udevrulesdir)
1346
1347 AC_ARG_ENABLE([force-preopen],
1348     AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
1349
1350 if test "x$enable_force_preopen" = "xyes"; then
1351     FORCE_PREOPEN=yes
1352 else
1353     FORCE_PREOPEN=no
1354 fi
1355
1356 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1357
1358 AC_CONFIG_FILES([
1359 Makefile
1360 src/Makefile
1361 man/Makefile
1362 libpulse.pc
1363 libpulse-simple.pc
1364 libpulse-mainloop-glib.pc
1365 doxygen/Makefile
1366 doxygen/doxygen.conf
1367 src/pulse/version.h
1368 po/Makefile.in
1369 man/pulseaudio.1.xml
1370 man/esdcompat.1.xml
1371 man/pax11publish.1.xml
1372 man/paplay.1.xml
1373 man/pacat.1.xml
1374 man/pacmd.1.xml
1375 man/pactl.1.xml
1376 man/pasuspender.1.xml
1377 man/padsp.1.xml
1378 man/pulse-daemon.conf.5.xml
1379 man/pulse-client.conf.5.xml
1380 man/default.pa.5.xml
1381 man/pulse-cli-syntax.5.xml
1382 man/start-pulseaudio-kde.1.xml
1383 man/start-pulseaudio-x11.1.xml
1384 pulseaudio-module-devel.pc
1385 ])
1386
1387 AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
1388 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
1389 AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
1390 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
1391 AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
1392     [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
1393 AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
1394     [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
1395 AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
1396     [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
1397
1398 # CMake related ProjectConfig files
1399 PA_LIBDIR="$libdir"
1400 AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1401 PA_INCDIR="$includedir"
1402 AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1403
1404 AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1405     [m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1406 AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1407
1408 AC_OUTPUT
1409
1410 # ==========================================================================
1411
1412 AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
1413 AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
1414 AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
1415 AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
1416 AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
1417 AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
1418 AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
1419 AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
1420 AS_IF([test "x$HAVE_GTK30" = "x1"], ENABLE_GTK30=yes, ENABLE_GTK30=no)
1421 AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
1422 AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
1423 AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
1424 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
1425 AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
1426 AS_IF([test "x$HAVE_XEN" = "x1"], ENABLE_XEN=yes, ENABLE_XEN=no)
1427 AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
1428 AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
1429 AS_IF([test "x$HAVE_SYSTEMD" = "x1"], ENABLE_SYSTEMD=yes, ENABLE_SYSTEMD=no)
1430 AS_IF([test "x$HAVE_BLUEZ_4" = "x1"], ENABLE_BLUEZ_4=yes, ENABLE_BLUEZ_4=no)
1431 AS_IF([test "x$HAVE_BLUEZ_5" = "x1"], ENABLE_BLUEZ_5=yes, ENABLE_BLUEZ_5=no)
1432 AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
1433 AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
1434 AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
1435 AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
1436 AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
1437 AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
1438 AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
1439 AS_IF([test "x$HAVE_ADRIAN_EC" = "x1"], ENABLE_ADRIAN_EC=yes, ENABLE_ADRIAN_EC=no)
1440 AS_IF([test "x$HAVE_SPEEX" = "x1"], ENABLE_SPEEX=yes, ENABLE_SPEEX=no)
1441 AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
1442 AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
1443 AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
1444 AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
1445 AS_IF([test "x$HAVE_ESOUND" = "x1"], ENABLE_ESOUND=yes, ENABLE_ESOUND=no)
1446 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)
1447 AS_IF([test "x$HAVE_GCOV" = "x1"], ENABLE_GCOV=yes, ENABLE_GCOV=no)
1448 AS_IF([test "x$HAVE_LIBCHECK" = "x1"], ENABLE_TESTS=yes, ENABLE_TESTS=no)
1449 AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
1450
1451 echo "
1452  ---{ $PACKAGE_NAME $VERSION }---
1453
1454     prefix:                        ${prefix}
1455     sysconfdir:                    ${sysconfdir}
1456     localstatedir:                 ${localstatedir}
1457     modlibexecdir:                 ${modlibexecdir}
1458     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1459     System State Path:             ${PA_SYSTEM_STATE_PATH}
1460     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1461     Compiler:                      ${CC}
1462     CFLAGS:                        ${CFLAGS}
1463     CPPFLAGS:                      ${CPPFLAGS}
1464     LIBS:                          ${LIBS}
1465
1466     Enable X11:                    ${ENABLE_X11}
1467     Enable OSS Output:             ${ENABLE_OSS_OUTPUT}
1468     Enable OSS Wrapper:            ${ENABLE_OSS_WRAPPER}
1469     Enable EsounD:                 ${ENABLE_ESOUND}
1470     Enable Alsa:                   ${ENABLE_ALSA}
1471     Enable CoreAudio:              ${ENABLE_COREAUDIO}
1472     Enable Solaris:                ${ENABLE_SOLARIS}
1473     Enable WaveOut:                ${ENABLE_WAVEOUT}
1474     Enable GLib 2.0:               ${ENABLE_GLIB20}
1475     Enable Gtk+ 3.0:               ${ENABLE_GTK30}
1476     Enable GConf:                  ${ENABLE_GCONF}
1477     Enable Avahi:                  ${ENABLE_AVAHI}
1478     Enable Jack:                   ${ENABLE_JACK}
1479     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1480     Enable LIRC:                   ${ENABLE_LIRC}
1481     Enable Xen PV driver:          ${ENABLE_XEN}
1482     Enable D-Bus:                  ${ENABLE_DBUS}
1483       Enable BlueZ 4:              ${ENABLE_BLUEZ_4}
1484       Enable BlueZ 5:              ${ENABLE_BLUEZ_5}
1485         headset backed:            ${BLUETOOTH_HEADSET_BACKEND}
1486     Enable udev:                   ${ENABLE_UDEV}
1487       Enable HAL->udev compat:     ${ENABLE_HAL_COMPAT}
1488     Enable systemd login:          ${ENABLE_SYSTEMD}
1489     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1490     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1491     Enable IPv6:                   ${ENABLE_IPV6}
1492     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1493     Enable fftw:                   ${ENABLE_FFTW}
1494     Enable orc:                    ${ENABLE_ORC}
1495     Enable Adrian echo canceller:  ${ENABLE_ADRIAN_EC}
1496     Enable speex (resampler, AEC): ${ENABLE_SPEEX}
1497     Enable WebRTC echo canceller:  ${ENABLE_WEBRTC}
1498     Enable gcov coverage:          ${ENABLE_GCOV}
1499     Enable unit tests:             ${ENABLE_TESTS}
1500     Database
1501       tdb:                         ${ENABLE_TDB}
1502       gdbm:                        ${ENABLE_GDBM}
1503       simple database:             ${ENABLE_SIMPLEDB}
1504
1505     System User:                   ${PA_SYSTEM_USER}
1506     System Group:                  ${PA_SYSTEM_GROUP}
1507     Access Group:                  ${PA_ACCESS_GROUP}
1508     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1509     Force preopen:                 ${FORCE_PREOPEN}
1510     Preopened modules:             ${PREOPEN_MODS}
1511
1512     Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
1513 "
1514
1515 if test "${ENABLE_SPEEX}" = "no" && test "${ENABLE_WEBRTC}" = "no" && test "${ENABLE_ADRIAN_EC}" = "no" ; then
1516 AC_MSG_ERROR([At least one echo canceller implementation must be available.])
1517 fi
1518
1519 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1520    echo "
1521 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1522 You do not have D-Bus support enabled. It is strongly recommended
1523 that you enable D-Bus support if your platform supports it.
1524 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1525 to the Device Reservation Protocol to speak to JACK, Bluetooth
1526 support and even a native control protocol for communicating and
1527 controling the PulseAudio daemon itself.
1528 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1529 "
1530 fi
1531
1532 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1533    echo "
1534 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1535 You do not have udev support enabled. It is strongly recommended
1536 that you enable udev support if your platform supports it as it is
1537 the primary method used to detect hardware audio devices (on Linux)
1538 and is thus a critical part of PulseAudio on that platform.
1539 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1540 "
1541 fi
1542
1543 if test "${ENABLE_SPEEX}" = "no" && test "x$os_is_win32" != "x1" ; then
1544    echo "
1545 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1546 You do not have speex support enabled. It is strongly recommended
1547 that you enable speex support if your platform supports it as it is
1548 the primary method used for audio resampling and is thus a critical
1549 part of PulseAudio on that platform.
1550 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1551 "
1552 fi