Merge commit 'elmarco/legacy-dir'
[profile/ivi/pulseaudio.git] / 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-test2],[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 #### BlueZ support (optional) ####
981
982 AC_ARG_ENABLE([bluez],
983     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
984         [
985             case "${enableval}" in
986                 yes) bluez=yes ;;
987                 no) bluez=no ;;
988                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
989             esac
990         ],
991         [bluez=auto])
992 if test "x${bluez}" != xno ; then
993     PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
994         HAVE_BLUEZ=1,
995         [
996             HAVE_BLUEZ=0
997             if test "x$bluez" = xyes ; then
998                 AC_MSG_ERROR([*** BLUEZ support not found])
999             fi
1000         ])
1001 else
1002     HAVE_BLUEZ=0
1003 fi
1004
1005 AC_SUBST(BLUEZ_CFLAGS)
1006 AC_SUBST(BLUEZ_LIBS)
1007 AC_SUBST(HAVE_BLUEZ)
1008 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1009
1010 #### D-Bus support (optional) ####
1011
1012 AC_ARG_ENABLE([dbus],
1013     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1014         [
1015             case "${enableval}" in
1016                 yes) dbus=yes ;;
1017                 no) dbus=no ;;
1018                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1019             esac
1020         ],
1021         [dbus=auto])
1022
1023 if test "x$HAVE_HAL" = x1 ; then
1024    dbus=yes
1025 fi
1026
1027 if test "x${dbus}" != xno || test "x${bluez}" != xno || "x${hal}" != xno ; then
1028
1029     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1030         [
1031             HAVE_DBUS=1
1032             saved_LIBS="$LIBS"
1033             LIBS="$LIBS $DBUS_LIBS"
1034             AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1035             LIBS="$saved_LIBS"
1036             AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1037         ],
1038         [
1039             HAVE_DBUS=0
1040             if test "x$dbus" = xyes ; then
1041                 AC_MSG_ERROR([*** D-Bus support not found])
1042             fi
1043         ])
1044 else
1045     HAVE_DBUS=0
1046 fi
1047
1048 AC_SUBST(DBUS_CFLAGS)
1049 AC_SUBST(DBUS_LIBS)
1050 AC_SUBST(HAVE_DBUS)
1051 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1052
1053 #### PolicyKit support (optional) ####
1054
1055 AC_ARG_ENABLE([polkit],
1056     AS_HELP_STRING([--disable-polkit],[Disable optional PolicyKit support]),
1057         [
1058             case "${enableval}" in
1059                 yes) polkit=yes ;;
1060                 no) polkit=no ;;
1061                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-polkit) ;;
1062             esac
1063         ],
1064         [polkit=auto])
1065
1066 if test "x${polkit}" != xno ; then
1067
1068     PKG_CHECK_MODULES(POLKIT, [ polkit-dbus >= 0.7 ],
1069         [
1070             HAVE_POLKIT=1
1071             AC_DEFINE([HAVE_POLKIT], 1, [Have PolicyKit])
1072             policydir=`pkg-config polkit-dbus --variable prefix`/share/PolicyKit/policy/
1073             AC_SUBST(policydir)
1074         ],
1075         [
1076             HAVE_POLKIT=0
1077             if test "x$polkit" = xyes ; then
1078                 AC_MSG_ERROR([*** PolicyKit support not found])
1079             fi
1080         ])
1081 else
1082     HAVE_POLKIT=0
1083 fi
1084
1085 AC_SUBST(POLKIT_CFLAGS)
1086 AC_SUBST(POLKIT_LIBS)
1087 AC_SUBST(HAVE_POLKIT)
1088 AM_CONDITIONAL([HAVE_POLKIT], [test "x$HAVE_POLKIT" = x1])
1089
1090
1091 ### IPv6 connection support (optional) ###
1092
1093 AC_ARG_ENABLE([ipv6],
1094     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1095         [
1096             case "${enableval}" in
1097                 yes) ipv6=yes ;;
1098                 no) ipv6=no ;;
1099                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1100             esac
1101         ],
1102         [ipv6=auto])
1103
1104 if test "x${ipv6}" != xno ; then
1105     AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1106     HAVE_IPV6=1
1107 else
1108     HAVE_IPV6=0
1109 fi
1110
1111 #### OpenSSL support (optional) ####
1112
1113 AC_ARG_ENABLE([openssl],
1114     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1115         [
1116             case "${enableval}" in
1117                 yes) openssl=yes ;;
1118                 no) openssl=no ;;
1119                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1120             esac
1121         ],
1122         [openssl=auto])
1123
1124 if test "x${openssl}" != xno ; then
1125
1126     PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1127         [
1128             HAVE_OPENSSL=1
1129             AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1130         ],
1131         [
1132             HAVE_OPENSSL=0
1133             if test "x$openssl" = xyes ; then
1134                 AC_MSG_ERROR([*** OpenSSL support not found])
1135             fi
1136         ])
1137 else
1138     HAVE_OPENSSL=0
1139 fi
1140
1141 AC_SUBST(OPENSSL_CFLAGS)
1142 AC_SUBST(OPENSSL_LIBS)
1143 AC_SUBST(HAVE_OPENSSL)
1144 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1145
1146 ### Build and Install man pages ###
1147 AC_ARG_ENABLE(manpages,
1148         AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1149 [case "${enableval}" in
1150   yes) manpages=yes ;;
1151   no)  manpages=no ;;
1152   *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1153 esac],[manpages=yes])
1154
1155 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1156
1157 #### PulseAudio system group & user  #####
1158
1159 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1160 if test -z "$with_system_user" ; then
1161     PA_SYSTEM_USER=pulse
1162 else
1163     PA_SYSTEM_USER=$with_system_user
1164 fi
1165 AC_SUBST(PA_SYSTEM_USER)
1166 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1167
1168 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1169 if test -z "$with_system_group" ; then
1170     PA_SYSTEM_GROUP=pulse
1171 else
1172     PA_SYSTEM_GROUP=$with_system_group
1173 fi
1174 AC_SUBST(PA_SYSTEM_GROUP)
1175 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1176
1177 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)]))
1178 if test -z "$with_realtime_group" ; then
1179     PA_REALTIME_GROUP=pulse-rt
1180 else
1181     PA_REALTIME_GROUP=$with_realtime_group
1182 fi
1183 AC_SUBST(PA_REALTIME_GROUP)
1184 AC_DEFINE_UNQUOTED(PA_REALTIME_GROUP,"$PA_REALTIME_GROUP", [Realtime group])
1185
1186 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)]))
1187 if test -z "$with_access_group" ; then
1188     PA_ACCESS_GROUP=pulse-access
1189 else
1190     PA_ACCESS_GROUP=$with_access_group
1191 fi
1192 AC_SUBST(PA_ACCESS_GROUP)
1193 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1194
1195 AC_ARG_ENABLE(
1196         per_user_esound_socket,
1197         AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1198         [
1199             case "${enableval}" in
1200                 yes) per_user_esound_socket=1 ;;
1201                 no) per_user_esound_socket=0 ;;
1202                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1203             esac
1204         ],
1205         [per_user_esound_socket=1])
1206
1207 if test "x$per_user_esound_socket" = "x1"; then
1208    AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1209 fi
1210
1211 #### PulseAudio system runtime dir ####
1212 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1213 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1214 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1215 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1216 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1217 AC_SUBST(PA_SYSTEM_STATE_PATH)
1218
1219 ###################################
1220 #            Output               #
1221 ###################################
1222
1223 AC_ARG_ENABLE([legacy-runtime-dir],
1224         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1225 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1226         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1227 fi
1228
1229 AC_ARG_ENABLE(
1230         [static-bins],
1231         AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1232         [STATIC_BINS=1], [STATIC_BINS=0])
1233 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1234
1235 AC_ARG_WITH(
1236         [preopen-mods],
1237         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1238         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1239 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1240 if test "x$PREOPEN_MODS" != "xall" ; then
1241     tmpLIBS=""
1242     for mod in $PREOPEN_MODS; do
1243         tmpLIBS="$tmpLIBS module-$mod.la"
1244     done
1245     PREOPEN_MODS="$tmpLIBS"
1246     AC_SUBST(PREOPEN_MODS)
1247 fi
1248
1249 AC_ARG_WITH(
1250         [module-dir],
1251         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/]),
1252         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/"])
1253
1254 AC_SUBST(modlibexecdir)
1255
1256 AC_ARG_ENABLE(
1257         [force-preopen],
1258         AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1259         [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1260 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1261
1262 AC_CONFIG_FILES([
1263 Makefile
1264 src/Makefile
1265 man/Makefile
1266 libpulse.pc
1267 libpulse-simple.pc
1268 libpulse-browse.pc
1269 libpulse-mainloop-glib.pc
1270 doxygen/Makefile
1271 doxygen/doxygen.conf
1272 src/pulse/version.h
1273 po/Makefile.in
1274 ])
1275 AC_OUTPUT
1276
1277 # ==========================================================================
1278 ENABLE_X11=no
1279 if test "x$HAVE_X11" = "x1" ; then
1280    ENABLE_X11=yes
1281 fi
1282
1283 ENABLE_OSS=no
1284 if test "x$HAVE_OSS" = "x1" ; then
1285    ENABLE_OSS=yes
1286 fi
1287
1288 ENABLE_ALSA=no
1289 if test "x$HAVE_ALSA" = "x1" ; then
1290    ENABLE_ALSA=yes
1291 fi
1292
1293 ENABLE_SOLARIS=no
1294 if test "x$HAVE_SOLARIS" = "x1" ; then
1295    ENABLE_SOLARIS=yes
1296 fi
1297
1298 ENABLE_GTK20=no
1299 if test "x$HAVE_GTK20" = "x1" ; then
1300    ENABLE_GTK20=yes
1301 fi
1302
1303 ENABLE_GLIB20=no
1304 if test "x$HAVE_GLIB20" = "x1" ; then
1305    ENABLE_GLIB20=yes
1306 fi
1307
1308 ENABLE_GCONF=no
1309 if test "x$HAVE_GCONF" = "x1" ; then
1310    ENABLE_GCONF=yes
1311 fi
1312
1313 ENABLE_AVAHI=no
1314 if test "x$HAVE_AVAHI" = "x1" ; then
1315    ENABLE_AVAHI=yes
1316 fi
1317
1318 ENABLE_JACK=no
1319 if test "x$HAVE_JACK" = "x1" ; then
1320    ENABLE_JACK=yes
1321 fi
1322
1323 ENABLE_LIBASYNCNS=no
1324 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1325    ENABLE_LIBASYNCNS=yes
1326 fi
1327
1328 ENABLE_LIRC=no
1329 if test "x$HAVE_LIRC" = "x1" ; then
1330    ENABLE_LIRC=yes
1331 fi
1332
1333 ENABLE_HAL=no
1334 if test "x$HAVE_HAL" = "x1" ; then
1335    ENABLE_HAL=yes
1336 fi
1337
1338 ENABLE_TCPWRAP=no
1339 if test "x${LIBWRAP_LIBS}" != x ; then
1340    ENABLE_TCPWRAP=yes
1341 fi
1342
1343 ENABLE_LIBSAMPLERATE=no
1344 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1345    ENABLE_LIBSAMPLERATE=yes
1346 fi
1347
1348 ENABLE_BLUEZ=no
1349 if test "x${HAVE_BLUEZ}" = "x1" ; then
1350    ENABLE_BLUEZ=yes
1351 fi
1352
1353 ENABLE_POLKIT=no
1354 if test "x${HAVE_POLKIT}" = "x1" ; then
1355    ENABLE_POLKIT=yes
1356 fi
1357
1358 ENABLE_OPENSSL=no
1359 if test "x${HAVE_OPENSSL}" = "x1" ; then
1360    ENABLE_OPENSSL=yes
1361 fi
1362
1363 ENABLE_IPV6=no
1364 if test "x${HAVE_IPV6}" = "x1" ; then
1365    ENABLE_IPV6=yes
1366 fi
1367
1368 ENABLE_PER_USER_ESOUND_SOCKET=no
1369 if test "x$per_user_esound_socket" = "x1" ; then
1370    ENABLE_PER_USER_ESOUND_SOCKET=yes
1371 fi
1372
1373 echo "
1374  ---{ $PACKAGE_NAME $VERSION }---
1375
1376     prefix:                        ${prefix}
1377     sysconfdir:                    ${sysconfdir}
1378     localstatedir:                 ${localstatedir}
1379     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1380     System State Path:             ${PA_SYSTEM_STATE_PATH}
1381     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1382     Compiler:                      ${CC}
1383     CFLAGS:                        ${CFLAGS}
1384
1385     Have X11:                      ${ENABLE_X11}
1386     Enable OSS:                    ${ENABLE_OSS}
1387     Enable Alsa:                   ${ENABLE_ALSA}
1388     Enable Solaris:                ${ENABLE_SOLARIS}
1389     Enable GLib 2.0:               ${ENABLE_GLIB20}
1390     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1391     Enable GConf:                  ${ENABLE_GCONF}
1392     Enable Avahi:                  ${ENABLE_AVAHI}
1393     Enable Jack:                   ${ENABLE_JACK}
1394     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1395     Enable LIRC:                   ${ENABLE_LIRC}
1396     Enable HAL:                    ${ENABLE_HAL}
1397     Enable BlueZ:                  ${ENABLE_BLUEZ}
1398     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1399     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1400     Enable PolicyKit:              ${ENABLE_POLKIT}
1401     Enable IPv6:                   ${ENABLE_IPV6}
1402     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1403
1404     System User:                   ${PA_SYSTEM_USER}
1405     System Group:                  ${PA_SYSTEM_GROUP}
1406     Realtime Group:                ${PA_REALTIME_GROUP}
1407     Access Group:                  ${PA_ACCESS_GROUP}
1408     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1409     Force preopen:                 ${FORCE_PREOPEN}
1410     Preopened modules:             ${PREOPEN_MODS}
1411 "