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