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