context: don't fail if session bus is not there
[pulseaudio-mirror.git] / configure.ac
blob6031ebd38ff8fc5109e538ab977ab6defe56cca1
1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
4 # This file is part of PulseAudio.
6 # Copyright 2004-2008 Lennart Poettering
7 # Copyright 2006-2007 Pierre Ossman <ossman@cendio.se> for Cendio AB
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.
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.
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.
23 AC_PREREQ(2.63)
25 AC_INIT([pulseaudio], m4_esyscmd([./git-version-gen .tarball-version]),
26         [mzchyfrnhqvb (at) 0pointer (dot) net])
27 AC_CONFIG_SRCDIR([src/daemon/main.c])
28 AC_CONFIG_MACRO_DIR([m4])
29 AC_CONFIG_HEADERS([config.h])
30 AM_INIT_AUTOMAKE([foreign 1.10 -Wall -Wno-portability])
32 m4_define(pa_major, `echo $VERSION |  cut -d. -f 1`)
33 m4_define(pa_minor, `echo $VERSION |  cut -d. -f 2`)
34 m4_define(pa_micro, `echo $VERSION |  cut -d. -f 3`)
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/])
43 AC_SUBST(PA_API_VERSION, 12)
44 AC_SUBST(PA_PROTOCOL_VERSION, 15)
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])
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])
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])
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])
62 AC_CANONICAL_HOST
63 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
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}"
70 #### Platform hacks ####
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
79 #### Checks for programs. ####
81 # mkdir -p
83 AC_PROG_MKDIR_P
85 # CC
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
93 # M4
95 AC_CHECK_PROGS([M4], gm4 m4, no)
96 if test "x$M4" = xno ; then
97    AC_MSG_ERROR([m4 missing])
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"
103 for flag in $DESIRED_FLAGS ; do
104   CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
105 done
107 dnl Linker flags.
108 dnl Check whether the linker supports the -version-script option.
110 dnl This variable is used to make sure ${srcdir} is expanded and not
111 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
112 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
114 CC_CHECK_LDFLAGS([${tmp_ldflag}],
115     [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
116 AC_SUBST([VERSIONING_LDFLAGS])
118 dnl Check whether to build tests by default (as compile-test) or not
119 AC_ARG_ENABLE([default-build-tests],
120     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
122 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
124 # Native atomic operation support
125 AC_ARG_ENABLE([atomic-arm-linux-helpers],
126     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
127         [
128             case "${enableval}" in
129                 yes) atomic_arm_linux_helpers=yes ;;
130                 no) atomic_arm_linux_helpers=no ;;
131                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
132             esac
133         ],
134         [atomic_arm_linux_helpers=auto])
136 AC_ARG_ENABLE([atomic-arm-memory-barrier],
137     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
138         [
139             case "${enableval}" in
140                 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
141                 no) ;;
142                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
143             esac
144         ],)
146 AC_ARG_ENABLE([netbsd-atomic-ops],
147     AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
148         [
149             case "${enableval}" in
150                 yes) atomic_netbsd_helpers=yes ;;
151                 no) atomic_netbsd_helpers=no ;;
152                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
153             esac
154         ],
155         [atomic_netbsd_helpers=auto])
157 AC_MSG_CHECKING([target operating system])
158 case $host in
159         *-*-linux*)
160             AC_MSG_RESULT([linux])
161             pulse_target_os=linux
162         ;;
163         *-*-netbsd*)
164             AC_MSG_RESULT([netbsd])
165             pulse_target_os=netbsd
166         ;;
167         *)
168             AC_MSG_RESULT([unknown])
169             pulse_target_os=unknown
170         ;;
171 esac
173 # If everything else fails use libatomic_ops
174 need_libatomic_ops=yes
176 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
177   pulseaudio_cv_sync_bool_compare_and_swap,
178   [AC_LINK_IFELSE(
179      AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
180      [pulseaudio_cv_sync_bool_compare_and_swap=yes],
181      [pulseaudio_cv_sync_bool_compare_and_swap=no])
182   ])
184 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
185     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
186     need_libatomic_ops=no
187 else
188     # HW specific atomic ops stuff
189     AC_MSG_CHECKING([architecture for native atomic operations])
190     case $host_cpu in
191         arm*)
192             AC_MSG_RESULT([arm])
193             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
194             # The Linux kernel helper functions have been there since 2.6.16. However
195             # compile time checking for kernel version in cross compile environment
196             # (which is usually the case for arm cpu) is tricky (or impossible).
197             if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
198                 AC_MSG_RESULT([yes])
199                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
200                 need_libatomic_ops=no
201             else
202                AC_MSG_RESULT([no])
203                AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
204                  pulseaudio_cv_support_arm_atomic_ops,
205                  [AC_COMPILE_IFELSE(
206                     AC_LANG_PROGRAM([],
207                       [[volatile int a=0;
208                         int o=0, n=1, r;
209                         asm volatile ("ldrex    %0, [%1]\n"
210                                          "subs  %0, %0, %2\n"
211                                          "strexeq %0, %3, [%1]\n"
212                                          : "=&r" (r)
213                                          : "r" (&a), "Ir" (o), "r" (n)
214                                          : "cc");
215                         return (a==1 ? 0 : -1);
216                       ]]),
217                     [pulseaudio_cv_support_arm_atomic_ops=yes],
218                     [pulseaudio_cv_support_arm_atomic_ops=no])
219                  ])
220                AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
221                    AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
222                    need_libatomic_ops=no
223                  ])
224            fi
225         ;;
226         *)
227             if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
228                 AC_MSG_RESULT([yes])
229                 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
230                 need_libatomic_ops=no
231             else
232                 AC_MSG_RESULT([unknown])
233             fi
234         ;;
235     esac
238 CC_CHECK_TLS
240 AC_CACHE_CHECK([whether $CC knows _Bool],
241   pulseaudio_cv__Bool,
242   [AC_COMPILE_IFELSE(
243      AC_LANG_PROGRAM([], [[_Bool b;]]),
244      [pulseaudio_cv__Bool=yes],
245      [pulseaudio_cv__Bool=no])
246   ])
248 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
249     AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
250   ])
252 #### libtool stuff ####
253 LT_PREREQ(2.2)
254 LT_INIT([dlopen win32-dll disable-static])
256 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
257 dnl exactly which version of libltdl is present in the system, so we
258 dnl just assume that it's a working version as long as we have the
259 dnl library and the header files.
261 dnl As an extra safety device, check for lt_dladvise_init() which is
262 dnl only implemented in libtool 2.x, and refine as we go if we have
263 dnl refined requirements.
265 dnl Check the header files first since the system may have a
266 dnl libltdl.so for runtime, but no headers, and we want to bail out as
267 dnl soon as possible.
269 dnl We don't need any special variable for this though, since the user
270 dnl can give the proper place to find libltdl through the standard
271 dnl variables like LDFLAGS and CPPFLAGS.
273 AC_CHECK_HEADER([ltdl.h],
274     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
275     [LIBLTDL=])
277 AS_IF([test "x$LIBLTDL" = "x"],
278     [AC_MSG_ERROR([Unable to find libltdl.])])
279 AC_SUBST([LIBLTDL])
281 #### Determine build environment ####
283 os_is_win32=0
285 case "$host_os" in
286         mingw*)
287         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
288         os_is_win32=1
289                 ;;
290         esac
292 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
294 ###################################
295 #   Basic environment checks      #
296 ###################################
298 #### Checks for header files. ####
300 # ISO
301 AC_HEADER_STDC
303 # POSIX
304 AC_CHECK_HEADERS([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
305     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
306     sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
307     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
308 AC_CHECK_HEADERS([netinet/ip.h], [], [],
309                  [#include <sys/types.h>
310                   #if HAVE_NETINET_IN_H
311                   # include <netinet/in.h>
312                   #endif
313                   #if HAVE_NETINET_IN_SYSTM_H
314                   # include <netinet/in_systm.h>
315                   #endif
316                  ])
317 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
318 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
320 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
321 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
323 # Linux
324 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
326 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
328 AC_CHECK_HEADERS([sys/prctl.h])
330 # Solaris
331 AC_CHECK_HEADERS([sys/filio.h])
333 # Windows
334 AC_CHECK_HEADERS([windows.h winsock2.h ws2tcpip.h])
336 # NetBSD
337 AC_CHECK_HEADERS([sys/atomic.h])
339 # Other
340 AC_CHECK_HEADERS([sys/ioctl.h])
341 AC_CHECK_HEADERS([byteswap.h])
342 AC_CHECK_HEADERS([sys/syscall.h])
343 AC_CHECK_HEADERS([sys/eventfd.h])
344 AC_CHECK_HEADERS([execinfo.h])
346 #### Typdefs, structures, etc. ####
348 AC_C_CONST
349 AC_C_BIGENDIAN
350 AC_TYPE_PID_T
351 AC_TYPE_SIZE_T
352 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
353     [Define ssize_t if it is not done by the standard libs.])])
354 AC_TYPE_OFF_T
356 AC_TYPE_UID_T
357 AC_CHECK_DECLS(environ)
359 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
360 HAVE_SIGXCPU=1
361 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
362 ], [HAVE_SIGXCPU=0])
363 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
365 # Solaris lacks this
366 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
367     [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
368         [AC_DEFINE([INADDR_NONE],  [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
370 #### POSIX threads ####
372 ACX_PTHREAD
374 #### Check for libs ####
376 # ISO
377 AC_SEARCH_LIBS([pow], [m])
379 # POSIX
380 AC_SEARCH_LIBS([sched_setscheduler], [rt])
381 AC_SEARCH_LIBS([dlopen], [dl])
382 AC_SEARCH_LIBS([shm_open], [rt])
383 AC_SEARCH_LIBS([inet_ntop], [nsl])
384 AC_SEARCH_LIBS([timer_create], [rt])
386 # BSD
387 AC_SEARCH_LIBS([connect], [socket])
389 # Non-standard
391 # This magic is needed so we do not needlessly add static libs to the win32
392 # build, disabling its ability to make dlls.
393 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
395 AC_CHECK_LIB(gdbm, gdbm_open)
396 AC_CHECK_HEADERS(gdbm.h, [], [AC_MSG_ERROR([gdbm.h not found])])
398 #### Check for functions ####
400 # ISO
401 AC_CHECK_FUNCS([lrintf strtof])
403 # POSIX
404 AC_FUNC_FORK
405 AC_FUNC_GETGROUPS
406 AC_FUNC_SELECT_ARGTYPES
407 AC_CHECK_FUNCS([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
408     getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
409     pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
410     sigaction sleep sysconf pthread_setaffinity_np])
411 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
413 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
415 # X/OPEN
416 AC_CHECK_FUNCS([readlink])
418 # SUSv2
419 AC_CHECK_FUNCS([ctime_r usleep])
421 # SUSv3
422 AC_CHECK_FUNCS([strerror_r])
424 # BSD
425 AC_CHECK_FUNCS([lstat])
427 # Non-standard
429 AC_CHECK_FUNCS([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
431 AC_FUNC_ALLOCA
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   ])
451 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
452     AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
453   ])
455 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
457 #### Large File-Support (LFS) ####
459 AC_SYS_LARGEFILE
461 # Check for open64 to know if the current system does have open64() and similar functions
462 AC_CHECK_FUNCS([open64])
464 #### [lib]iconv ####
466 AM_ICONV
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
474 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
475 AC_SUBST(pulselocaledir)
477 ###################################
478 #      External libraries         #
479 ###################################
481 #### pkg-config ####
483 PKG_PROG_PKG_CONFIG
485 #### X11 (optional) ####
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])
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
511 if test "x${HAVE_X11}" = x1 ; then
512    AC_DEFINE([HAVE_X11], 1, [Have X11?])
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])
520 #### Capabilities (optional) ####
522 CAP_LIBS=''
524 AC_ARG_WITH(
525         [caps],
526         AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
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])
539 #### Valgrind (optional) ####
541 AC_CHECK_HEADERS([valgrind/memcheck.h])
543 #### Sound file ####
545 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.10 ])
546 AC_SUBST(LIBSNDFILE_CFLAGS)
547 AC_SUBST(LIBSNDFILE_LIBS)
549 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
550 AC_SUBST(LIBSPEEX_CFLAGS)
551 AC_SUBST(LIBSPEEX_LIBS)
553 #### atomic-ops ###
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    ])
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])
570 #### Libsamplerate support (optional) ####
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])
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
596 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
597    AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
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])
605 #### OSS support (optional) ####
607 AC_ARG_ENABLE([oss],
608     AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
609         [
610             case "${enableval}" in
611                 yes) oss=yes ;;
612                 no) oss=no ;;
613                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
614             esac
615         ],
616         [oss=auto])
618 if test "x${oss}" != xno ; then
619     AC_CHECK_HEADERS([sys/soundcard.h],
620         [
621             HAVE_OSS=1
622             AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
623         ],
624         [
625             HAVE_OSS=0
626             if test "x$oss" = xyes ; then
627                 AC_MSG_ERROR([*** OSS support not found])
628             fi
629         ])
630 else
631     HAVE_OSS=0
634 AC_SUBST(HAVE_OSS)
635 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
638 #### ALSA support (optional) ####
640 AC_ARG_ENABLE([alsa],
641     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
642         [
643             case "${enableval}" in
644                 yes) alsa=yes ;;
645                 no) alsa=no ;;
646                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
647             esac
648         ],
649         [alsa=auto])
651 if test "x${alsa}" != xno ; then
652     PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
653         [
654             HAVE_ALSA=1
655             AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
656         ],
657         [
658             HAVE_ALSA=0
659             if test "x$alsa" = xyes ; then
660                 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
661             fi
662         ])
663 else
664     HAVE_ALSA=0
667 AC_SUBST(ASOUNDLIB_CFLAGS)
668 AC_SUBST(ASOUNDLIB_LIBS)
669 AC_SUBST(HAVE_ALSA)
670 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
672 #### Solaris audio support (optional) ####
674 AC_ARG_ENABLE([solaris],
675     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
676         [
677             case "${enableval}" in
678                 yes) solaris=yes ;;
679                 no) solaris=no ;;
680                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
681             esac
682         ],
683         [solaris=auto])
685 if test "x${solaris}" != xno ; then
686     AC_CHECK_HEADERS([sys/audio.h],
687         [
688             HAVE_SOLARIS=1
689             AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
690         ],
691         [
692             HAVE_SOLARIS=0
693             if test "x$solaris" = xyes ; then
694                 AC_MSG_ERROR([*** Solaris audio support not found])
695             fi
696         ])
697 else
698     HAVE_SOLARIS=0
701 AC_SUBST(HAVE_SOLARIS)
702 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
704 #### GLib 2 support (optional) ####
706 AC_ARG_ENABLE([glib2],
707     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
708         [
709             case "${enableval}" in
710                 yes) glib2=yes ;;
711                 no) glib2=no ;;
712                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
713             esac
714         ],
715         [glib2=auto])
717 if test "x${glib2}" != xno ; then
718     PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
719         HAVE_GLIB20=1,
720         [
721             HAVE_GLIB20=0
722             if test "x$glib2" = xyes ; then
723                 AC_MSG_ERROR([*** GLib 2 support not found])
724             fi
725         ])
726 else
727     HAVE_GLIB20=0
730 AC_SUBST(GLIB20_CFLAGS)
731 AC_SUBST(GLIB20_LIBS)
732 AC_SUBST(HAVE_GLIB20)
733 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
735 if test "x$HAVE_GLIB20" = x1 ; then
736    AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
739 #### GTK2 support (optional) ####
741 AC_ARG_ENABLE([gtk2],
742     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
743         [
744             case "${enableval}" in
745                 yes) gtk2=yes ;;
746                 no) gtk2=no ;;
747                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
748             esac
749         ],
750         [gtk2=auto])
752 if test "x${gtk2}" != xno ; then
753     PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
754         HAVE_GTK20=1,
755         [
756             HAVE_GTK20=0
757             if test "x$gtk2" = xyes ; then
758                 AC_MSG_ERROR([*** Gtk+ 2 support not found])
759             fi
760         ])
761 else
762     HAVE_GTK20=0
765 AC_SUBST(GTK20_CFLAGS)
766 AC_SUBST(GTK20_LIBS)
767 AC_SUBST(HAVE_GTK20)
768 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
770 if test "x$HAVE_GTK20" = x1 ; then
771    AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
774 #### GConf support (optional) ####
776 AC_ARG_ENABLE([gconf],
777     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
778         [
779             case "${enableval}" in
780                 yes) gconf=yes ;;
781                 no) gconf=no ;;
782                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
783             esac
784         ],
785         [gconf=auto])
787 if test "x${gconf}" != xno ; then
788     PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
789         HAVE_GCONF=1,
790         [
791             HAVE_GCONF=0
792             if test "x$gconf" = xyes ; then
793                 AC_MSG_ERROR([*** GConf support not found])
794             fi
795         ])
796 else
797     HAVE_GCONF=0
800 AC_SUBST(GCONF_CFLAGS)
801 AC_SUBST(GCONF_LIBS)
802 AC_SUBST(HAVE_GCONF)
803 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
805 #### Avahi support (optional) ####
807 AC_ARG_ENABLE([avahi],
808     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
809         [
810             case "${enableval}" in
811                 yes) avahi=yes ;;
812                 no) avahi=no ;;
813                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
814             esac
815         ],
816         [avahi=auto])
818 if test "x${avahi}" != xno ; then
819     PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
820         HAVE_AVAHI=1,
821         [
822                 HAVE_AVAHI=0
823                 if test "x$avahi" = xyes ; then
824                         AC_MSG_ERROR([*** Avahi support not found])
825                 fi
826         ])
827 else
828     HAVE_AVAHI=0
831 AC_SUBST(AVAHI_CFLAGS)
832 AC_SUBST(AVAHI_LIBS)
833 AC_SUBST(HAVE_AVAHI)
834 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
836 ### LIBOIL ####
838 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
839 AC_SUBST(LIBOIL_CFLAGS)
840 AC_SUBST(LIBOIL_LIBS)
842 ### JACK (optional) ####
844 AC_ARG_ENABLE([jack],
845     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
846         [
847             case "${enableval}" in
848                 yes) jack=yes ;;
849                 no) jack=no ;;
850                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
851             esac
852         ],
853         [jack=auto])
855 if test "x${jack}" != xno ; then
856     PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
857         HAVE_JACK=1,
858         [
859             HAVE_JACK=0
860             if test "x$jack" = xyes ; then
861                 AC_MSG_ERROR([*** JACK support not found])
862             fi
863         ])
864 else
865     HAVE_JACK=0
868 AC_SUBST(JACK_CFLAGS)
869 AC_SUBST(JACK_LIBS)
870 AC_SUBST(HAVE_JACK)
871 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
873 #### Async DNS support (optional) ####
875 AC_ARG_ENABLE([asyncns],
876     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
877         [
878             case "${enableval}" in
879                 yes) asyncns=yes ;;
880                 no) asyncns=no ;;
881                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
882             esac
883         ],
884         [asyncns=auto])
886 if test "x${asyncns}" != xno ; then
887     PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
888         HAVE_LIBASYNCNS=1,
889         [
890             HAVE_LIBASYNCNS=0
891             if test "x$asyncns" = xyes ; then
892                 AC_MSG_ERROR([*** Async DNS support not found])
893             fi
894         ])
895 else
896     HAVE_LIBASYNCNS=0
899 AC_SUBST(LIBASYNCNS_CFLAGS)
900 AC_SUBST(LIBASYNCNS_LIBS)
901 AC_SUBST(HAVE_LIBASYNCNS)
902 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
904 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
905    AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
908 #### TCP wrappers (optional) ####
910 AC_ARG_ENABLE([tcpwrap],
911     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
912         [
913             case "${enableval}" in
914                 yes) tcpwrap=yes ;;
915                 no) tcpwrap=no ;;
916                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
917             esac
918         ],
919         [tcpwrap=auto])
921 if test "x${tcpwrap}" != xno ; then
922     ACX_LIBWRAP
923     if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
924         AC_MSG_ERROR([*** TCP wrappers support not found])
925     fi
926 else
927     LIBWRAP_LIBS=
930 AC_SUBST(LIBWRAP_LIBS)
932 #### LIRC support (optional) ####
934 AC_ARG_ENABLE([lirc],
935     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
936         [
937             case "${enableval}" in
938                 yes) lirc=yes ;;
939                 no) lirc=no ;;
940                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
941             esac
942         ],
943         [lirc=auto])
945 if test "x${lirc}" != xno ; then
946     ACX_LIRC
947     if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
948         AC_MSG_ERROR([*** LIRC support not found])
949     fi
950 else
951     HAVE_LIRC=0
954 AC_SUBST(LIRC_CFLAGS)
955 AC_SUBST(LIRC_LIBS)
956 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
958 #### HAL support (optional) ####
960 AC_ARG_ENABLE([hal],
961     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
962         [
963             case "${enableval}" in
964                 yes) hal=yes ;;
965                 no) hal=no ;;
966                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
967             esac
968         ],
969         [hal=auto])
970 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
971     PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
972         [
973             HAVE_HAL=1
974             AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
975         ],
976         [
977             HAVE_HAL=0
978             if test "x$hal" = xyes ; then
979                 AC_MSG_ERROR([*** HAL support not found])
980             fi
981         ])
982 else
983     HAVE_HAL=0
986 AC_SUBST(HAL_CFLAGS)
987 AC_SUBST(HAL_LIBS)
988 AC_SUBST(HAVE_HAL)
989 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
991 #### UDEV support (optional) ####
993 AC_ARG_ENABLE([udev],
994     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
995         [
996             case "${enableval}" in
997                 yes) udev=yes ;;
998                 no) udev=no ;;
999                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1000             esac
1001         ],
1002         [udev=auto])
1003 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1004     PKG_CHECK_MODULES(UDEV, [ libudev >= 137 ],
1005         [
1006             HAVE_UDEV=1
1007             AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1008         ],
1009         [
1010             HAVE_UDEV=0
1011             if test "x$udev" = xyes ; then
1012                 AC_MSG_ERROR([*** UDEV support not found])
1013             fi
1014         ])
1015 else
1016     HAVE_UDEV=0
1019 AC_SUBST(UDEV_CFLAGS)
1020 AC_SUBST(UDEV_LIBS)
1021 AC_SUBST(HAVE_UDEV)
1022 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1024 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1026 #### BlueZ support (optional) ####
1028 AC_ARG_ENABLE([bluez],
1029     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1030         [
1031             case "${enableval}" in
1032                 yes) bluez=yes ;;
1033                 no) bluez=no ;;
1034                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1035             esac
1036         ],
1037         [bluez=auto])
1038 if test "x${bluez}" != xno ; then
1039     PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1040         HAVE_BLUEZ=1,
1041         [
1042             HAVE_BLUEZ=0
1043             if test "x$bluez" = xyes ; then
1044                 AC_MSG_ERROR([*** BLUEZ support not found])
1045             fi
1046         ])
1047 else
1048     HAVE_BLUEZ=0
1051 AC_SUBST(BLUEZ_CFLAGS)
1052 AC_SUBST(BLUEZ_LIBS)
1053 AC_SUBST(HAVE_BLUEZ)
1054 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1056 #### D-Bus support (optional) ####
1058 AC_ARG_ENABLE([dbus],
1059     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1060         [
1061             case "${enableval}" in
1062                 yes) dbus=yes ;;
1063                 no) dbus=no ;;
1064                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1065             esac
1066         ],
1067         [dbus=auto])
1069 if test "x$HAVE_HAL" = x1 ; then
1070    dbus=yes
1073 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1075     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1076         [
1077             HAVE_DBUS=1
1078             saved_LIBS="$LIBS"
1079             LIBS="$LIBS $DBUS_LIBS"
1080             AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1081             LIBS="$saved_LIBS"
1082             AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1083         ],
1084         [
1085             HAVE_DBUS=0
1086             if test "x$dbus" = xyes ; then
1087                 AC_MSG_ERROR([*** D-Bus support not found])
1088             fi
1089         ])
1090 else
1091     HAVE_DBUS=0
1094 AC_SUBST(DBUS_CFLAGS)
1095 AC_SUBST(DBUS_LIBS)
1096 AC_SUBST(HAVE_DBUS)
1097 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1099 #### PolicyKit support (optional) ####
1101 AC_ARG_ENABLE([polkit],
1102     AS_HELP_STRING([--disable-polkit],[Disable optional PolicyKit support]),
1103         [
1104             case "${enableval}" in
1105                 yes) polkit=yes ;;
1106                 no) polkit=no ;;
1107                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-polkit) ;;
1108             esac
1109         ],
1110         [polkit=auto])
1112 if test "x${polkit}" != xno ; then
1114     PKG_CHECK_MODULES(POLKIT, [ polkit-dbus >= 0.7 ],
1115         [
1116             HAVE_POLKIT=1
1117             AC_DEFINE([HAVE_POLKIT], 1, [Have PolicyKit])
1118             policydir=`pkg-config polkit-dbus --variable prefix`/share/PolicyKit/policy/
1119             AC_SUBST(policydir)
1120         ],
1121         [
1122             HAVE_POLKIT=0
1123             if test "x$polkit" = xyes ; then
1124                 AC_MSG_ERROR([*** PolicyKit support not found])
1125             fi
1126         ])
1127 else
1128     HAVE_POLKIT=0
1131 AC_SUBST(POLKIT_CFLAGS)
1132 AC_SUBST(POLKIT_LIBS)
1133 AC_SUBST(HAVE_POLKIT)
1134 AM_CONDITIONAL([HAVE_POLKIT], [test "x$HAVE_POLKIT" = x1])
1137 ### IPv6 connection support (optional) ###
1139 AC_ARG_ENABLE([ipv6],
1140     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1141         [
1142             case "${enableval}" in
1143                 yes) ipv6=yes ;;
1144                 no) ipv6=no ;;
1145                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1146             esac
1147         ],
1148         [ipv6=auto])
1150 if test "x${ipv6}" != xno ; then
1151     AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1152     HAVE_IPV6=1
1153 else
1154     HAVE_IPV6=0
1157 #### OpenSSL support (optional) ####
1159 AC_ARG_ENABLE([openssl],
1160     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1161         [
1162             case "${enableval}" in
1163                 yes) openssl=yes ;;
1164                 no) openssl=no ;;
1165                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1166             esac
1167         ],
1168         [openssl=auto])
1170 if test "x${openssl}" != xno ; then
1172     PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1173         [
1174             HAVE_OPENSSL=1
1175             AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1176         ],
1177         [
1178             HAVE_OPENSSL=0
1179             if test "x$openssl" = xyes ; then
1180                 AC_MSG_ERROR([*** OpenSSL support not found])
1181             fi
1182         ])
1183 else
1184     HAVE_OPENSSL=0
1187 AC_SUBST(OPENSSL_CFLAGS)
1188 AC_SUBST(OPENSSL_LIBS)
1189 AC_SUBST(HAVE_OPENSSL)
1190 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1192 ### Build and Install man pages ###
1193 AC_ARG_ENABLE(manpages,
1194         AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1195 [case "${enableval}" in
1196   yes) manpages=yes ;;
1197   no)  manpages=no ;;
1198   *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1199 esac],[manpages=yes])
1201 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1203 #### PulseAudio system group & user  #####
1205 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1206 if test -z "$with_system_user" ; then
1207     PA_SYSTEM_USER=pulse
1208 else
1209     PA_SYSTEM_USER=$with_system_user
1211 AC_SUBST(PA_SYSTEM_USER)
1212 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1214 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1215 if test -z "$with_system_group" ; then
1216     PA_SYSTEM_GROUP=pulse
1217 else
1218     PA_SYSTEM_GROUP=$with_system_group
1220 AC_SUBST(PA_SYSTEM_GROUP)
1221 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1223 AC_ARG_WITH(realtime_group,AS_HELP_STRING([--with-realtime-group=<group>],[Group for users that are allowed to start the PulseAudio daemon with realtime scheduling (realtime)]))
1224 if test -z "$with_realtime_group" ; then
1225     PA_REALTIME_GROUP=pulse-rt
1226 else
1227     PA_REALTIME_GROUP=$with_realtime_group
1229 AC_SUBST(PA_REALTIME_GROUP)
1230 AC_DEFINE_UNQUOTED(PA_REALTIME_GROUP,"$PA_REALTIME_GROUP", [Realtime group])
1232 AC_ARG_WITH(access_group,AS_HELP_STRING([--with-access-group=<group>],[Group which is allowed access to a system-wide PulseAudio daemon (pulse-access)]))
1233 if test -z "$with_access_group" ; then
1234     PA_ACCESS_GROUP=pulse-access
1235 else
1236     PA_ACCESS_GROUP=$with_access_group
1238 AC_SUBST(PA_ACCESS_GROUP)
1239 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1241 AC_ARG_ENABLE(
1242         per_user_esound_socket,
1243         AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1244         [
1245             case "${enableval}" in
1246                 yes) per_user_esound_socket=1 ;;
1247                 no) per_user_esound_socket=0 ;;
1248                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1249             esac
1250         ],
1251         [per_user_esound_socket=1])
1253 if test "x$per_user_esound_socket" = "x1"; then
1254    AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1257 #### PulseAudio system runtime dir ####
1258 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1259 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1260 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1261 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1262 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1263 AC_SUBST(PA_SYSTEM_STATE_PATH)
1265 ###################################
1266 #            Output               #
1267 ###################################
1269 AC_ARG_ENABLE([legacy-runtime-dir],
1270         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1271 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1272         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1275 AC_ARG_ENABLE(
1276         [static-bins],
1277         AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1278         [STATIC_BINS=1], [STATIC_BINS=0])
1279 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1281 AC_ARG_WITH(
1282         [preopen-mods],
1283         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1284         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1285 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1286 if test "x$PREOPEN_MODS" != "xall" ; then
1287     tmpLIBS=""
1288     for mod in $PREOPEN_MODS; do
1289         tmpLIBS="$tmpLIBS module-$mod.la"
1290     done
1291     PREOPEN_MODS="$tmpLIBS"
1292     AC_SUBST(PREOPEN_MODS)
1295 AC_ARG_WITH(
1296         [module-dir],
1297         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/]),
1298         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules/"])
1300 AC_SUBST(modlibexecdir)
1302 AC_ARG_ENABLE(
1303         [force-preopen],
1304         AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1305         [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1306 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1308 AC_CONFIG_FILES([
1309 Makefile
1310 shave
1311 shave-libtool
1312 src/Makefile
1313 man/Makefile
1314 libpulse.pc
1315 libpulse-simple.pc
1316 libpulse-browse.pc
1317 libpulse-mainloop-glib.pc
1318 doxygen/Makefile
1319 doxygen/doxygen.conf
1320 src/pulse/version.h
1321 po/Makefile.in
1324 SHAVE_INIT
1325 AC_OUTPUT
1327 # ==========================================================================
1328 ENABLE_X11=no
1329 if test "x$HAVE_X11" = "x1" ; then
1330    ENABLE_X11=yes
1333 ENABLE_OSS=no
1334 if test "x$HAVE_OSS" = "x1" ; then
1335    ENABLE_OSS=yes
1338 ENABLE_ALSA=no
1339 if test "x$HAVE_ALSA" = "x1" ; then
1340    ENABLE_ALSA=yes
1343 ENABLE_SOLARIS=no
1344 if test "x$HAVE_SOLARIS" = "x1" ; then
1345    ENABLE_SOLARIS=yes
1348 ENABLE_GTK20=no
1349 if test "x$HAVE_GTK20" = "x1" ; then
1350    ENABLE_GTK20=yes
1353 ENABLE_GLIB20=no
1354 if test "x$HAVE_GLIB20" = "x1" ; then
1355    ENABLE_GLIB20=yes
1358 ENABLE_GCONF=no
1359 if test "x$HAVE_GCONF" = "x1" ; then
1360    ENABLE_GCONF=yes
1363 ENABLE_AVAHI=no
1364 if test "x$HAVE_AVAHI" = "x1" ; then
1365    ENABLE_AVAHI=yes
1368 ENABLE_JACK=no
1369 if test "x$HAVE_JACK" = "x1" ; then
1370    ENABLE_JACK=yes
1373 ENABLE_LIBASYNCNS=no
1374 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1375    ENABLE_LIBASYNCNS=yes
1378 ENABLE_LIRC=no
1379 if test "x$HAVE_LIRC" = "x1" ; then
1380    ENABLE_LIRC=yes
1383 ENABLE_HAL=no
1384 if test "x$HAVE_HAL" = "x1" ; then
1385    ENABLE_HAL=yes
1388 ENABLE_UDEV=no
1389 if test "x$HAVE_UDEV" = "x1" ; then
1390    ENABLE_UDEV=yes
1393 ENABLE_TCPWRAP=no
1394 if test "x${LIBWRAP_LIBS}" != x ; then
1395    ENABLE_TCPWRAP=yes
1398 ENABLE_LIBSAMPLERATE=no
1399 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1400    ENABLE_LIBSAMPLERATE=yes
1403 ENABLE_BLUEZ=no
1404 if test "x${HAVE_BLUEZ}" = "x1" ; then
1405    ENABLE_BLUEZ=yes
1408 ENABLE_POLKIT=no
1409 if test "x${HAVE_POLKIT}" = "x1" ; then
1410    ENABLE_POLKIT=yes
1413 ENABLE_OPENSSL=no
1414 if test "x${HAVE_OPENSSL}" = "x1" ; then
1415    ENABLE_OPENSSL=yes
1418 ENABLE_IPV6=no
1419 if test "x${HAVE_IPV6}" = "x1" ; then
1420    ENABLE_IPV6=yes
1423 ENABLE_PER_USER_ESOUND_SOCKET=no
1424 if test "x$per_user_esound_socket" = "x1" ; then
1425    ENABLE_PER_USER_ESOUND_SOCKET=yes
1428 echo "
1429  ---{ $PACKAGE_NAME $VERSION }---
1431     prefix:                        ${prefix}
1432     sysconfdir:                    ${sysconfdir}
1433     localstatedir:                 ${localstatedir}
1434     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1435     System State Path:             ${PA_SYSTEM_STATE_PATH}
1436     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1437     Compiler:                      ${CC}
1438     CFLAGS:                        ${CFLAGS}
1440     Have X11:                      ${ENABLE_X11}
1441     Enable OSS:                    ${ENABLE_OSS}
1442     Enable Alsa:                   ${ENABLE_ALSA}
1443     Enable Solaris:                ${ENABLE_SOLARIS}
1444     Enable GLib 2.0:               ${ENABLE_GLIB20}
1445     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1446     Enable GConf:                  ${ENABLE_GCONF}
1447     Enable Avahi:                  ${ENABLE_AVAHI}
1448     Enable Jack:                   ${ENABLE_JACK}
1449     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1450     Enable LIRC:                   ${ENABLE_LIRC}
1451     Enable HAL:                    ${ENABLE_HAL}
1452     Enable udev:                   ${ENABLE_UDEV}
1453     Enable BlueZ:                  ${ENABLE_BLUEZ}
1454     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1455     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1456     Enable PolicyKit:              ${ENABLE_POLKIT}
1457     Enable IPv6:                   ${ENABLE_IPV6}
1458     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1460     System User:                   ${PA_SYSTEM_USER}
1461     System Group:                  ${PA_SYSTEM_GROUP}
1462     Realtime Group:                ${PA_REALTIME_GROUP}
1463     Access Group:                  ${PA_ACCESS_GROUP}
1464     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1465     Force preopen:                 ${FORCE_PREOPEN}
1466     Preopened modules:             ${PREOPEN_MODS}