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