filter-heuristics: Match roles correctly
[profile/ivi/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)],[mzchyfrnhqvb (at) 0pointer (dot) net])
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 tar-pax])
30
31 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
32 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
33
34 AC_SUBST(PA_MAJOR, pa_major)
35 AC_SUBST(PA_MINOR, pa_minor)
36 AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
37 AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
38
39 AC_SUBST(PA_API_VERSION, 12)
40 AC_SUBST(PA_PROTOCOL_VERSION, 20)
41
42 # The stable ABI for client applications, for the version info x:y:z
43 # always will hold y=z
44 AC_SUBST(LIBPULSE_VERSION_INFO, [12:3:12])
45
46 # A simplified, synchronous, ABI-stable interface for client
47 # applications, for the version info x:y:z always will hold y=z
48 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])
49
50 # The ABI-stable network browsing interface for client applications,
51 # for the version info x:y:z always will hold y=z
52 AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
53
54 # The ABI-stable GLib adapter for client applications, for the version
55 # info x:y:z always will hold y=z
56 AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0: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 #### Checks for programs. ####
71
72 # mkdir -p
73
74 AC_PROG_MKDIR_P
75
76 # CC
77
78 AC_PROG_CC
79 AC_PROG_CC_C99
80 AM_PROG_CC_C_O
81 AC_PROG_GCC_TRADITIONAL
82 AC_USE_SYSTEM_EXTENSIONS
83
84 #### Platform hacks ####
85
86 case $host in
87    *-*-solaris* )
88       AC_DEFINE(_XOPEN_SOURCE,        600, Needed to get declarations for msg_control and msg_controllen on Solaris)
89       AC_DEFINE(__EXTENSIONS__,         1, Needed to get declarations for msg_control and msg_controllen on Solaris)
90       ;;
91    *-*-darwin* )
92       AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
93       ;;
94 esac
95
96 # M4
97
98 AC_CHECK_PROGS([M4], gm4 m4, no)
99 if test "x$M4" = xno ; then
100    AC_MSG_ERROR([m4 missing])
101 fi
102
103 dnl Compiler flags
104
105 # Some compilers (e.g. clang) default to a warning on an unkown command line option.
106 # Change that temporarily to an error, for the CC_CHECK_CFLAGS_APPEND macro to work.
107 save_CC="$CC"
108 CC="$CC -Werror"
109 CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pipe -Wno-long-long -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option])
110 CC="$save_CC"
111
112 dnl Linker flags.
113 dnl Check whether the linker supports the -version-script option.
114
115 dnl This variable is used to make sure ${srcdir} is expanded and not
116 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
117 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
118
119 CC_CHECK_LDFLAGS([${tmp_ldflag}],
120     [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
121 AC_SUBST([VERSIONING_LDFLAGS])
122
123 dnl Use immediate (now) bindings; avoids the funky re-call in itself
124 dnl  the -z now syntax is lifted from Sun's linker and works with GNU's too
125 dnl  other linkes might be added later
126 CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"])
127 AC_SUBST([IMMEDIATE_LDFLAGS])
128
129 dnl On ELF systems we don't want the libraries to be unloaded since we
130 dnl don't clean them up properly, so we request the nodelete flag to be
131 dnl enabled.
132 dnl
133 dnl On other systems, we don't really know how to do that, but it's
134 dnl welcome if somebody can tell.
135 CC_CHECK_LDFLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS="-Wl,-z,nodelete"])
136 AC_SUBST([NODELETE_LDFLAGS])
137
138 dnl Check for the proper way to build libraries that have no undefined
139 dnl symbols; on some hosts this needs to be avoided but the macro
140 dnl takes care of it.
141 CC_NOUNDEFINED
142
143 dnl Check whether to build tests by default (as compile-test) or not
144 AC_ARG_ENABLE([default-build-tests],
145     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
146
147 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
148
149 # Native atomic operation support
150 AC_ARG_ENABLE([atomic-arm-linux-helpers],
151     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
152         [
153             case "${enableval}" in
154                 yes) atomic_arm_linux_helpers=yes ;;
155                 no) atomic_arm_linux_helpers=no ;;
156                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
157             esac
158         ],
159         [atomic_arm_linux_helpers=auto])
160
161 AC_ARG_ENABLE([atomic-arm-memory-barrier],
162     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
163         [
164             case "${enableval}" in
165                 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
166                 no) ;;
167                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
168             esac
169         ],)
170
171 AC_ARG_ENABLE(mac-universal,
172     AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
173                 enable_mac_universal=$enableval, enable_mac_universal="no")
174
175 AC_ARG_WITH(mac-version-min,
176     AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
177                 mac_version_min=$withval, mac_version_min="10.5")
178
179 AC_ARG_WITH(mac-sysroot,
180     AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
181                 mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
182
183 AC_MSG_CHECKING([target operating system])
184 case $host in
185         *-*-linux*)
186             AC_MSG_RESULT([linux])
187             pulse_target_os=linux
188         ;;
189         *-*-darwin*)
190             AC_MSG_RESULT([darwin])
191             pulse_target_os=darwin
192
193             LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
194             CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
195
196             if test "x$enable_mac_universal" = "xyes" ; then
197                 mac_arches="-arch i386 -arch x86_64"
198                 LDFLAGS="$LDFLAGS $mac_arches"
199                 CFLAGS="$CFLAGS $mac_arches"
200             fi
201         ;;
202         *)
203             AC_MSG_RESULT([unknown])
204             pulse_target_os=unknown
205         ;;
206 esac
207
208 # If everything else fails use libatomic_ops
209 need_libatomic_ops=yes
210
211 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
212   pulseaudio_cv_sync_bool_compare_and_swap,
213   [AC_LINK_IFELSE(
214      AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
215      [pulseaudio_cv_sync_bool_compare_and_swap=yes],
216      [pulseaudio_cv_sync_bool_compare_and_swap=no])
217   ])
218
219 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
220     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
221     need_libatomic_ops=no
222 else
223     # HW specific atomic ops stuff
224     AC_MSG_CHECKING([architecture for native atomic operations])
225     case $host in
226         arm*)
227             AC_MSG_RESULT([arm])
228             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
229             # The Linux kernel helper functions have been there since 2.6.16. However
230             # compile time checking for kernel version in cross compile environment
231             # (which is usually the case for arm cpu) is tricky (or impossible).
232             if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
233                 AC_MSG_RESULT([yes])
234                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
235                 need_libatomic_ops=no
236             else
237                AC_MSG_RESULT([no])
238                AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
239                  pulseaudio_cv_support_arm_atomic_ops,
240                  [AC_COMPILE_IFELSE(
241                     AC_LANG_PROGRAM([],
242                       [[volatile int a=0;
243                         int o=0, n=1, r;
244                         asm volatile ("ldrex    %0, [%1]\n"
245                                          "subs  %0, %0, %2\n"
246                                          "strexeq %0, %3, [%1]\n"
247                                          : "=&r" (r)
248                                          : "r" (&a), "Ir" (o), "r" (n)
249                                          : "cc");
250                         return (a==1 ? 0 : -1);
251                       ]]),
252                     [pulseaudio_cv_support_arm_atomic_ops=yes],
253                     [pulseaudio_cv_support_arm_atomic_ops=no])
254                  ])
255                AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
256                    AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
257                    need_libatomic_ops=no
258                  ])
259            fi
260         ;;
261         *-netbsdelf5*)
262             AC_MSG_RESULT([yes])
263             need_libatomic_ops=no
264         ;;
265         *-freebsd*)
266             AC_MSG_RESULT([yes])
267             need_libatomic_ops=no
268         ;;
269         *)
270             AC_MSG_RESULT([unknown])
271         ;;
272     esac
273 fi
274
275 # If we're on ARM, check for the ARMV6 instructions we need */
276 case $host in
277   arm*)
278     AC_CACHE_CHECK([support for required armv6 instructions],
279       pulseaudio_cv_support_armv6,
280       [AC_COMPILE_IFELSE(
281          AC_LANG_PROGRAM([],
282            [[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
283              asm volatile ("ldr r0, %2 \n"
284                            "ldr r2, %3 \n"
285                            "ldr r3, %4 \n"
286                            "ssat r1, #8, r0 \n"
287                            "str r1, %0 \n"
288                            "pkhbt r1, r3, r2, LSL #8 \n"
289                            "str r1, %1 \n"
290                            : "=m" (a), "=m" (b)
291                            : "m" (a), "m" (b), "m" (c)
292                            : "r0", "r1", "r2", "r3", "cc");
293              return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
294            ]]),
295          [pulseaudio_cv_support_armv6=yes],
296          [pulseaudio_cv_support_armv6=no])
297       ])
298     AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
299         AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
300       ])
301   ;;
302   *)
303   ;;
304 esac
305
306 CC_CHECK_TLS
307
308 AC_CACHE_CHECK([whether $CC knows _Bool],
309   pulseaudio_cv__Bool,
310   [AC_COMPILE_IFELSE(
311      AC_LANG_PROGRAM([], [[_Bool b;]]),
312      [pulseaudio_cv__Bool=yes],
313      [pulseaudio_cv__Bool=no])
314   ])
315
316 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
317     AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
318   ])
319
320 #### libtool stuff ####
321 LT_PREREQ(2.2)
322 LT_INIT([dlopen win32-dll disable-static])
323
324 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
325 dnl exactly which version of libltdl is present in the system, so we
326 dnl just assume that it's a working version as long as we have the
327 dnl library and the header files.
328 dnl
329 dnl As an extra safety device, check for lt_dladvise_init() which is
330 dnl only implemented in libtool 2.x, and refine as we go if we have
331 dnl refined requirements.
332 dnl
333 dnl Check the header files first since the system may have a
334 dnl libltdl.so for runtime, but no headers, and we want to bail out as
335 dnl soon as possible.
336 dnl
337 dnl We don't need any special variable for this though, since the user
338 dnl can give the proper place to find libltdl through the standard
339 dnl variables like LDFLAGS and CPPFLAGS.
340
341 AC_CHECK_HEADER([ltdl.h],
342     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
343     [LIBLTDL=])
344
345 AS_IF([test "x$LIBLTDL" = "x"],
346     [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
347 AC_SUBST([LIBLTDL])
348
349 #### Determine build environment ####
350
351 os_is_win32=0
352 os_is_darwin=0
353
354 case "$host_os" in
355         mingw*)
356         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
357         os_is_win32=1
358                 ;;
359         darwin*)
360         AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
361         os_is_darwin=1
362                 ;;
363         esac
364
365 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
366 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
367
368 ###################################
369 #   Basic environment checks      #
370 ###################################
371
372 #### Checks for header files. ####
373
374 # ISO
375 AC_HEADER_STDC
376
377 # POSIX
378 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
379     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
380     sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
381     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
382 AC_CHECK_HEADERS([netinet/ip.h], [], [],
383                  [#include <sys/types.h>
384                   #if HAVE_NETINET_IN_H
385                   # include <netinet/in.h>
386                   #endif
387                   #if HAVE_NETINET_IN_SYSTM_H
388                   # include <netinet/in_systm.h>
389                   #endif
390                  ])
391 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
392 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
393
394 # Linux
395 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
396
397 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
398
399 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
400
401 # Solaris
402 AC_CHECK_HEADERS_ONCE([sys/filio.h])
403
404 # Windows
405 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
406
407 # NetBSD
408 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
409
410 # Other
411 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
412 AC_CHECK_HEADERS_ONCE([byteswap.h])
413 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
414 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
415 AC_CHECK_HEADERS_ONCE([execinfo.h])
416 AC_CHECK_HEADERS_ONCE([langinfo.h])
417 AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
418
419 #### Typdefs, structures, etc. ####
420
421 AC_C_CONST
422 AC_C_BIGENDIAN
423 AC_TYPE_PID_T
424 AC_TYPE_SIZE_T
425 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
426     [Define ssize_t if it is not done by the standard libs.])])
427 AC_TYPE_OFF_T
428
429 AC_TYPE_UID_T
430 AC_CHECK_DECLS(environ)
431
432 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
433 HAVE_SIGXCPU=1
434 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
435 ], [HAVE_SIGXCPU=0])
436 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
437
438 # Solaris lacks this
439 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
440     [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
441         [AC_DEFINE([INADDR_NONE],  [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
442
443 #### POSIX threads ####
444
445 ACX_PTHREAD
446
447 #### Check for libs ####
448
449 # ISO
450 AC_SEARCH_LIBS([pow], [m])
451
452 # POSIX
453 AC_SEARCH_LIBS([sched_setscheduler], [rt])
454 AC_SEARCH_LIBS([dlopen], [dl])
455 AC_SEARCH_LIBS([shm_open], [rt])
456 AC_SEARCH_LIBS([inet_ntop], [nsl])
457 AC_SEARCH_LIBS([timer_create], [rt])
458 AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
459 AC_SEARCH_LIBS([pthread_getname_np], [pthread])
460 AC_SEARCH_LIBS([pthread_setname_np], [pthread])
461
462 # BSD
463 AC_SEARCH_LIBS([connect], [socket])
464 AC_SEARCH_LIBS([backtrace], [execinfo])
465
466 # Non-standard
467
468 # This magic is needed so we do not needlessly add static libs to the win32
469 # build, disabling its ability to make dlls.
470 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
471
472 # Darwin/OS X
473 if test "x$os_is_darwin" = "x1" ; then
474     AC_MSG_CHECKING([looking for Apple CoreService Framework])
475     # How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
476     AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
477     [LIBS="$LIBS -framework CoreServices"],
478     [AC_MSG_ERROR([CoreServices.h header file not found]) ])
479
480     AC_MSG_RESULT([ok])
481     AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
482     HAVE_BONJOUR=1
483 fi
484
485 AC_SUBST(HAVE_BONJOUR)
486 AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
487
488 AC_SEARCH_LIBS([regexec], [pcreposix])
489
490 #### Check for functions ####
491
492 # ISO
493 AC_CHECK_FUNCS_ONCE([lrintf strtof])
494
495 # POSIX
496 AC_FUNC_FORK
497 AC_FUNC_GETGROUPS
498 AC_FUNC_SELECT_ARGTYPES
499 AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
500     getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
501     pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
502     sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
503 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
504
505 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
506
507 # X/OPEN
508 AC_CHECK_FUNCS_ONCE([readlink])
509
510 # SUSv2
511 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
512
513 # SUSv3
514 AC_CHECK_FUNCS_ONCE([strerror_r])
515
516 # BSD
517 AC_CHECK_FUNCS_ONCE([lstat])
518
519 # Non-standard
520
521 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
522
523 AC_FUNC_ALLOCA
524
525 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
526   pulseaudio_cv_PTHREAD_PRIO_INHERIT,
527   [save_CC=$CC; CC=$PTHREAD_CC
528    save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
529    save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
530    AC_LINK_IFELSE(
531      AC_LANG_PROGRAM(
532        [[
533          #include <pthread.h>
534        ]],
535        [[int i = PTHREAD_PRIO_INHERIT;]]),
536      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
537      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
538    CC=$save_CC
539    CFLAGS=$save_CFLAGS
540    LIBS=$save_LIBS
541   ])
542
543 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
544     AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
545   ])
546
547 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
548
549 AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
550 AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
551
552 #### Large File-Support (LFS) ####
553
554 AC_SYS_LARGEFILE
555
556 # Check for open64 to know if the current system does have open64() and similar functions
557 AC_CHECK_FUNCS_ONCE([open64])
558
559 #### [lib]iconv ####
560
561 AM_ICONV
562
563 IT_PROG_INTLTOOL([0.35.0])
564 GETTEXT_PACKAGE=pulseaudio
565 AC_SUBST([GETTEXT_PACKAGE])
566 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
567 AM_GLIB_GNU_GETTEXT
568
569 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
570 AC_SUBST(pulselocaledir)
571
572 ###################################
573 #      External libraries         #
574 ###################################
575
576 #### pkg-config ####
577
578 PKG_PROG_PKG_CONFIG
579
580 #### X11 (optional) ####
581
582 AC_ARG_ENABLE([x11],
583     AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
584         [
585             case "${enableval}" in
586                 yes) x11=yes ;;
587                 no) x11=no ;;
588                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
589             esac
590         ],
591         [x11=auto])
592
593 if test "x${x11}" != xno ; then
594     PKG_CHECK_MODULES(X11, [ x11-xcb ice sm xtst xcb-atom ],
595         HAVE_X11=1,
596         [
597             HAVE_X11=0
598             if test "x$x11" = xyes ; then
599                 AC_MSG_ERROR([*** X11 not found])
600             fi
601         ])
602 else
603     HAVE_X11=0
604 fi
605
606 if test "x${HAVE_X11}" = x1 ; then
607    AC_DEFINE([HAVE_X11], 1, [Have X11?])
608 fi
609
610 AC_SUBST(X11_CFLAGS)
611 AC_SUBST(X11_LIBS)
612 AC_SUBST(HAVE_X11)
613 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
614
615 #### Capabilities (optional) ####
616
617 CAP_LIBS=''
618
619 AC_ARG_WITH(
620         [caps],
621         AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
622
623 if test "x${with_caps}" != "xno"; then
624     AC_SEARCH_LIBS([cap_init], [cap], [], [
625                     if test "x${with_caps}" = "xyes" ; then
626                         AC_MSG_ERROR([*** POSIX caps libraries not found])
627                     fi])
628     AC_CHECK_HEADERS([sys/capability.h], [], [
629                     if test "x${with_caps}" = "xyes" ; then
630                         AC_MSG_ERROR([*** POSIX caps headers not found])
631                     fi])
632 fi
633
634 #### Valgrind (optional) ####
635
636 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
637
638 #### Sound file ####
639
640 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
641 AC_SUBST(LIBSNDFILE_CFLAGS)
642 AC_SUBST(LIBSNDFILE_LIBS)
643
644 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
645 AC_SUBST(LIBSPEEX_CFLAGS)
646 AC_SUBST(LIBSPEEX_LIBS)
647
648 #### atomic-ops ###
649
650 AC_MSG_CHECKING([whether we need libatomic_ops])
651 if test "x$need_libatomic_ops" = "xyes"; then
652    AC_MSG_RESULT([yes])
653    AC_CHECK_HEADERS([atomic_ops.h], [], [
654    AC_MSG_ERROR([*** libatomic-ops headers not found])
655    ])
656
657    # Win32 does not need the lib and breaks horribly if we try to include it
658    if test "x$os_is_win32" != "x1" ; then
659        LIBS="$LIBS -latomic_ops"
660    fi
661 else
662    AC_MSG_RESULT([no])
663 fi
664
665 #### Libsamplerate support (optional) ####
666
667 AC_ARG_ENABLE([samplerate],
668     AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
669         [
670             case "${enableval}" in
671                 yes) samplerate=yes ;;
672                 no) samplerate=no ;;
673                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
674             esac
675         ],
676         [samplerate=auto])
677
678 if test "x${samplerate}" != xno ; then
679     PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
680         HAVE_LIBSAMPLERATE=1,
681         [
682             HAVE_LIBSAMPLERATE=0
683             if test "x$samplerate" = xyes ; then
684                 AC_MSG_ERROR([*** Libsamplerate not found])
685             fi
686         ])
687 else
688     HAVE_LIBSAMPLERATE=0
689 fi
690
691 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
692    AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
693 fi
694
695 AC_SUBST(LIBSAMPLERATE_CFLAGS)
696 AC_SUBST(LIBSAMPLERATE_LIBS)
697 AC_SUBST(HAVE_LIBSAMPLERATE)
698 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
699
700 #### Database support ####
701
702 HAVE_TDB=0
703 HAVE_GDBM=0
704 HAVE_SIMPLEDB=0
705
706 AC_ARG_WITH(
707         [database],
708         AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
709
710 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
711     PKG_CHECK_MODULES(TDB, [ tdb ],
712         [
713             HAVE_TDB=1
714             with_database=tdb
715         ], [
716             if test "x${with_database}" = "xtdb" ; then
717                 AC_MSG_ERROR([*** tdb not found])
718             fi
719         ])
720 fi
721
722 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
723    have_gdbm=yes
724
725    AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
726    AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
727
728    if test "x${have_gdbm}" = "xyes" ; then
729        HAVE_GDBM=1
730        GDBM_CFLAGS=
731        GDBM_LIBS=-lgdbm
732        with_database=gdbm
733    elif test "x${with_database}" = "xgdbm"; then
734        AC_MSG_ERROR([*** gdbm not found])
735    fi
736 fi
737
738 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xsimple" ; then
739     HAVE_SIMPLEDB=1
740     with_database=simple
741 fi
742
743 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1 -a "x${HAVE_SIMPLEDB}" != x1; then
744    AC_MSG_ERROR([*** missing database backend])
745 fi
746
747 if test "x${HAVE_TDB}" = x1 ; then
748    AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
749 fi
750
751 if test "x${HAVE_GDBM}" = x1 ; then
752    AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
753 fi
754
755 if test "x${HAVE_SIMPLEDB}" = x1 ; then
756     AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?])
757 fi
758
759 AC_SUBST(TDB_CFLAGS)
760 AC_SUBST(TDB_LIBS)
761 AC_SUBST(HAVE_TDB)
762 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
763
764 AC_SUBST(GDBM_CFLAGS)
765 AC_SUBST(GDBM_LIBS)
766 AC_SUBST(HAVE_GDBM)
767 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
768
769 AC_SUBST(HAVE_SIMPLEDB)
770 AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
771
772 #### OSS support (optional) ####
773
774 AC_ARG_ENABLE([oss-output],
775     AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]),
776         [
777             case "${enableval}" in
778                 yes) oss_output=yes ;;
779                 no) oss_output=no ;;
780                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-output) ;;
781             esac
782         ],
783         [oss_output=auto])
784
785 AC_ARG_ENABLE([oss-wrapper],
786     AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]),
787         [
788             case "${enableval}" in
789                 yes) oss_wrapper=yes ;;
790                 no) oss_wrapper=no ;;
791                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-wrapper) ;;
792             esac
793         ],
794         [oss_wrapper=auto])
795
796 if test "x${oss_output}" != xno || test "x${oss_wrapper}" != "xno"; then
797     AC_CHECK_HEADERS([sys/soundcard.h],
798         [
799             if test "x${oss_output}" != "xno"; then
800                 AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])
801             fi
802             if test "x${oss_wrapper}" != "xno"; then
803                 AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?])
804             fi
805             HAVE_OSS=1
806         ],
807         [
808             HAVE_OSS=0
809             if test "x$oss_output" = xyes || test "x$oss_wrapper" = "xyes"; then
810                 AC_MSG_ERROR([*** OSS support not found])
811             fi
812         ])
813 else
814     HAVE_OSS=0
815 fi
816
817 AC_SUBST(HAVE_OSS)
818 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"])
819 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])
820
821 #### CoreAudio support (optional) ####
822
823 AC_ARG_ENABLE([coreaudio-output],
824     AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]),
825         [
826             case "${enableval}" in
827                 yes) coreaudio_enabled=yes ;;
828                 no) coreaudio_enabled=no ;;
829                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-coreaudio-output) ;;
830             esac
831         ],
832         [coreaudio_enabled=auto])
833
834 if test "x${coreaudio_enabled}" != xno ; then
835     AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1)
836 else
837     HAVE_COREAUDIO=0
838 fi
839
840 AC_SUBST(HAVE_COREAUDIO)
841 AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = x1 && test "x${coreaudio_enabled}" != "xno"])
842
843 #### ALSA support (optional) ####
844
845 AC_ARG_ENABLE([alsa],
846     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
847         [
848             case "${enableval}" in
849                 yes) alsa=yes ;;
850                 no) alsa=no ;;
851                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
852             esac
853         ],
854         [alsa=auto])
855
856 if test "x${alsa}" != xno ; then
857     PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
858         [
859             HAVE_ALSA=1
860             AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
861         ],
862         [
863             HAVE_ALSA=0
864             if test "x$alsa" = xyes ; then
865                 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
866             fi
867         ])
868 else
869     HAVE_ALSA=0
870 fi
871
872 AC_SUBST(ASOUNDLIB_CFLAGS)
873 AC_SUBST(ASOUNDLIB_LIBS)
874 AC_SUBST(HAVE_ALSA)
875 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
876
877 #### Solaris audio support (optional) ####
878
879 AC_ARG_ENABLE([solaris],
880     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
881         [
882             case "${enableval}" in
883                 yes) solaris=yes ;;
884                 no) solaris=no ;;
885                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
886             esac
887         ],
888         [solaris=auto])
889
890 if test "x${solaris}" != xno ; then
891     AC_CHECK_HEADERS([sys/audio.h],
892         [
893             HAVE_SOLARIS=1
894             AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
895         ],
896         [
897             HAVE_SOLARIS=0
898             if test "x$solaris" = xyes ; then
899                 AC_MSG_ERROR([*** Solaris audio support not found])
900             fi
901         ])
902 else
903     HAVE_SOLARIS=0
904 fi
905
906 AC_SUBST(HAVE_SOLARIS)
907 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
908
909 #### WaveOut audio support (optional) ####
910
911 AC_ARG_ENABLE([waveout],
912     AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]),
913         [
914             case "${enableval}" in
915                 yes) waveout=yes ;;
916                 no) waveout=no ;;
917                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-waveout) ;;
918             esac
919         ],
920         [waveout=auto])
921
922 if test "x${waveout}" != xno ; then
923     AC_CHECK_HEADERS([mmsystem.h],
924         [
925             HAVE_WAVEOUT=1
926             AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?])
927         ],
928         [
929             HAVE_WAVEOUT=0
930             if test "x$waveout" = xyes ; then
931                 AC_MSG_ERROR([*** WaveOut audio support not found])
932             fi
933         ],
934         [#include <windows.h>])
935 else
936     HAVE_WAVEOUT=0
937 fi
938
939 AC_SUBST(HAVE_WAVEOUT)
940 AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
941
942 #### GLib 2 support (optional) ####
943
944 AC_ARG_ENABLE([glib2],
945     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
946         [
947             case "${enableval}" in
948                 yes) glib2=yes ;;
949                 no) glib2=no ;;
950                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
951             esac
952         ],
953         [glib2=auto])
954
955 if test "x${glib2}" != xno ; then
956     PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
957         HAVE_GLIB20=1,
958         [
959             HAVE_GLIB20=0
960             if test "x$glib2" = xyes ; then
961                 AC_MSG_ERROR([*** GLib 2 support not found])
962             fi
963         ])
964 else
965     HAVE_GLIB20=0
966 fi
967
968 AC_SUBST(GLIB20_CFLAGS)
969 AC_SUBST(GLIB20_LIBS)
970 AC_SUBST(HAVE_GLIB20)
971 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
972
973 if test "x$HAVE_GLIB20" = x1 ; then
974    AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
975 fi
976
977 #### GTK2 support (optional) ####
978
979 AC_ARG_ENABLE([gtk2],
980     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
981         [
982             case "${enableval}" in
983                 yes) gtk2=yes ;;
984                 no) gtk2=no ;;
985                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
986             esac
987         ],
988         [gtk2=auto])
989
990 if test "x${gtk2}" != xno ; then
991     PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
992         HAVE_GTK20=1,
993         [
994             HAVE_GTK20=0
995             if test "x$gtk2" = xyes ; then
996                 AC_MSG_ERROR([*** Gtk+ 2 support not found])
997             fi
998         ])
999 else
1000     HAVE_GTK20=0
1001 fi
1002
1003 AC_SUBST(GTK20_CFLAGS)
1004 AC_SUBST(GTK20_LIBS)
1005 AC_SUBST(HAVE_GTK20)
1006 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
1007
1008 if test "x$HAVE_GTK20" = x1 ; then
1009    AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
1010 fi
1011
1012 #### GConf support (optional) ####
1013
1014 AC_ARG_ENABLE([gconf],
1015     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
1016         [
1017             case "${enableval}" in
1018                 yes) gconf=yes ;;
1019                 no) gconf=no ;;
1020                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
1021             esac
1022         ],
1023         [gconf=auto])
1024
1025 if test "x${gconf}" != xno ; then
1026     PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ],
1027         HAVE_GCONF=1,
1028         [
1029             HAVE_GCONF=0
1030             if test "x$gconf" = xyes ; then
1031                 AC_MSG_ERROR([*** GConf support not found])
1032             fi
1033         ])
1034 else
1035     HAVE_GCONF=0
1036 fi
1037
1038 AC_SUBST(GCONF_CFLAGS)
1039 AC_SUBST(GCONF_LIBS)
1040 AC_SUBST(HAVE_GCONF)
1041 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
1042
1043 #### Avahi support (optional) ####
1044
1045 AC_ARG_ENABLE([avahi],
1046     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
1047         [
1048             case "${enableval}" in
1049                 yes) avahi=yes ;;
1050                 no) avahi=no ;;
1051                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
1052             esac
1053         ],
1054         [avahi=auto])
1055
1056 if test "x${avahi}" != xno ; then
1057     PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
1058         HAVE_AVAHI=1,
1059         [
1060                 HAVE_AVAHI=0
1061                 if test "x$avahi" = xyes ; then
1062                         AC_MSG_ERROR([*** Avahi support not found])
1063                 fi
1064         ])
1065 else
1066     HAVE_AVAHI=0
1067 fi
1068
1069 AC_SUBST(AVAHI_CFLAGS)
1070 AC_SUBST(AVAHI_LIBS)
1071 AC_SUBST(HAVE_AVAHI)
1072 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
1073
1074 ### JACK (optional) ####
1075
1076 AC_ARG_ENABLE([jack],
1077     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
1078         [
1079             case "${enableval}" in
1080                 yes) jack=yes ;;
1081                 no) jack=no ;;
1082                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
1083             esac
1084         ],
1085         [jack=auto])
1086
1087 if test "x${jack}" != xno ; then
1088     PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
1089         HAVE_JACK=1,
1090         [
1091             HAVE_JACK=0
1092             if test "x$jack" = xyes ; then
1093                 AC_MSG_ERROR([*** JACK support not found])
1094             fi
1095         ])
1096 else
1097     HAVE_JACK=0
1098 fi
1099
1100 AC_SUBST(JACK_CFLAGS)
1101 AC_SUBST(JACK_LIBS)
1102 AC_SUBST(HAVE_JACK)
1103 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
1104
1105 #### Async DNS support (optional) ####
1106
1107 AC_ARG_ENABLE([asyncns],
1108     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
1109         [
1110             case "${enableval}" in
1111                 yes) asyncns=yes ;;
1112                 no) asyncns=no ;;
1113                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
1114             esac
1115         ],
1116         [asyncns=auto])
1117
1118 if test "x${asyncns}" != xno ; then
1119     PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
1120         HAVE_LIBASYNCNS=1,
1121         [
1122             HAVE_LIBASYNCNS=0
1123             if test "x$asyncns" = xyes ; then
1124                 AC_MSG_ERROR([*** Async DNS support not found])
1125             fi
1126         ])
1127 else
1128     HAVE_LIBASYNCNS=0
1129 fi
1130
1131 AC_SUBST(LIBASYNCNS_CFLAGS)
1132 AC_SUBST(LIBASYNCNS_LIBS)
1133 AC_SUBST(HAVE_LIBASYNCNS)
1134 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
1135
1136 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
1137    AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
1138 fi
1139
1140 #### TCP wrappers (optional) ####
1141
1142 AC_ARG_ENABLE([tcpwrap],
1143     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
1144         [
1145             case "${enableval}" in
1146                 yes) tcpwrap=yes ;;
1147                 no) tcpwrap=no ;;
1148                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
1149             esac
1150         ],
1151         [tcpwrap=auto])
1152
1153 if test "x${tcpwrap}" != xno ; then
1154     ACX_LIBWRAP
1155     if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
1156         AC_MSG_ERROR([*** TCP wrappers support not found])
1157     fi
1158 else
1159     LIBWRAP_LIBS=
1160 fi
1161
1162 AC_SUBST(LIBWRAP_LIBS)
1163
1164 #### LIRC support (optional) ####
1165
1166 AC_ARG_ENABLE([lirc],
1167     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1168         [
1169             case "${enableval}" in
1170                 yes) lirc=yes ;;
1171                 no) lirc=no ;;
1172                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1173             esac
1174         ],
1175         [lirc=auto])
1176
1177 if test "x${lirc}" != xno ; then
1178     ACX_LIRC
1179     if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1180         AC_MSG_ERROR([*** LIRC support not found])
1181     fi
1182 else
1183     HAVE_LIRC=0
1184 fi
1185
1186 AC_SUBST(LIRC_CFLAGS)
1187 AC_SUBST(LIRC_LIBS)
1188 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1189
1190 #### HAL support (optional) ####
1191
1192 AC_ARG_ENABLE([hal],
1193     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1194         [
1195             case "${enableval}" in
1196                 yes) hal=yes ;;
1197                 no) hal=no ;;
1198                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1199             esac
1200         ],
1201         [hal=auto])
1202 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1203     PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1204         [
1205             HAVE_HAL=1
1206             AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1207         ],
1208         [
1209             HAVE_HAL=0
1210             if test "x$hal" = xyes ; then
1211                 AC_MSG_ERROR([*** HAL support not found])
1212             fi
1213         ])
1214 else
1215     HAVE_HAL=0
1216 fi
1217
1218 AC_SUBST(HAL_CFLAGS)
1219 AC_SUBST(HAL_LIBS)
1220 AC_SUBST(HAVE_HAL)
1221 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1222
1223 #### UDEV support (optional) ####
1224
1225 AC_ARG_ENABLE([udev],
1226     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1227         [
1228             case "${enableval}" in
1229                 yes) udev=yes ;;
1230                 no) udev=no ;;
1231                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1232             esac
1233         ],
1234         [udev=auto])
1235 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1236     PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1237         [
1238             HAVE_UDEV=1
1239             AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1240         ],
1241         [
1242             HAVE_UDEV=0
1243             if test "x$udev" = xyes ; then
1244                 AC_MSG_ERROR([*** UDEV support not found])
1245             fi
1246         ])
1247 else
1248     HAVE_UDEV=0
1249 fi
1250
1251 AC_SUBST(UDEV_CFLAGS)
1252 AC_SUBST(UDEV_LIBS)
1253 AC_SUBST(HAVE_UDEV)
1254 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1255
1256 #### BlueZ support (optional) ####
1257
1258 AC_ARG_ENABLE([bluez],
1259     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1260         [
1261             case "${enableval}" in
1262                 yes) bluez=yes ;;
1263                 no) bluez=no ;;
1264                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1265             esac
1266         ],
1267         [bluez=auto])
1268 if test "x${bluez}" != xno ; then
1269     PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1270         HAVE_BLUEZ=1,
1271         [
1272             HAVE_BLUEZ=0
1273             if test "x$bluez" = xyes ; then
1274                 AC_MSG_ERROR([*** BLUEZ support not found])
1275             fi
1276         ])
1277 else
1278     HAVE_BLUEZ=0
1279 fi
1280
1281 AC_SUBST(BLUEZ_CFLAGS)
1282 AC_SUBST(BLUEZ_LIBS)
1283 AC_SUBST(HAVE_BLUEZ)
1284 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1285
1286 #### D-Bus support (optional) ####
1287
1288 AC_ARG_ENABLE([dbus],
1289     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1290         [
1291             case "${enableval}" in
1292                 yes) dbus=yes ;;
1293                 no) dbus=no ;;
1294                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1295             esac
1296         ],
1297         [dbus=auto])
1298
1299 if test "x${dbus}" != xno ; then
1300
1301     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1302         [
1303             HAVE_DBUS=1
1304             saved_LIBS="$LIBS"
1305             LIBS="$LIBS $DBUS_LIBS"
1306             CFLAGS="$CFLAGS $DBUS_CFLAGS"
1307             AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1308             LIBS="$saved_LIBS"
1309             AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1310         ],
1311         [
1312             HAVE_DBUS=0
1313             if test "x$dbus" = xyes ; then
1314                 AC_MSG_ERROR([*** D-Bus support not found])
1315             fi
1316         ])
1317 else
1318     HAVE_DBUS=0
1319 fi
1320
1321 AC_SUBST(DBUS_CFLAGS)
1322 AC_SUBST(DBUS_LIBS)
1323 AC_SUBST(HAVE_DBUS)
1324 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1325
1326
1327 # udev and HAL depend on D-Bus: So double check if they were explicitly enabled.
1328 if test "x$HAVE_DBUS" != "x1" ; then
1329     HAVE_HAL=0
1330     if test "x${hal}" = xyes ; then
1331         AC_MSG_ERROR([*** D-Bus support is required by HAL])
1332     fi
1333
1334     HAVE_BLUEZ=0
1335     if test "x${bluez}" = xyes ; then
1336         AC_MSG_ERROR([*** D-Bus support is required by BLUEZ])
1337     fi
1338 fi
1339
1340
1341 #### HAL compat support (optional) ####
1342
1343 AC_ARG_ENABLE([hal-compat],
1344     AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]),
1345         [
1346             case "${enableval}" in
1347                 yes) halcompat=yes ;;
1348                 no) halcompat=no ;;
1349                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal-compat) ;;
1350             esac
1351         ],
1352         [halcompat=auto])
1353 if test "x${halcompat}" != xno -a "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1" ; then
1354     HAVE_HAL_COMPAT=1
1355     AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.])
1356 else
1357     HAVE_HAL_COMPAT=0
1358 fi
1359
1360 AC_SUBST(HAVE_HAL_COMPAT)
1361 AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
1362
1363 ### IPv6 connection support (optional) ###
1364
1365 AC_ARG_ENABLE([ipv6],
1366     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1367         [
1368             case "${enableval}" in
1369                 yes) ipv6=yes ;;
1370                 no) ipv6=no ;;
1371                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1372             esac
1373         ],
1374         [ipv6=auto])
1375
1376 if test "x${ipv6}" != xno ; then
1377     AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1378     HAVE_IPV6=1
1379 else
1380     HAVE_IPV6=0
1381 fi
1382
1383 #### OpenSSL support (optional) ####
1384
1385 AC_ARG_ENABLE([openssl],
1386     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1387         [
1388             case "${enableval}" in
1389                 yes) openssl=yes ;;
1390                 no) openssl=no ;;
1391                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1392             esac
1393         ],
1394         [openssl=auto])
1395
1396 if test "x${openssl}" != xno ; then
1397
1398     PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1399         [
1400             HAVE_OPENSSL=1
1401             AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1402         ],
1403         [
1404             HAVE_OPENSSL=0
1405             if test "x$openssl" = xyes ; then
1406                 AC_MSG_ERROR([*** OpenSSL support not found])
1407             fi
1408         ])
1409 else
1410     HAVE_OPENSSL=0
1411 fi
1412
1413 AC_SUBST(OPENSSL_CFLAGS)
1414 AC_SUBST(OPENSSL_LIBS)
1415 AC_SUBST(HAVE_OPENSSL)
1416 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1417
1418 #### FFTW (optional) ####
1419 AC_ARG_WITH(
1420         [fftw],
1421         AS_HELP_STRING([--without-fftw], [Omit FFTW-using modules (equalizer)]))
1422
1423 if test "x${with_fftw}" != "xno"; then
1424     PKG_CHECK_MODULES([FFTW], [fftw3f], [HAVE_FFTW=1], [HAVE_FFTW=0])
1425 fi
1426 AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
1427
1428 ### ORC (optional) ###
1429 ORC_CHECK([0.4.11])
1430
1431 ### Build and Install man pages ###
1432 AC_ARG_ENABLE(manpages,
1433         AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1434 [case "${enableval}" in
1435   yes) manpages=yes ;;
1436   no)  manpages=no ;;
1437   *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1438 esac],[manpages=yes])
1439
1440 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1441
1442 #### PulseAudio system group & user  #####
1443
1444 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1445 if test -z "$with_system_user" ; then
1446     PA_SYSTEM_USER=pulse
1447 else
1448     PA_SYSTEM_USER=$with_system_user
1449 fi
1450 AC_SUBST(PA_SYSTEM_USER)
1451 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1452
1453 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1454 if test -z "$with_system_group" ; then
1455     PA_SYSTEM_GROUP=pulse
1456 else
1457     PA_SYSTEM_GROUP=$with_system_group
1458 fi
1459 AC_SUBST(PA_SYSTEM_GROUP)
1460 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1461
1462 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)]))
1463 if test -z "$with_access_group" ; then
1464     PA_ACCESS_GROUP=pulse-access
1465 else
1466     PA_ACCESS_GROUP=$with_access_group
1467 fi
1468 AC_SUBST(PA_ACCESS_GROUP)
1469 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1470
1471 AC_ARG_ENABLE(
1472         per_user_esound_socket,
1473         AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1474         [
1475             case "${enableval}" in
1476                 yes) per_user_esound_socket=1 ;;
1477                 no) per_user_esound_socket=0 ;;
1478                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1479             esac
1480         ],
1481         [per_user_esound_socket=1])
1482
1483 if test "x$per_user_esound_socket" = "x1"; then
1484    AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1485 fi
1486
1487 #### PulseAudio system runtime dir ####
1488 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1489 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1490 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1491 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1492 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1493 AC_SUBST(PA_SYSTEM_STATE_PATH)
1494
1495 ###################################
1496 #            Output               #
1497 ###################################
1498
1499 AC_ARG_ENABLE([legacy-runtime-dir],
1500         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1501 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1502         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1503 fi
1504
1505 AC_ARG_ENABLE(
1506         [static-bins],
1507         AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1508         [STATIC_BINS=1], [STATIC_BINS=0])
1509 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1510
1511 AC_ARG_WITH(
1512         [preopen-mods],
1513         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1514         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1515 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1516 if test "x$PREOPEN_MODS" != "xall" ; then
1517     tmpLIBS=""
1518     for mod in $PREOPEN_MODS; do
1519         tmpLIBS="$tmpLIBS module-$mod.la"
1520     done
1521     PREOPEN_MODS="$tmpLIBS"
1522     AC_SUBST(PREOPEN_MODS)
1523 fi
1524
1525 AC_ARG_WITH(
1526         [module-dir],
1527         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
1528         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
1529
1530 AC_SUBST(modlibexecdir)
1531
1532 AC_ARG_WITH(
1533         [udev-rules-dir],
1534         AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
1535         [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
1536
1537 AC_SUBST(udevrulesdir)
1538
1539 AC_ARG_ENABLE(
1540         [force-preopen],
1541         AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1542         [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1543 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1544
1545 AC_CONFIG_FILES([
1546 Makefile
1547 src/Makefile
1548 man/Makefile
1549 libpulse.pc
1550 libpulse-simple.pc
1551 libpulse-browse.pc
1552 libpulse-mainloop-glib.pc
1553 doxygen/Makefile
1554 doxygen/doxygen.conf
1555 src/pulse/version.h
1556 po/Makefile.in
1557 ])
1558
1559 AC_OUTPUT
1560
1561 # ==========================================================================
1562 ENABLE_X11=no
1563 if test "x$HAVE_X11" = "x1" ; then
1564    ENABLE_X11=yes
1565 fi
1566
1567 ENABLE_OSS_OUTPUT=no
1568 ENABLE_OSS_WRAPPER=no
1569 if test "x$HAVE_OSS" = "x1" ; then
1570    if test "x$enable_oss_output" != "xno"; then
1571       ENABLE_OSS_OUTPUT=yes
1572    fi
1573    if test "x$enable_oss_wrapper" != "xno"; then
1574       ENABLE_OSS_WRAPPER=yes
1575    fi
1576 fi
1577
1578 ENABLE_COREAUDIO=no
1579 if test "x$HAVE_COREAUDIO" = "x1" ; then
1580    ENABLE_COREAUDIO=yes
1581 fi
1582
1583 ENABLE_ALSA=no
1584 if test "x$HAVE_ALSA" = "x1" ; then
1585    ENABLE_ALSA=yes
1586 fi
1587
1588 ENABLE_SOLARIS=no
1589 if test "x$HAVE_SOLARIS" = "x1" ; then
1590    ENABLE_SOLARIS=yes
1591 fi
1592
1593 ENABLE_WAVEOUT=no
1594 if test "x$HAVE_WAVEOUT" = "x1" ; then
1595    ENABLE_WAVEOUT=yes
1596 fi
1597
1598 ENABLE_GTK20=no
1599 if test "x$HAVE_GTK20" = "x1" ; then
1600    ENABLE_GTK20=yes
1601 fi
1602
1603 ENABLE_GLIB20=no
1604 if test "x$HAVE_GLIB20" = "x1" ; then
1605    ENABLE_GLIB20=yes
1606 fi
1607
1608 ENABLE_GCONF=no
1609 if test "x$HAVE_GCONF" = "x1" ; then
1610    ENABLE_GCONF=yes
1611 fi
1612
1613 ENABLE_AVAHI=no
1614 if test "x$HAVE_AVAHI" = "x1" ; then
1615    ENABLE_AVAHI=yes
1616 fi
1617
1618 ENABLE_JACK=no
1619 if test "x$HAVE_JACK" = "x1" ; then
1620    ENABLE_JACK=yes
1621 fi
1622
1623 ENABLE_LIBASYNCNS=no
1624 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1625    ENABLE_LIBASYNCNS=yes
1626 fi
1627
1628 ENABLE_LIRC=no
1629 if test "x$HAVE_LIRC" = "x1" ; then
1630    ENABLE_LIRC=yes
1631 fi
1632
1633 ENABLE_DBUS=no
1634 if test "x$HAVE_DBUS" = "x1" ; then
1635    ENABLE_DBUS=yes
1636 fi
1637
1638 ENABLE_HAL=no
1639 if test "x$HAVE_HAL" = "x1" ; then
1640    ENABLE_HAL=yes
1641 fi
1642
1643 ENABLE_UDEV=no
1644 if test "x$HAVE_UDEV" = "x1" ; then
1645    ENABLE_UDEV=yes
1646 fi
1647
1648 ENABLE_HAL_COMPAT=no
1649 if test "x$HAVE_HAL_COMPAT" = "x1" ; then
1650    ENABLE_HAL_COMPAT=yes
1651 fi
1652
1653 ENABLE_TCPWRAP=no
1654 if test "x${LIBWRAP_LIBS}" != x ; then
1655    ENABLE_TCPWRAP=yes
1656 fi
1657
1658 ENABLE_LIBSAMPLERATE=no
1659 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1660    ENABLE_LIBSAMPLERATE=yes
1661 fi
1662
1663 ENABLE_BLUEZ=no
1664 if test "x${HAVE_BLUEZ}" = "x1" ; then
1665    ENABLE_BLUEZ=yes
1666 fi
1667
1668 ENABLE_GDBM=no
1669 if test "x${HAVE_GDBM}" = "x1" ; then
1670    ENABLE_GDBM=yes
1671 fi
1672
1673 ENABLE_TDB=no
1674 if test "x${HAVE_TDB}" = "x1" ; then
1675    ENABLE_TDB=yes
1676 fi
1677
1678 ENABLE_SIMPLEDB=no
1679 if test "x${HAVE_SIMPLEDB}" = "x1" ; then
1680     ENABLE_SIMPLEDB=yes
1681 fi
1682
1683 ENABLE_FFTW=no
1684 if test "x${HAVE_FFTW}" = "x1" ; then
1685    ENABLE_FFTW=yes
1686 fi
1687
1688 ENABLE_ORC=no
1689 if test "x${HAVE_ORC}" = "xyes" ; then
1690    ENABLE_ORC=yes
1691 fi
1692
1693 ENABLE_OPENSSL=no
1694 if test "x${HAVE_OPENSSL}" = "x1" ; then
1695    ENABLE_OPENSSL=yes
1696 fi
1697
1698 ENABLE_IPV6=no
1699 if test "x${HAVE_IPV6}" = "x1" ; then
1700    ENABLE_IPV6=yes
1701 fi
1702
1703 ENABLE_PER_USER_ESOUND_SOCKET=no
1704 if test "x$per_user_esound_socket" = "x1" ; then
1705    ENABLE_PER_USER_ESOUND_SOCKET=yes
1706 fi
1707
1708 echo "
1709  ---{ $PACKAGE_NAME $VERSION }---
1710
1711     prefix:                        ${prefix}
1712     sysconfdir:                    ${sysconfdir}
1713     localstatedir:                 ${localstatedir}
1714     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1715     System State Path:             ${PA_SYSTEM_STATE_PATH}
1716     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1717     Compiler:                      ${CC}
1718     CFLAGS:                        ${CFLAGS}
1719     LIBS:                          ${LIBS}
1720
1721     Have X11:                      ${ENABLE_X11}
1722     Enable OSS Output:             ${ENABLE_OSS_OUTPUT}
1723     Enable OSS Wrapper:            ${ENABLE_OSS_WRAPPER}
1724     Enable CoreAudio:              ${ENABLE_COREAUDIO}
1725     Enable Alsa:                   ${ENABLE_ALSA}
1726     Enable Solaris:                ${ENABLE_SOLARIS}
1727     Enable WaveOut:                ${ENABLE_WAVEOUT}
1728     Enable GLib 2.0:               ${ENABLE_GLIB20}
1729     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1730     Enable GConf:                  ${ENABLE_GCONF}
1731     Enable Avahi:                  ${ENABLE_AVAHI}
1732     Enable Jack:                   ${ENABLE_JACK}
1733     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1734     Enable LIRC:                   ${ENABLE_LIRC}
1735     Enable D-Bus:                  ${ENABLE_DBUS}
1736       Enable HAL:                  ${ENABLE_HAL}
1737       Enable BlueZ:                ${ENABLE_BLUEZ}
1738     Enable udev:                   ${ENABLE_UDEV}
1739       Enable HAL->udev compat:     ${ENABLE_HAL_COMPAT}
1740     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1741     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1742     Enable IPv6:                   ${ENABLE_IPV6}
1743     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1744     Enable tdb:                    ${ENABLE_TDB}
1745     Enable gdbm:                   ${ENABLE_GDBM}
1746     Enable simple database:        ${ENABLE_SIMPLEDB}
1747     Enable fftw:                   ${ENABLE_FFTW}
1748     Enable orc:                    ${ENABLE_ORC}
1749
1750     System User:                   ${PA_SYSTEM_USER}
1751     System Group:                  ${PA_SYSTEM_GROUP}
1752     Access Group:                  ${PA_ACCESS_GROUP}
1753     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1754     Force preopen:                 ${FORCE_PREOPEN}
1755     Preopened modules:             ${PREOPEN_MODS}
1756 "
1757
1758 if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
1759    echo "
1760 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1761 You do not have D-Bus support enabled. It is strongly recommended
1762 that you enable D-Bus support if your platform supports it.
1763 Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
1764 to the Device Reservation Protocol to speak to JACK, Bluetooth
1765 support and even a native control protocol for communicating and
1766 controling the PulseAudio daemon itself.
1767 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1768 "
1769 fi
1770
1771 if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
1772    echo "
1773 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1774 You do not have udev support enabled. It is strongly recommended
1775 that you enable udev support if your platform supports it as it is
1776 the primary method used to detect hardware audio devices (on Linux)
1777 and is thus a critical part of PulseAudio on that platform.
1778 ===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
1779 "
1780 fi