stream-restore: mark volume changes from instant apply as saved ones
[pulseaudio-mirror.git] / configure.ac
blob00121f822a0ba0e55e4c7eca78ee4820b960b1a8
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.11 -Wall -Wno-portability silent-rules tar-pax])
32 m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
33 m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
34 m4_define(pa_micro, `echo $VERSION | cut -d. -f3 | cut -d- -f1`)
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, 16)
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 AM_SILENT_RULES([yes])
81 #### Checks for programs. ####
83 # mkdir -p
85 AC_PROG_MKDIR_P
87 # CC
89 AC_PROG_CC
90 AC_PROG_CC_C99
91 AM_PROG_CC_C_O
92 AC_PROG_GCC_TRADITIONAL
93 AC_USE_SYSTEM_EXTENSIONS
95 # M4
97 AC_CHECK_PROGS([M4], gm4 m4, no)
98 if test "x$M4" = xno ; then
99    AC_MSG_ERROR([m4 missing])
102 dnl Compiler flags
103 CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option])
105 dnl Linker flags.
106 dnl Check whether the linker supports the -version-script option.
108 dnl This variable is used to make sure ${srcdir} is expanded and not
109 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
110 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
112 CC_CHECK_LDFLAGS([${tmp_ldflag}],
113     [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
114 AC_SUBST([VERSIONING_LDFLAGS])
116 dnl Check for the proper way to build libraries that have no undefined
117 dnl symbols; on some hosts this needs to be avoided but the macro
118 dnl takes care of it.
119 CC_NOUNDEFINED
121 dnl Check whether to build tests by default (as compile-test) or not
122 AC_ARG_ENABLE([default-build-tests],
123     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
125 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
127 # Native atomic operation support
128 AC_ARG_ENABLE([atomic-arm-linux-helpers],
129     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
130         [
131             case "${enableval}" in
132                 yes) atomic_arm_linux_helpers=yes ;;
133                 no) atomic_arm_linux_helpers=no ;;
134                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
135             esac
136         ],
137         [atomic_arm_linux_helpers=auto])
139 AC_ARG_ENABLE([atomic-arm-memory-barrier],
140     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
141         [
142             case "${enableval}" in
143                 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
144                 no) ;;
145                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
146             esac
147         ],)
149 AC_ARG_ENABLE([netbsd-atomic-ops],
150     AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
151         [
152             case "${enableval}" in
153                 yes) atomic_netbsd_helpers=yes ;;
154                 no) atomic_netbsd_helpers=no ;;
155                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
156             esac
157         ],
158         [atomic_netbsd_helpers=auto])
160 AC_MSG_CHECKING([target operating system])
161 case $host in
162         *-*-linux*)
163             AC_MSG_RESULT([linux])
164             pulse_target_os=linux
165         ;;
166         *-*-netbsd*)
167             AC_MSG_RESULT([netbsd])
168             pulse_target_os=netbsd
169         ;;
170         *)
171             AC_MSG_RESULT([unknown])
172             pulse_target_os=unknown
173         ;;
174 esac
176 # If everything else fails use libatomic_ops
177 need_libatomic_ops=yes
179 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
180   pulseaudio_cv_sync_bool_compare_and_swap,
181   [AC_LINK_IFELSE(
182      AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
183      [pulseaudio_cv_sync_bool_compare_and_swap=yes],
184      [pulseaudio_cv_sync_bool_compare_and_swap=no])
185   ])
187 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
188     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
189     need_libatomic_ops=no
190 else
191     # HW specific atomic ops stuff
192     AC_MSG_CHECKING([architecture for native atomic operations])
193     case $host_cpu in
194         arm*)
195             AC_MSG_RESULT([arm])
196             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
197             # The Linux kernel helper functions have been there since 2.6.16. However
198             # compile time checking for kernel version in cross compile environment
199             # (which is usually the case for arm cpu) is tricky (or impossible).
200             if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
201                 AC_MSG_RESULT([yes])
202                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
203                 need_libatomic_ops=no
204             else
205                AC_MSG_RESULT([no])
206                AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
207                  pulseaudio_cv_support_arm_atomic_ops,
208                  [AC_COMPILE_IFELSE(
209                     AC_LANG_PROGRAM([],
210                       [[volatile int a=0;
211                         int o=0, n=1, r;
212                         asm volatile ("ldrex    %0, [%1]\n"
213                                          "subs  %0, %0, %2\n"
214                                          "strexeq %0, %3, [%1]\n"
215                                          : "=&r" (r)
216                                          : "r" (&a), "Ir" (o), "r" (n)
217                                          : "cc");
218                         return (a==1 ? 0 : -1);
219                       ]]),
220                     [pulseaudio_cv_support_arm_atomic_ops=yes],
221                     [pulseaudio_cv_support_arm_atomic_ops=no])
222                  ])
223                AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
224                    AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
225                    need_libatomic_ops=no
226                  ])
227            fi
228         ;;
229         *)
230             if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
231                 AC_MSG_RESULT([yes])
232                 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
233                 need_libatomic_ops=no
234             else
235                 AC_MSG_RESULT([unknown])
236             fi
237         ;;
238     esac
241 CC_CHECK_TLS
243 AC_CACHE_CHECK([whether $CC knows _Bool],
244   pulseaudio_cv__Bool,
245   [AC_COMPILE_IFELSE(
246      AC_LANG_PROGRAM([], [[_Bool b;]]),
247      [pulseaudio_cv__Bool=yes],
248      [pulseaudio_cv__Bool=no])
249   ])
251 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
252     AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
253   ])
255 #### libtool stuff ####
256 LT_PREREQ(2.2)
257 LT_INIT([dlopen win32-dll disable-static])
259 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
260 dnl exactly which version of libltdl is present in the system, so we
261 dnl just assume that it's a working version as long as we have the
262 dnl library and the header files.
264 dnl As an extra safety device, check for lt_dladvise_init() which is
265 dnl only implemented in libtool 2.x, and refine as we go if we have
266 dnl refined requirements.
268 dnl Check the header files first since the system may have a
269 dnl libltdl.so for runtime, but no headers, and we want to bail out as
270 dnl soon as possible.
272 dnl We don't need any special variable for this though, since the user
273 dnl can give the proper place to find libltdl through the standard
274 dnl variables like LDFLAGS and CPPFLAGS.
276 AC_CHECK_HEADER([ltdl.h],
277     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
278     [LIBLTDL=])
280 AS_IF([test "x$LIBLTDL" = "x"],
281     [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
282 AC_SUBST([LIBLTDL])
284 #### Determine build environment ####
286 os_is_win32=0
288 case "$host_os" in
289         mingw*)
290         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
291         os_is_win32=1
292                 ;;
293         esac
295 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
297 ###################################
298 #   Basic environment checks      #
299 ###################################
301 #### Checks for header files. ####
303 # ISO
304 AC_HEADER_STDC
306 # POSIX
307 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
308     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
309     sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
310     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
311 AC_CHECK_HEADERS([netinet/ip.h], [], [],
312                  [#include <sys/types.h>
313                   #if HAVE_NETINET_IN_H
314                   # include <netinet/in.h>
315                   #endif
316                   #if HAVE_NETINET_IN_SYSTM_H
317                   # include <netinet/in_systm.h>
318                   #endif
319                  ])
320 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
321 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
323 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
324 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
326 # Linux
327 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
329 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
331 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
333 # Solaris
334 AC_CHECK_HEADERS_ONCE([sys/filio.h])
336 # Windows
337 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
339 # NetBSD
340 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
342 # Other
343 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
344 AC_CHECK_HEADERS_ONCE([byteswap.h])
345 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
346 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
347 AC_CHECK_HEADERS_ONCE([execinfo.h])
349 #### Typdefs, structures, etc. ####
351 AC_C_CONST
352 AC_C_BIGENDIAN
353 AC_TYPE_PID_T
354 AC_TYPE_SIZE_T
355 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
356     [Define ssize_t if it is not done by the standard libs.])])
357 AC_TYPE_OFF_T
359 AC_TYPE_UID_T
360 AC_CHECK_DECLS(environ)
362 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
363 HAVE_SIGXCPU=1
364 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
365 ], [HAVE_SIGXCPU=0])
366 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
368 # Solaris lacks this
369 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
370     [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
371         [AC_DEFINE([INADDR_NONE],  [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
373 #### POSIX threads ####
375 ACX_PTHREAD
377 #### Check for libs ####
379 # ISO
380 AC_SEARCH_LIBS([pow], [m])
382 # POSIX
383 AC_SEARCH_LIBS([sched_setscheduler], [rt])
384 AC_SEARCH_LIBS([dlopen], [dl])
385 AC_SEARCH_LIBS([shm_open], [rt])
386 AC_SEARCH_LIBS([inet_ntop], [nsl])
387 AC_SEARCH_LIBS([timer_create], [rt])
389 # BSD
390 AC_SEARCH_LIBS([connect], [socket])
392 # Non-standard
394 # This magic is needed so we do not needlessly add static libs to the win32
395 # build, disabling its ability to make dlls.
396 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
398 #### Check for functions ####
400 # ISO
401 AC_CHECK_FUNCS_ONCE([lrintf strtof])
403 # POSIX
404 AC_FUNC_FORK
405 AC_FUNC_GETGROUPS
406 AC_FUNC_SELECT_ARGTYPES
407 AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
408     getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
409     pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
410     sigaction sleep sysconf pthread_setaffinity_np])
411 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
413 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
415 # X/OPEN
416 AC_CHECK_FUNCS_ONCE([readlink])
418 # SUSv2
419 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
421 # SUSv3
422 AC_CHECK_FUNCS_ONCE([strerror_r])
424 # BSD
425 AC_CHECK_FUNCS_ONCE([lstat])
427 # Non-standard
429 AC_CHECK_FUNCS_ONCE([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_ONCE([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_ONCE([valgrind/memcheck.h])
543 #### Sound file ####
545 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
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 #### Database support ####
607 HAVE_TDB=0
608 HAVE_GDBM=0
610 AC_ARG_WITH(
611         [database],
612         AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
614 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
615     PKG_CHECK_MODULES(TDB, [ tdb ],
616         [
617             HAVE_TDB=1
618             with_database=tdb
619         ], [
620             if test "x${with_database}" = "xtdb" ; then
621                 AC_MSG_ERROR([*** tdb not found])
622             fi
623         ])
626 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
627    have_gdbm=yes
629    AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
630    AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
632    if test "x${have_gdbm}" = "xyes" ; then
633        HAVE_GDBM=1
634        GDBM_CFLAGS=
635        GDBM_LIBS=-lgdbm
636        with_database=gdbm
637    elif test "x${with_database}" = "xgdbm"; then
638        AC_MSG_ERROR([*** gdbm not found])
639    fi
642 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
643    AC_MSG_ERROR([*** missing database backend])
646 if test "x${HAVE_TDB}" = x1 ; then
647    AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
650 if test "x${HAVE_GDBM}" = x1 ; then
651    AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
654 AC_SUBST(TDB_CFLAGS)
655 AC_SUBST(TDB_LIBS)
656 AC_SUBST(HAVE_TDB)
657 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
659 AC_SUBST(GDBM_CFLAGS)
660 AC_SUBST(GDBM_LIBS)
661 AC_SUBST(HAVE_GDBM)
662 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
664 #### OSS support (optional) ####
666 AC_ARG_ENABLE([oss],
667     AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
668         [
669             case "${enableval}" in
670                 yes) oss=yes ;;
671                 no) oss=no ;;
672                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
673             esac
674         ],
675         [oss=auto])
677 if test "x${oss}" != xno ; then
678     AC_CHECK_HEADERS([sys/soundcard.h],
679         [
680             HAVE_OSS=1
681             AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
682         ],
683         [
684             HAVE_OSS=0
685             if test "x$oss" = xyes ; then
686                 AC_MSG_ERROR([*** OSS support not found])
687             fi
688         ])
689 else
690     HAVE_OSS=0
693 AC_SUBST(HAVE_OSS)
694 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
697 #### ALSA support (optional) ####
699 AC_ARG_ENABLE([alsa],
700     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
701         [
702             case "${enableval}" in
703                 yes) alsa=yes ;;
704                 no) alsa=no ;;
705                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
706             esac
707         ],
708         [alsa=auto])
710 if test "x${alsa}" != xno ; then
711     PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
712         [
713             HAVE_ALSA=1
714             AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
715         ],
716         [
717             HAVE_ALSA=0
718             if test "x$alsa" = xyes ; then
719                 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
720             fi
721         ])
722 else
723     HAVE_ALSA=0
726 AC_SUBST(ASOUNDLIB_CFLAGS)
727 AC_SUBST(ASOUNDLIB_LIBS)
728 AC_SUBST(HAVE_ALSA)
729 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
731 #### Solaris audio support (optional) ####
733 AC_ARG_ENABLE([solaris],
734     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
735         [
736             case "${enableval}" in
737                 yes) solaris=yes ;;
738                 no) solaris=no ;;
739                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
740             esac
741         ],
742         [solaris=auto])
744 if test "x${solaris}" != xno ; then
745     AC_CHECK_HEADERS([sys/audio.h],
746         [
747             HAVE_SOLARIS=1
748             AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
749         ],
750         [
751             HAVE_SOLARIS=0
752             if test "x$solaris" = xyes ; then
753                 AC_MSG_ERROR([*** Solaris audio support not found])
754             fi
755         ])
756 else
757     HAVE_SOLARIS=0
760 AC_SUBST(HAVE_SOLARIS)
761 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
763 #### GLib 2 support (optional) ####
765 AC_ARG_ENABLE([glib2],
766     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
767         [
768             case "${enableval}" in
769                 yes) glib2=yes ;;
770                 no) glib2=no ;;
771                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
772             esac
773         ],
774         [glib2=auto])
776 if test "x${glib2}" != xno ; then
777     PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
778         HAVE_GLIB20=1,
779         [
780             HAVE_GLIB20=0
781             if test "x$glib2" = xyes ; then
782                 AC_MSG_ERROR([*** GLib 2 support not found])
783             fi
784         ])
785 else
786     HAVE_GLIB20=0
789 AC_SUBST(GLIB20_CFLAGS)
790 AC_SUBST(GLIB20_LIBS)
791 AC_SUBST(HAVE_GLIB20)
792 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
794 if test "x$HAVE_GLIB20" = x1 ; then
795    AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
798 #### GTK2 support (optional) ####
800 AC_ARG_ENABLE([gtk2],
801     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
802         [
803             case "${enableval}" in
804                 yes) gtk2=yes ;;
805                 no) gtk2=no ;;
806                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
807             esac
808         ],
809         [gtk2=auto])
811 if test "x${gtk2}" != xno ; then
812     PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
813         HAVE_GTK20=1,
814         [
815             HAVE_GTK20=0
816             if test "x$gtk2" = xyes ; then
817                 AC_MSG_ERROR([*** Gtk+ 2 support not found])
818             fi
819         ])
820 else
821     HAVE_GTK20=0
824 AC_SUBST(GTK20_CFLAGS)
825 AC_SUBST(GTK20_LIBS)
826 AC_SUBST(HAVE_GTK20)
827 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
829 if test "x$HAVE_GTK20" = x1 ; then
830    AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
833 #### GConf support (optional) ####
835 AC_ARG_ENABLE([gconf],
836     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
837         [
838             case "${enableval}" in
839                 yes) gconf=yes ;;
840                 no) gconf=no ;;
841                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
842             esac
843         ],
844         [gconf=auto])
846 if test "x${gconf}" != xno ; then
847     PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
848         HAVE_GCONF=1,
849         [
850             HAVE_GCONF=0
851             if test "x$gconf" = xyes ; then
852                 AC_MSG_ERROR([*** GConf support not found])
853             fi
854         ])
855 else
856     HAVE_GCONF=0
859 AC_SUBST(GCONF_CFLAGS)
860 AC_SUBST(GCONF_LIBS)
861 AC_SUBST(HAVE_GCONF)
862 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
864 #### Avahi support (optional) ####
866 AC_ARG_ENABLE([avahi],
867     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
868         [
869             case "${enableval}" in
870                 yes) avahi=yes ;;
871                 no) avahi=no ;;
872                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
873             esac
874         ],
875         [avahi=auto])
877 if test "x${avahi}" != xno ; then
878     PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
879         HAVE_AVAHI=1,
880         [
881                 HAVE_AVAHI=0
882                 if test "x$avahi" = xyes ; then
883                         AC_MSG_ERROR([*** Avahi support not found])
884                 fi
885         ])
886 else
887     HAVE_AVAHI=0
890 AC_SUBST(AVAHI_CFLAGS)
891 AC_SUBST(AVAHI_LIBS)
892 AC_SUBST(HAVE_AVAHI)
893 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
895 ### LIBOIL ####
897 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
898 AC_SUBST(LIBOIL_CFLAGS)
899 AC_SUBST(LIBOIL_LIBS)
901 ### JACK (optional) ####
903 AC_ARG_ENABLE([jack],
904     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
905         [
906             case "${enableval}" in
907                 yes) jack=yes ;;
908                 no) jack=no ;;
909                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
910             esac
911         ],
912         [jack=auto])
914 if test "x${jack}" != xno ; then
915     PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
916         HAVE_JACK=1,
917         [
918             HAVE_JACK=0
919             if test "x$jack" = xyes ; then
920                 AC_MSG_ERROR([*** JACK support not found])
921             fi
922         ])
923 else
924     HAVE_JACK=0
927 AC_SUBST(JACK_CFLAGS)
928 AC_SUBST(JACK_LIBS)
929 AC_SUBST(HAVE_JACK)
930 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
932 #### Async DNS support (optional) ####
934 AC_ARG_ENABLE([asyncns],
935     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
936         [
937             case "${enableval}" in
938                 yes) asyncns=yes ;;
939                 no) asyncns=no ;;
940                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
941             esac
942         ],
943         [asyncns=auto])
945 if test "x${asyncns}" != xno ; then
946     PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
947         HAVE_LIBASYNCNS=1,
948         [
949             HAVE_LIBASYNCNS=0
950             if test "x$asyncns" = xyes ; then
951                 AC_MSG_ERROR([*** Async DNS support not found])
952             fi
953         ])
954 else
955     HAVE_LIBASYNCNS=0
958 AC_SUBST(LIBASYNCNS_CFLAGS)
959 AC_SUBST(LIBASYNCNS_LIBS)
960 AC_SUBST(HAVE_LIBASYNCNS)
961 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
963 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
964    AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
967 #### TCP wrappers (optional) ####
969 AC_ARG_ENABLE([tcpwrap],
970     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
971         [
972             case "${enableval}" in
973                 yes) tcpwrap=yes ;;
974                 no) tcpwrap=no ;;
975                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
976             esac
977         ],
978         [tcpwrap=auto])
980 if test "x${tcpwrap}" != xno ; then
981     ACX_LIBWRAP
982     if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
983         AC_MSG_ERROR([*** TCP wrappers support not found])
984     fi
985 else
986     LIBWRAP_LIBS=
989 AC_SUBST(LIBWRAP_LIBS)
991 #### LIRC support (optional) ####
993 AC_ARG_ENABLE([lirc],
994     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
995         [
996             case "${enableval}" in
997                 yes) lirc=yes ;;
998                 no) lirc=no ;;
999                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1000             esac
1001         ],
1002         [lirc=auto])
1004 if test "x${lirc}" != xno ; then
1005     ACX_LIRC
1006     if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1007         AC_MSG_ERROR([*** LIRC support not found])
1008     fi
1009 else
1010     HAVE_LIRC=0
1013 AC_SUBST(LIRC_CFLAGS)
1014 AC_SUBST(LIRC_LIBS)
1015 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1017 #### HAL support (optional) ####
1019 AC_ARG_ENABLE([hal],
1020     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1021         [
1022             case "${enableval}" in
1023                 yes) hal=yes ;;
1024                 no) hal=no ;;
1025                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1026             esac
1027         ],
1028         [hal=auto])
1029 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1030     PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1031         [
1032             HAVE_HAL=1
1033             AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1034         ],
1035         [
1036             HAVE_HAL=0
1037             if test "x$hal" = xyes ; then
1038                 AC_MSG_ERROR([*** HAL support not found])
1039             fi
1040         ])
1041 else
1042     HAVE_HAL=0
1045 AC_SUBST(HAL_CFLAGS)
1046 AC_SUBST(HAL_LIBS)
1047 AC_SUBST(HAVE_HAL)
1048 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1050 #### UDEV support (optional) ####
1052 AC_ARG_ENABLE([udev],
1053     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1054         [
1055             case "${enableval}" in
1056                 yes) udev=yes ;;
1057                 no) udev=no ;;
1058                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1059             esac
1060         ],
1061         [udev=auto])
1062 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1063     PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1064         [
1065             HAVE_UDEV=1
1066             AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1067         ],
1068         [
1069             HAVE_UDEV=0
1070             if test "x$udev" = xyes ; then
1071                 AC_MSG_ERROR([*** UDEV support not found])
1072             fi
1073         ])
1074 else
1075     HAVE_UDEV=0
1078 AC_SUBST(UDEV_CFLAGS)
1079 AC_SUBST(UDEV_LIBS)
1080 AC_SUBST(HAVE_UDEV)
1081 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1083 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1085 #### BlueZ support (optional) ####
1087 AC_ARG_ENABLE([bluez],
1088     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1089         [
1090             case "${enableval}" in
1091                 yes) bluez=yes ;;
1092                 no) bluez=no ;;
1093                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1094             esac
1095         ],
1096         [bluez=auto])
1097 if test "x${bluez}" != xno ; then
1098     PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1099         HAVE_BLUEZ=1,
1100         [
1101             HAVE_BLUEZ=0
1102             if test "x$bluez" = xyes ; then
1103                 AC_MSG_ERROR([*** BLUEZ support not found])
1104             fi
1105         ])
1106 else
1107     HAVE_BLUEZ=0
1110 AC_SUBST(BLUEZ_CFLAGS)
1111 AC_SUBST(BLUEZ_LIBS)
1112 AC_SUBST(HAVE_BLUEZ)
1113 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1115 #### D-Bus support (optional) ####
1117 AC_ARG_ENABLE([dbus],
1118     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1119         [
1120             case "${enableval}" in
1121                 yes) dbus=yes ;;
1122                 no) dbus=no ;;
1123                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1124             esac
1125         ],
1126         [dbus=auto])
1128 if test "x$HAVE_HAL" = x1 ; then
1129    dbus=yes
1132 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1134     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1135         [
1136             HAVE_DBUS=1
1137             saved_LIBS="$LIBS"
1138             LIBS="$LIBS $DBUS_LIBS"
1139             AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1140             LIBS="$saved_LIBS"
1141             AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1142         ],
1143         [
1144             HAVE_DBUS=0
1145             if test "x$dbus" = xyes ; then
1146                 AC_MSG_ERROR([*** D-Bus support not found])
1147             fi
1148         ])
1149 else
1150     HAVE_DBUS=0
1153 AC_SUBST(DBUS_CFLAGS)
1154 AC_SUBST(DBUS_LIBS)
1155 AC_SUBST(HAVE_DBUS)
1156 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1158 ### IPv6 connection support (optional) ###
1160 AC_ARG_ENABLE([ipv6],
1161     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1162         [
1163             case "${enableval}" in
1164                 yes) ipv6=yes ;;
1165                 no) ipv6=no ;;
1166                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1167             esac
1168         ],
1169         [ipv6=auto])
1171 if test "x${ipv6}" != xno ; then
1172     AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1173     HAVE_IPV6=1
1174 else
1175     HAVE_IPV6=0
1178 #### OpenSSL support (optional) ####
1180 AC_ARG_ENABLE([openssl],
1181     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1182         [
1183             case "${enableval}" in
1184                 yes) openssl=yes ;;
1185                 no) openssl=no ;;
1186                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1187             esac
1188         ],
1189         [openssl=auto])
1191 if test "x${openssl}" != xno ; then
1193     PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1194         [
1195             HAVE_OPENSSL=1
1196             AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1197         ],
1198         [
1199             HAVE_OPENSSL=0
1200             if test "x$openssl" = xyes ; then
1201                 AC_MSG_ERROR([*** OpenSSL support not found])
1202             fi
1203         ])
1204 else
1205     HAVE_OPENSSL=0
1208 AC_SUBST(OPENSSL_CFLAGS)
1209 AC_SUBST(OPENSSL_LIBS)
1210 AC_SUBST(HAVE_OPENSSL)
1211 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1213 ### Build and Install man pages ###
1214 AC_ARG_ENABLE(manpages,
1215         AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1216 [case "${enableval}" in
1217   yes) manpages=yes ;;
1218   no)  manpages=no ;;
1219   *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1220 esac],[manpages=yes])
1222 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1224 #### PulseAudio system group & user  #####
1226 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1227 if test -z "$with_system_user" ; then
1228     PA_SYSTEM_USER=pulse
1229 else
1230     PA_SYSTEM_USER=$with_system_user
1232 AC_SUBST(PA_SYSTEM_USER)
1233 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1235 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1236 if test -z "$with_system_group" ; then
1237     PA_SYSTEM_GROUP=pulse
1238 else
1239     PA_SYSTEM_GROUP=$with_system_group
1241 AC_SUBST(PA_SYSTEM_GROUP)
1242 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1244 AC_ARG_WITH(access_group,AS_HELP_STRING([--with-access-group=<group>],[Group which is allowed access to a system-wide PulseAudio daemon (pulse-access)]))
1245 if test -z "$with_access_group" ; then
1246     PA_ACCESS_GROUP=pulse-access
1247 else
1248     PA_ACCESS_GROUP=$with_access_group
1250 AC_SUBST(PA_ACCESS_GROUP)
1251 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1253 AC_ARG_ENABLE(
1254         per_user_esound_socket,
1255         AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1256         [
1257             case "${enableval}" in
1258                 yes) per_user_esound_socket=1 ;;
1259                 no) per_user_esound_socket=0 ;;
1260                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1261             esac
1262         ],
1263         [per_user_esound_socket=1])
1265 if test "x$per_user_esound_socket" = "x1"; then
1266    AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1269 #### PulseAudio system runtime dir ####
1270 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1271 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1272 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1273 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1274 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1275 AC_SUBST(PA_SYSTEM_STATE_PATH)
1277 ###################################
1278 #            Output               #
1279 ###################################
1281 AC_ARG_ENABLE([legacy-runtime-dir],
1282         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1283 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1284         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1287 AC_ARG_ENABLE(
1288         [static-bins],
1289         AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1290         [STATIC_BINS=1], [STATIC_BINS=0])
1291 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1293 AC_ARG_WITH(
1294         [preopen-mods],
1295         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1296         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1297 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1298 if test "x$PREOPEN_MODS" != "xall" ; then
1299     tmpLIBS=""
1300     for mod in $PREOPEN_MODS; do
1301         tmpLIBS="$tmpLIBS module-$mod.la"
1302     done
1303     PREOPEN_MODS="$tmpLIBS"
1304     AC_SUBST(PREOPEN_MODS)
1307 AC_ARG_WITH(
1308         [module-dir],
1309         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules]),
1310         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules"])
1312 AC_SUBST(modlibexecdir)
1314 AC_ARG_ENABLE(
1315         [force-preopen],
1316         AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1317         [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1318 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1320 AC_CONFIG_FILES([
1321 Makefile
1322 src/Makefile
1323 man/Makefile
1324 libpulse.pc
1325 libpulse-simple.pc
1326 libpulse-browse.pc
1327 libpulse-mainloop-glib.pc
1328 doxygen/Makefile
1329 doxygen/doxygen.conf
1330 src/pulse/version.h
1331 po/Makefile.in
1334 AC_OUTPUT
1336 # ==========================================================================
1337 ENABLE_X11=no
1338 if test "x$HAVE_X11" = "x1" ; then
1339    ENABLE_X11=yes
1342 ENABLE_OSS=no
1343 if test "x$HAVE_OSS" = "x1" ; then
1344    ENABLE_OSS=yes
1347 ENABLE_ALSA=no
1348 if test "x$HAVE_ALSA" = "x1" ; then
1349    ENABLE_ALSA=yes
1352 ENABLE_SOLARIS=no
1353 if test "x$HAVE_SOLARIS" = "x1" ; then
1354    ENABLE_SOLARIS=yes
1357 ENABLE_GTK20=no
1358 if test "x$HAVE_GTK20" = "x1" ; then
1359    ENABLE_GTK20=yes
1362 ENABLE_GLIB20=no
1363 if test "x$HAVE_GLIB20" = "x1" ; then
1364    ENABLE_GLIB20=yes
1367 ENABLE_GCONF=no
1368 if test "x$HAVE_GCONF" = "x1" ; then
1369    ENABLE_GCONF=yes
1372 ENABLE_AVAHI=no
1373 if test "x$HAVE_AVAHI" = "x1" ; then
1374    ENABLE_AVAHI=yes
1377 ENABLE_JACK=no
1378 if test "x$HAVE_JACK" = "x1" ; then
1379    ENABLE_JACK=yes
1382 ENABLE_LIBASYNCNS=no
1383 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1384    ENABLE_LIBASYNCNS=yes
1387 ENABLE_LIRC=no
1388 if test "x$HAVE_LIRC" = "x1" ; then
1389    ENABLE_LIRC=yes
1392 ENABLE_HAL=no
1393 if test "x$HAVE_HAL" = "x1" ; then
1394    ENABLE_HAL=yes
1397 ENABLE_UDEV=no
1398 if test "x$HAVE_UDEV" = "x1" ; then
1399    ENABLE_UDEV=yes
1402 ENABLE_TCPWRAP=no
1403 if test "x${LIBWRAP_LIBS}" != x ; then
1404    ENABLE_TCPWRAP=yes
1407 ENABLE_LIBSAMPLERATE=no
1408 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1409    ENABLE_LIBSAMPLERATE=yes
1412 ENABLE_BLUEZ=no
1413 if test "x${HAVE_BLUEZ}" = "x1" ; then
1414    ENABLE_BLUEZ=yes
1417 ENABLE_GDBM=no
1418 if test "x${HAVE_GDBM}" = "x1" ; then
1419    ENABLE_GDBM=yes
1422 ENABLE_TDB=no
1423 if test "x${HAVE_TDB}" = "x1" ; then
1424    ENABLE_TDB=yes
1427 ENABLE_OPENSSL=no
1428 if test "x${HAVE_OPENSSL}" = "x1" ; then
1429    ENABLE_OPENSSL=yes
1432 ENABLE_IPV6=no
1433 if test "x${HAVE_IPV6}" = "x1" ; then
1434    ENABLE_IPV6=yes
1437 ENABLE_PER_USER_ESOUND_SOCKET=no
1438 if test "x$per_user_esound_socket" = "x1" ; then
1439    ENABLE_PER_USER_ESOUND_SOCKET=yes
1442 echo "
1443  ---{ $PACKAGE_NAME $VERSION }---
1445     prefix:                        ${prefix}
1446     sysconfdir:                    ${sysconfdir}
1447     localstatedir:                 ${localstatedir}
1448     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1449     System State Path:             ${PA_SYSTEM_STATE_PATH}
1450     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1451     Compiler:                      ${CC}
1452     CFLAGS:                        ${CFLAGS}
1454     Have X11:                      ${ENABLE_X11}
1455     Enable OSS:                    ${ENABLE_OSS}
1456     Enable Alsa:                   ${ENABLE_ALSA}
1457     Enable Solaris:                ${ENABLE_SOLARIS}
1458     Enable GLib 2.0:               ${ENABLE_GLIB20}
1459     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1460     Enable GConf:                  ${ENABLE_GCONF}
1461     Enable Avahi:                  ${ENABLE_AVAHI}
1462     Enable Jack:                   ${ENABLE_JACK}
1463     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1464     Enable LIRC:                   ${ENABLE_LIRC}
1465     Enable HAL:                    ${ENABLE_HAL}
1466     Enable udev:                   ${ENABLE_UDEV}
1467     Enable BlueZ:                  ${ENABLE_BLUEZ}
1468     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1469     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1470     Enable IPv6:                   ${ENABLE_IPV6}
1471     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1472     Enable tdb:                    ${ENABLE_TDB}
1473     Enable gdbm:                   ${ENABLE_GDBM}
1475     System User:                   ${PA_SYSTEM_USER}
1476     System Group:                  ${PA_SYSTEM_GROUP}
1477     Access Group:                  ${PA_ACCESS_GROUP}
1478     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1479     Force preopen:                 ${FORCE_PREOPEN}
1480     Preopened modules:             ${PREOPEN_MODS}