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