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