sndfile: fix build on BE archs
[pulseaudio-mirror.git] / configure.ac
blobd2d80157b2221a394ecbf32175ad074bfdf21b80
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 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"
105 for flag in $DESIRED_FLAGS ; do
106   CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
107 done
109 dnl Linker flags.
110 dnl Check whether the linker supports the -version-script option.
112 dnl This variable is used to make sure ${srcdir} is expanded and not
113 dnl passed to the CC_CHECK_LDFLAGS macro as a name.
114 tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
116 CC_CHECK_LDFLAGS([${tmp_ldflag}],
117     [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
118 AC_SUBST([VERSIONING_LDFLAGS])
120 dnl Check whether to build tests by default (as compile-test) or not
121 AC_ARG_ENABLE([default-build-tests],
122     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
124 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
126 # Native atomic operation support
127 AC_ARG_ENABLE([atomic-arm-linux-helpers],
128     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
129         [
130             case "${enableval}" in
131                 yes) atomic_arm_linux_helpers=yes ;;
132                 no) atomic_arm_linux_helpers=no ;;
133                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
134             esac
135         ],
136         [atomic_arm_linux_helpers=auto])
138 AC_ARG_ENABLE([atomic-arm-memory-barrier],
139     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
140         [
141             case "${enableval}" in
142                 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
143                 no) ;;
144                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
145             esac
146         ],)
148 AC_ARG_ENABLE([netbsd-atomic-ops],
149     AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
150         [
151             case "${enableval}" in
152                 yes) atomic_netbsd_helpers=yes ;;
153                 no) atomic_netbsd_helpers=no ;;
154                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
155             esac
156         ],
157         [atomic_netbsd_helpers=auto])
159 AC_MSG_CHECKING([target operating system])
160 case $host in
161         *-*-linux*)
162             AC_MSG_RESULT([linux])
163             pulse_target_os=linux
164         ;;
165         *-*-netbsd*)
166             AC_MSG_RESULT([netbsd])
167             pulse_target_os=netbsd
168         ;;
169         *)
170             AC_MSG_RESULT([unknown])
171             pulse_target_os=unknown
172         ;;
173 esac
175 # If everything else fails use libatomic_ops
176 need_libatomic_ops=yes
178 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
179   pulseaudio_cv_sync_bool_compare_and_swap,
180   [AC_LINK_IFELSE(
181      AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
182      [pulseaudio_cv_sync_bool_compare_and_swap=yes],
183      [pulseaudio_cv_sync_bool_compare_and_swap=no])
184   ])
186 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
187     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
188     need_libatomic_ops=no
189 else
190     # HW specific atomic ops stuff
191     AC_MSG_CHECKING([architecture for native atomic operations])
192     case $host_cpu in
193         arm*)
194             AC_MSG_RESULT([arm])
195             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
196             # The Linux kernel helper functions have been there since 2.6.16. However
197             # compile time checking for kernel version in cross compile environment
198             # (which is usually the case for arm cpu) is tricky (or impossible).
199             if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
200                 AC_MSG_RESULT([yes])
201                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
202                 need_libatomic_ops=no
203             else
204                AC_MSG_RESULT([no])
205                AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
206                  pulseaudio_cv_support_arm_atomic_ops,
207                  [AC_COMPILE_IFELSE(
208                     AC_LANG_PROGRAM([],
209                       [[volatile int a=0;
210                         int o=0, n=1, r;
211                         asm volatile ("ldrex    %0, [%1]\n"
212                                          "subs  %0, %0, %2\n"
213                                          "strexeq %0, %3, [%1]\n"
214                                          : "=&r" (r)
215                                          : "r" (&a), "Ir" (o), "r" (n)
216                                          : "cc");
217                         return (a==1 ? 0 : -1);
218                       ]]),
219                     [pulseaudio_cv_support_arm_atomic_ops=yes],
220                     [pulseaudio_cv_support_arm_atomic_ops=no])
221                  ])
222                AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
223                    AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
224                    need_libatomic_ops=no
225                  ])
226            fi
227         ;;
228         *)
229             if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
230                 AC_MSG_RESULT([yes])
231                 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
232                 need_libatomic_ops=no
233             else
234                 AC_MSG_RESULT([unknown])
235             fi
236         ;;
237     esac
240 CC_CHECK_TLS
242 AC_CACHE_CHECK([whether $CC knows _Bool],
243   pulseaudio_cv__Bool,
244   [AC_COMPILE_IFELSE(
245      AC_LANG_PROGRAM([], [[_Bool b;]]),
246      [pulseaudio_cv__Bool=yes],
247      [pulseaudio_cv__Bool=no])
248   ])
250 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
251     AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
252   ])
254 #### libtool stuff ####
255 LT_PREREQ(2.2)
256 LT_INIT([dlopen win32-dll disable-static])
258 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
259 dnl exactly which version of libltdl is present in the system, so we
260 dnl just assume that it's a working version as long as we have the
261 dnl library and the header files.
263 dnl As an extra safety device, check for lt_dladvise_init() which is
264 dnl only implemented in libtool 2.x, and refine as we go if we have
265 dnl refined requirements.
267 dnl Check the header files first since the system may have a
268 dnl libltdl.so for runtime, but no headers, and we want to bail out as
269 dnl soon as possible.
271 dnl We don't need any special variable for this though, since the user
272 dnl can give the proper place to find libltdl through the standard
273 dnl variables like LDFLAGS and CPPFLAGS.
275 AC_CHECK_HEADER([ltdl.h],
276     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
277     [LIBLTDL=])
279 AS_IF([test "x$LIBLTDL" = "x"],
280     [AC_MSG_ERROR([Unable to find libltdl.])])
281 AC_SUBST([LIBLTDL])
283 #### Determine build environment ####
285 os_is_win32=0
287 case "$host_os" in
288         mingw*)
289         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
290         os_is_win32=1
291                 ;;
292         esac
294 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
296 ###################################
297 #   Basic environment checks      #
298 ###################################
300 #### Checks for header files. ####
302 # ISO
303 AC_HEADER_STDC
305 # POSIX
306 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
307     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
308     sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
309     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
310 AC_CHECK_HEADERS([netinet/ip.h], [], [],
311                  [#include <sys/types.h>
312                   #if HAVE_NETINET_IN_H
313                   # include <netinet/in.h>
314                   #endif
315                   #if HAVE_NETINET_IN_SYSTM_H
316                   # include <netinet/in_systm.h>
317                   #endif
318                  ])
319 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
320 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
322 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
323 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
325 # Linux
326 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
328 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
330 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
332 # Solaris
333 AC_CHECK_HEADERS_ONCE([sys/filio.h])
335 # Windows
336 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
338 # NetBSD
339 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
341 # Other
342 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
343 AC_CHECK_HEADERS_ONCE([byteswap.h])
344 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
345 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
346 AC_CHECK_HEADERS_ONCE([execinfo.h])
348 #### Typdefs, structures, etc. ####
350 AC_C_CONST
351 AC_C_BIGENDIAN
352 AC_TYPE_PID_T
353 AC_TYPE_SIZE_T
354 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
355     [Define ssize_t if it is not done by the standard libs.])])
356 AC_TYPE_OFF_T
358 AC_TYPE_UID_T
359 AC_CHECK_DECLS(environ)
361 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
362 HAVE_SIGXCPU=1
363 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
364 ], [HAVE_SIGXCPU=0])
365 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
367 # Solaris lacks this
368 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
369     [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
370         [AC_DEFINE([INADDR_NONE],  [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
372 #### POSIX threads ####
374 ACX_PTHREAD
376 #### Check for libs ####
378 # ISO
379 AC_SEARCH_LIBS([pow], [m])
381 # POSIX
382 AC_SEARCH_LIBS([sched_setscheduler], [rt])
383 AC_SEARCH_LIBS([dlopen], [dl])
384 AC_SEARCH_LIBS([shm_open], [rt])
385 AC_SEARCH_LIBS([inet_ntop], [nsl])
386 AC_SEARCH_LIBS([timer_create], [rt])
388 # BSD
389 AC_SEARCH_LIBS([connect], [socket])
391 # Non-standard
393 # This magic is needed so we do not needlessly add static libs to the win32
394 # build, disabling its ability to make dlls.
395 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
397 #### Check for functions ####
399 # ISO
400 AC_CHECK_FUNCS_ONCE([lrintf strtof])
402 # POSIX
403 AC_FUNC_FORK
404 AC_FUNC_GETGROUPS
405 AC_FUNC_SELECT_ARGTYPES
406 AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
407     getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
408     pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
409     sigaction sleep sysconf pthread_setaffinity_np])
410 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
412 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
414 # X/OPEN
415 AC_CHECK_FUNCS_ONCE([readlink])
417 # SUSv2
418 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
420 # SUSv3
421 AC_CHECK_FUNCS_ONCE([strerror_r])
423 # BSD
424 AC_CHECK_FUNCS_ONCE([lstat])
426 # Non-standard
428 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
430 AC_FUNC_ALLOCA
432 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
433   pulseaudio_cv_PTHREAD_PRIO_INHERIT,
434   [save_CC=$CC; CC=$PTHREAD_CC
435    save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
436    save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
437    AC_LINK_IFELSE(
438      AC_LANG_PROGRAM(
439        [[
440          #include <pthread.h>
441        ]],
442        [[int i = PTHREAD_PRIO_INHERIT;]]),
443      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
444      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
445    CC=$save_CC
446    CFLAGS=$save_CFLAGS
447    LIBS=$save_LIBS
448   ])
450 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
451     AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
452   ])
454 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
456 #### Large File-Support (LFS) ####
458 AC_SYS_LARGEFILE
460 # Check for open64 to know if the current system does have open64() and similar functions
461 AC_CHECK_FUNCS_ONCE([open64])
463 #### [lib]iconv ####
465 AM_ICONV
467 IT_PROG_INTLTOOL([0.35.0])
468 GETTEXT_PACKAGE=pulseaudio
469 AC_SUBST([GETTEXT_PACKAGE])
470 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
471 AM_GLIB_GNU_GETTEXT
473 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
474 AC_SUBST(pulselocaledir)
476 ###################################
477 #      External libraries         #
478 ###################################
480 #### pkg-config ####
482 PKG_PROG_PKG_CONFIG
484 #### X11 (optional) ####
486 AC_ARG_ENABLE([x11],
487     AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
488         [
489             case "${enableval}" in
490                 yes) x11=yes ;;
491                 no) x11=no ;;
492                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
493             esac
494         ],
495         [x11=auto])
497 if test "x${x11}" != xno ; then
498     PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
499         HAVE_X11=1,
500         [
501             HAVE_X11=0
502             if test "x$x11" = xyes ; then
503                 AC_MSG_ERROR([*** X11 not found])
504             fi
505         ])
506 else
507     HAVE_X11=0
510 if test "x${HAVE_X11}" = x1 ; then
511    AC_DEFINE([HAVE_X11], 1, [Have X11?])
514 AC_SUBST(X11_CFLAGS)
515 AC_SUBST(X11_LIBS)
516 AC_SUBST(HAVE_X11)
517 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
519 #### Capabilities (optional) ####
521 CAP_LIBS=''
523 AC_ARG_WITH(
524         [caps],
525         AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
527 if test "x${with_caps}" != "xno"; then
528     AC_SEARCH_LIBS([cap_init], [cap], [], [
529                     if test "x${with_caps}" = "xyes" ; then
530                         AC_MSG_ERROR([*** POSIX caps libraries not found])
531                     fi])
532     AC_CHECK_HEADERS([sys/capability.h], [], [
533                     if test "x${with_caps}" = "xyes" ; then
534                         AC_MSG_ERROR([*** POSIX caps headers not found])
535                     fi])
538 #### Valgrind (optional) ####
540 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
542 #### Sound file ####
544 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
545 AC_SUBST(LIBSNDFILE_CFLAGS)
546 AC_SUBST(LIBSNDFILE_LIBS)
548 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
549 AC_SUBST(LIBSPEEX_CFLAGS)
550 AC_SUBST(LIBSPEEX_LIBS)
552 #### atomic-ops ###
554 AC_MSG_CHECKING([whether we need libatomic_ops])
555 if test "x$need_libatomic_ops" = "xyes"; then
556    AC_MSG_RESULT([yes])
557    AC_CHECK_HEADERS([atomic_ops.h], [], [
558    AC_MSG_ERROR([*** libatomic-ops headers not found])
559    ])
561    # Win32 does not need the lib and breaks horribly if we try to include it
562    if test "x$os_is_win32" != "x1" ; then
563        LIBS="$LIBS -latomic_ops"
564    fi
565 else
566    AC_MSG_RESULT([no])
569 #### Libsamplerate support (optional) ####
571 AC_ARG_ENABLE([samplerate],
572     AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
573         [
574             case "${enableval}" in
575                 yes) samplerate=yes ;;
576                 no) samplerate=no ;;
577                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
578             esac
579         ],
580         [samplerate=auto])
582 if test "x${samplerate}" != xno ; then
583     PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
584         HAVE_LIBSAMPLERATE=1,
585         [
586             HAVE_LIBSAMPLERATE=0
587             if test "x$samplerate" = xyes ; then
588                 AC_MSG_ERROR([*** Libsamplerate not found])
589             fi
590         ])
591 else
592     HAVE_LIBSAMPLERATE=0
595 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
596    AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
599 AC_SUBST(LIBSAMPLERATE_CFLAGS)
600 AC_SUBST(LIBSAMPLERATE_LIBS)
601 AC_SUBST(HAVE_LIBSAMPLERATE)
602 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
604 #### Database support ####
606 HAVE_TDB=0
607 HAVE_GDBM=0
609 AC_ARG_WITH(
610         [database],
611         AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
613 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
614     PKG_CHECK_MODULES(TDB, [ tdb ],
615         [
616             HAVE_TDB=1
617             with_database=tdb
618         ], [
619             if test "x${with_database}" = "xtdb" ; then
620                 AC_MSG_ERROR([*** tdb not found])
621             fi
622         ])
625 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
626    have_gdbm=yes
628    AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
629    AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
631    if test "x${have_gdbm}" = "xyes" ; then
632        HAVE_GDBM=1
633        GDBM_CFLAGS=
634        GDBM_LIBS=-lgdbm
635        with_database=gdbm
636    elif test "x${with_database}" = "xgdbm"; then
637        AC_MSG_ERROR([*** gdbm not found])
638    fi
641 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
642    AC_MSG_ERROR([*** missing database backend])
645 if test "x${HAVE_TDB}" = x1 ; then
646    AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
649 if test "x${HAVE_GDBM}" = x1 ; then
650    AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
653 AC_SUBST(TDB_CFLAGS)
654 AC_SUBST(TDB_LIBS)
655 AC_SUBST(HAVE_TDB)
656 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
658 AC_SUBST(GDBM_CFLAGS)
659 AC_SUBST(GDBM_LIBS)
660 AC_SUBST(HAVE_GDBM)
661 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
663 #### OSS support (optional) ####
665 AC_ARG_ENABLE([oss],
666     AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
667         [
668             case "${enableval}" in
669                 yes) oss=yes ;;
670                 no) oss=no ;;
671                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
672             esac
673         ],
674         [oss=auto])
676 if test "x${oss}" != xno ; then
677     AC_CHECK_HEADERS([sys/soundcard.h],
678         [
679             HAVE_OSS=1
680             AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
681         ],
682         [
683             HAVE_OSS=0
684             if test "x$oss" = xyes ; then
685                 AC_MSG_ERROR([*** OSS support not found])
686             fi
687         ])
688 else
689     HAVE_OSS=0
692 AC_SUBST(HAVE_OSS)
693 AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
696 #### ALSA support (optional) ####
698 AC_ARG_ENABLE([alsa],
699     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
700         [
701             case "${enableval}" in
702                 yes) alsa=yes ;;
703                 no) alsa=no ;;
704                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
705             esac
706         ],
707         [alsa=auto])
709 if test "x${alsa}" != xno ; then
710     PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
711         [
712             HAVE_ALSA=1
713             AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
714         ],
715         [
716             HAVE_ALSA=0
717             if test "x$alsa" = xyes ; then
718                 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
719             fi
720         ])
721 else
722     HAVE_ALSA=0
725 AC_SUBST(ASOUNDLIB_CFLAGS)
726 AC_SUBST(ASOUNDLIB_LIBS)
727 AC_SUBST(HAVE_ALSA)
728 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
730 #### Solaris audio support (optional) ####
732 AC_ARG_ENABLE([solaris],
733     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
734         [
735             case "${enableval}" in
736                 yes) solaris=yes ;;
737                 no) solaris=no ;;
738                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
739             esac
740         ],
741         [solaris=auto])
743 if test "x${solaris}" != xno ; then
744     AC_CHECK_HEADERS([sys/audio.h],
745         [
746             HAVE_SOLARIS=1
747             AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
748         ],
749         [
750             HAVE_SOLARIS=0
751             if test "x$solaris" = xyes ; then
752                 AC_MSG_ERROR([*** Solaris audio support not found])
753             fi
754         ])
755 else
756     HAVE_SOLARIS=0
759 AC_SUBST(HAVE_SOLARIS)
760 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
762 #### GLib 2 support (optional) ####
764 AC_ARG_ENABLE([glib2],
765     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
766         [
767             case "${enableval}" in
768                 yes) glib2=yes ;;
769                 no) glib2=no ;;
770                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
771             esac
772         ],
773         [glib2=auto])
775 if test "x${glib2}" != xno ; then
776     PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
777         HAVE_GLIB20=1,
778         [
779             HAVE_GLIB20=0
780             if test "x$glib2" = xyes ; then
781                 AC_MSG_ERROR([*** GLib 2 support not found])
782             fi
783         ])
784 else
785     HAVE_GLIB20=0
788 AC_SUBST(GLIB20_CFLAGS)
789 AC_SUBST(GLIB20_LIBS)
790 AC_SUBST(HAVE_GLIB20)
791 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
793 if test "x$HAVE_GLIB20" = x1 ; then
794    AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
797 #### GTK2 support (optional) ####
799 AC_ARG_ENABLE([gtk2],
800     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
801         [
802             case "${enableval}" in
803                 yes) gtk2=yes ;;
804                 no) gtk2=no ;;
805                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
806             esac
807         ],
808         [gtk2=auto])
810 if test "x${gtk2}" != xno ; then
811     PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
812         HAVE_GTK20=1,
813         [
814             HAVE_GTK20=0
815             if test "x$gtk2" = xyes ; then
816                 AC_MSG_ERROR([*** Gtk+ 2 support not found])
817             fi
818         ])
819 else
820     HAVE_GTK20=0
823 AC_SUBST(GTK20_CFLAGS)
824 AC_SUBST(GTK20_LIBS)
825 AC_SUBST(HAVE_GTK20)
826 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
828 if test "x$HAVE_GTK20" = x1 ; then
829    AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
832 #### GConf support (optional) ####
834 AC_ARG_ENABLE([gconf],
835     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
836         [
837             case "${enableval}" in
838                 yes) gconf=yes ;;
839                 no) gconf=no ;;
840                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
841             esac
842         ],
843         [gconf=auto])
845 if test "x${gconf}" != xno ; then
846     PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
847         HAVE_GCONF=1,
848         [
849             HAVE_GCONF=0
850             if test "x$gconf" = xyes ; then
851                 AC_MSG_ERROR([*** GConf support not found])
852             fi
853         ])
854 else
855     HAVE_GCONF=0
858 AC_SUBST(GCONF_CFLAGS)
859 AC_SUBST(GCONF_LIBS)
860 AC_SUBST(HAVE_GCONF)
861 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
863 #### Avahi support (optional) ####
865 AC_ARG_ENABLE([avahi],
866     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
867         [
868             case "${enableval}" in
869                 yes) avahi=yes ;;
870                 no) avahi=no ;;
871                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
872             esac
873         ],
874         [avahi=auto])
876 if test "x${avahi}" != xno ; then
877     PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
878         HAVE_AVAHI=1,
879         [
880                 HAVE_AVAHI=0
881                 if test "x$avahi" = xyes ; then
882                         AC_MSG_ERROR([*** Avahi support not found])
883                 fi
884         ])
885 else
886     HAVE_AVAHI=0
889 AC_SUBST(AVAHI_CFLAGS)
890 AC_SUBST(AVAHI_LIBS)
891 AC_SUBST(HAVE_AVAHI)
892 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
894 ### LIBOIL ####
896 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
897 AC_SUBST(LIBOIL_CFLAGS)
898 AC_SUBST(LIBOIL_LIBS)
900 ### JACK (optional) ####
902 AC_ARG_ENABLE([jack],
903     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
904         [
905             case "${enableval}" in
906                 yes) jack=yes ;;
907                 no) jack=no ;;
908                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
909             esac
910         ],
911         [jack=auto])
913 if test "x${jack}" != xno ; then
914     PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
915         HAVE_JACK=1,
916         [
917             HAVE_JACK=0
918             if test "x$jack" = xyes ; then
919                 AC_MSG_ERROR([*** JACK support not found])
920             fi
921         ])
922 else
923     HAVE_JACK=0
926 AC_SUBST(JACK_CFLAGS)
927 AC_SUBST(JACK_LIBS)
928 AC_SUBST(HAVE_JACK)
929 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
931 #### Async DNS support (optional) ####
933 AC_ARG_ENABLE([asyncns],
934     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
935         [
936             case "${enableval}" in
937                 yes) asyncns=yes ;;
938                 no) asyncns=no ;;
939                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
940             esac
941         ],
942         [asyncns=auto])
944 if test "x${asyncns}" != xno ; then
945     PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
946         HAVE_LIBASYNCNS=1,
947         [
948             HAVE_LIBASYNCNS=0
949             if test "x$asyncns" = xyes ; then
950                 AC_MSG_ERROR([*** Async DNS support not found])
951             fi
952         ])
953 else
954     HAVE_LIBASYNCNS=0
957 AC_SUBST(LIBASYNCNS_CFLAGS)
958 AC_SUBST(LIBASYNCNS_LIBS)
959 AC_SUBST(HAVE_LIBASYNCNS)
960 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
962 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
963    AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
966 #### TCP wrappers (optional) ####
968 AC_ARG_ENABLE([tcpwrap],
969     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
970         [
971             case "${enableval}" in
972                 yes) tcpwrap=yes ;;
973                 no) tcpwrap=no ;;
974                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
975             esac
976         ],
977         [tcpwrap=auto])
979 if test "x${tcpwrap}" != xno ; then
980     ACX_LIBWRAP
981     if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
982         AC_MSG_ERROR([*** TCP wrappers support not found])
983     fi
984 else
985     LIBWRAP_LIBS=
988 AC_SUBST(LIBWRAP_LIBS)
990 #### LIRC support (optional) ####
992 AC_ARG_ENABLE([lirc],
993     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
994         [
995             case "${enableval}" in
996                 yes) lirc=yes ;;
997                 no) lirc=no ;;
998                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
999             esac
1000         ],
1001         [lirc=auto])
1003 if test "x${lirc}" != xno ; then
1004     ACX_LIRC
1005     if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1006         AC_MSG_ERROR([*** LIRC support not found])
1007     fi
1008 else
1009     HAVE_LIRC=0
1012 AC_SUBST(LIRC_CFLAGS)
1013 AC_SUBST(LIRC_LIBS)
1014 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1016 #### HAL support (optional) ####
1018 AC_ARG_ENABLE([hal],
1019     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1020         [
1021             case "${enableval}" in
1022                 yes) hal=yes ;;
1023                 no) hal=no ;;
1024                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1025             esac
1026         ],
1027         [hal=auto])
1028 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1029     PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1030         [
1031             HAVE_HAL=1
1032             AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1033         ],
1034         [
1035             HAVE_HAL=0
1036             if test "x$hal" = xyes ; then
1037                 AC_MSG_ERROR([*** HAL support not found])
1038             fi
1039         ])
1040 else
1041     HAVE_HAL=0
1044 AC_SUBST(HAL_CFLAGS)
1045 AC_SUBST(HAL_LIBS)
1046 AC_SUBST(HAVE_HAL)
1047 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1049 #### UDEV support (optional) ####
1051 AC_ARG_ENABLE([udev],
1052     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1053         [
1054             case "${enableval}" in
1055                 yes) udev=yes ;;
1056                 no) udev=no ;;
1057                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1058             esac
1059         ],
1060         [udev=auto])
1061 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1062     PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1063         [
1064             HAVE_UDEV=1
1065             AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1066         ],
1067         [
1068             HAVE_UDEV=0
1069             if test "x$udev" = xyes ; then
1070                 AC_MSG_ERROR([*** UDEV support not found])
1071             fi
1072         ])
1073 else
1074     HAVE_UDEV=0
1077 AC_SUBST(UDEV_CFLAGS)
1078 AC_SUBST(UDEV_LIBS)
1079 AC_SUBST(HAVE_UDEV)
1080 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1082 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1084 #### BlueZ support (optional) ####
1086 AC_ARG_ENABLE([bluez],
1087     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1088         [
1089             case "${enableval}" in
1090                 yes) bluez=yes ;;
1091                 no) bluez=no ;;
1092                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1093             esac
1094         ],
1095         [bluez=auto])
1096 if test "x${bluez}" != xno ; then
1097     PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1098         HAVE_BLUEZ=1,
1099         [
1100             HAVE_BLUEZ=0
1101             if test "x$bluez" = xyes ; then
1102                 AC_MSG_ERROR([*** BLUEZ support not found])
1103             fi
1104         ])
1105 else
1106     HAVE_BLUEZ=0
1109 AC_SUBST(BLUEZ_CFLAGS)
1110 AC_SUBST(BLUEZ_LIBS)
1111 AC_SUBST(HAVE_BLUEZ)
1112 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1114 #### D-Bus support (optional) ####
1116 AC_ARG_ENABLE([dbus],
1117     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1118         [
1119             case "${enableval}" in
1120                 yes) dbus=yes ;;
1121                 no) dbus=no ;;
1122                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1123             esac
1124         ],
1125         [dbus=auto])
1127 if test "x$HAVE_HAL" = x1 ; then
1128    dbus=yes
1131 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1133     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1134         [
1135             HAVE_DBUS=1
1136             saved_LIBS="$LIBS"
1137             LIBS="$LIBS $DBUS_LIBS"
1138             AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1139             LIBS="$saved_LIBS"
1140             AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1141         ],
1142         [
1143             HAVE_DBUS=0
1144             if test "x$dbus" = xyes ; then
1145                 AC_MSG_ERROR([*** D-Bus support not found])
1146             fi
1147         ])
1148 else
1149     HAVE_DBUS=0
1152 AC_SUBST(DBUS_CFLAGS)
1153 AC_SUBST(DBUS_LIBS)
1154 AC_SUBST(HAVE_DBUS)
1155 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1157 ### IPv6 connection support (optional) ###
1159 AC_ARG_ENABLE([ipv6],
1160     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1161         [
1162             case "${enableval}" in
1163                 yes) ipv6=yes ;;
1164                 no) ipv6=no ;;
1165                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1166             esac
1167         ],
1168         [ipv6=auto])
1170 if test "x${ipv6}" != xno ; then
1171     AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1172     HAVE_IPV6=1
1173 else
1174     HAVE_IPV6=0
1177 #### OpenSSL support (optional) ####
1179 AC_ARG_ENABLE([openssl],
1180     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1181         [
1182             case "${enableval}" in
1183                 yes) openssl=yes ;;
1184                 no) openssl=no ;;
1185                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1186             esac
1187         ],
1188         [openssl=auto])
1190 if test "x${openssl}" != xno ; then
1192     PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1193         [
1194             HAVE_OPENSSL=1
1195             AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1196         ],
1197         [
1198             HAVE_OPENSSL=0
1199             if test "x$openssl" = xyes ; then
1200                 AC_MSG_ERROR([*** OpenSSL support not found])
1201             fi
1202         ])
1203 else
1204     HAVE_OPENSSL=0
1207 AC_SUBST(OPENSSL_CFLAGS)
1208 AC_SUBST(OPENSSL_LIBS)
1209 AC_SUBST(HAVE_OPENSSL)
1210 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1212 ### Build and Install man pages ###
1213 AC_ARG_ENABLE(manpages,
1214         AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1215 [case "${enableval}" in
1216   yes) manpages=yes ;;
1217   no)  manpages=no ;;
1218   *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1219 esac],[manpages=yes])
1221 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1223 #### PulseAudio system group & user  #####
1225 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1226 if test -z "$with_system_user" ; then
1227     PA_SYSTEM_USER=pulse
1228 else
1229     PA_SYSTEM_USER=$with_system_user
1231 AC_SUBST(PA_SYSTEM_USER)
1232 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1234 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1235 if test -z "$with_system_group" ; then
1236     PA_SYSTEM_GROUP=pulse
1237 else
1238     PA_SYSTEM_GROUP=$with_system_group
1240 AC_SUBST(PA_SYSTEM_GROUP)
1241 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1243 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)]))
1244 if test -z "$with_access_group" ; then
1245     PA_ACCESS_GROUP=pulse-access
1246 else
1247     PA_ACCESS_GROUP=$with_access_group
1249 AC_SUBST(PA_ACCESS_GROUP)
1250 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1252 AC_ARG_ENABLE(
1253         per_user_esound_socket,
1254         AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1255         [
1256             case "${enableval}" in
1257                 yes) per_user_esound_socket=1 ;;
1258                 no) per_user_esound_socket=0 ;;
1259                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1260             esac
1261         ],
1262         [per_user_esound_socket=1])
1264 if test "x$per_user_esound_socket" = "x1"; then
1265    AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1268 #### PulseAudio system runtime dir ####
1269 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1270 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1271 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1272 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1273 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1274 AC_SUBST(PA_SYSTEM_STATE_PATH)
1276 ###################################
1277 #            Output               #
1278 ###################################
1280 AC_ARG_ENABLE([legacy-runtime-dir],
1281         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1282 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1283         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1286 AC_ARG_ENABLE(
1287         [static-bins],
1288         AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1289         [STATIC_BINS=1], [STATIC_BINS=0])
1290 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1292 AC_ARG_WITH(
1293         [preopen-mods],
1294         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1295         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1296 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1297 if test "x$PREOPEN_MODS" != "xall" ; then
1298     tmpLIBS=""
1299     for mod in $PREOPEN_MODS; do
1300         tmpLIBS="$tmpLIBS module-$mod.la"
1301     done
1302     PREOPEN_MODS="$tmpLIBS"
1303     AC_SUBST(PREOPEN_MODS)
1306 AC_ARG_WITH(
1307         [module-dir],
1308         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules]),
1309         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules"])
1311 AC_SUBST(modlibexecdir)
1313 AC_ARG_ENABLE(
1314         [force-preopen],
1315         AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1316         [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1317 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1319 AC_CONFIG_FILES([
1320 Makefile
1321 src/Makefile
1322 man/Makefile
1323 libpulse.pc
1324 libpulse-simple.pc
1325 libpulse-browse.pc
1326 libpulse-mainloop-glib.pc
1327 doxygen/Makefile
1328 doxygen/doxygen.conf
1329 src/pulse/version.h
1330 po/Makefile.in
1333 AC_OUTPUT
1335 # ==========================================================================
1336 ENABLE_X11=no
1337 if test "x$HAVE_X11" = "x1" ; then
1338    ENABLE_X11=yes
1341 ENABLE_OSS=no
1342 if test "x$HAVE_OSS" = "x1" ; then
1343    ENABLE_OSS=yes
1346 ENABLE_ALSA=no
1347 if test "x$HAVE_ALSA" = "x1" ; then
1348    ENABLE_ALSA=yes
1351 ENABLE_SOLARIS=no
1352 if test "x$HAVE_SOLARIS" = "x1" ; then
1353    ENABLE_SOLARIS=yes
1356 ENABLE_GTK20=no
1357 if test "x$HAVE_GTK20" = "x1" ; then
1358    ENABLE_GTK20=yes
1361 ENABLE_GLIB20=no
1362 if test "x$HAVE_GLIB20" = "x1" ; then
1363    ENABLE_GLIB20=yes
1366 ENABLE_GCONF=no
1367 if test "x$HAVE_GCONF" = "x1" ; then
1368    ENABLE_GCONF=yes
1371 ENABLE_AVAHI=no
1372 if test "x$HAVE_AVAHI" = "x1" ; then
1373    ENABLE_AVAHI=yes
1376 ENABLE_JACK=no
1377 if test "x$HAVE_JACK" = "x1" ; then
1378    ENABLE_JACK=yes
1381 ENABLE_LIBASYNCNS=no
1382 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1383    ENABLE_LIBASYNCNS=yes
1386 ENABLE_LIRC=no
1387 if test "x$HAVE_LIRC" = "x1" ; then
1388    ENABLE_LIRC=yes
1391 ENABLE_HAL=no
1392 if test "x$HAVE_HAL" = "x1" ; then
1393    ENABLE_HAL=yes
1396 ENABLE_UDEV=no
1397 if test "x$HAVE_UDEV" = "x1" ; then
1398    ENABLE_UDEV=yes
1401 ENABLE_TCPWRAP=no
1402 if test "x${LIBWRAP_LIBS}" != x ; then
1403    ENABLE_TCPWRAP=yes
1406 ENABLE_LIBSAMPLERATE=no
1407 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1408    ENABLE_LIBSAMPLERATE=yes
1411 ENABLE_BLUEZ=no
1412 if test "x${HAVE_BLUEZ}" = "x1" ; then
1413    ENABLE_BLUEZ=yes
1416 ENABLE_GDBM=no
1417 if test "x${HAVE_GDBM}" = "x1" ; then
1418    ENABLE_GDBM=yes
1421 ENABLE_TDB=no
1422 if test "x${HAVE_TDB}" = "x1" ; then
1423    ENABLE_TDB=yes
1426 ENABLE_OPENSSL=no
1427 if test "x${HAVE_OPENSSL}" = "x1" ; then
1428    ENABLE_OPENSSL=yes
1431 ENABLE_IPV6=no
1432 if test "x${HAVE_IPV6}" = "x1" ; then
1433    ENABLE_IPV6=yes
1436 ENABLE_PER_USER_ESOUND_SOCKET=no
1437 if test "x$per_user_esound_socket" = "x1" ; then
1438    ENABLE_PER_USER_ESOUND_SOCKET=yes
1441 echo "
1442  ---{ $PACKAGE_NAME $VERSION }---
1444     prefix:                        ${prefix}
1445     sysconfdir:                    ${sysconfdir}
1446     localstatedir:                 ${localstatedir}
1447     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1448     System State Path:             ${PA_SYSTEM_STATE_PATH}
1449     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1450     Compiler:                      ${CC}
1451     CFLAGS:                        ${CFLAGS}
1453     Have X11:                      ${ENABLE_X11}
1454     Enable OSS:                    ${ENABLE_OSS}
1455     Enable Alsa:                   ${ENABLE_ALSA}
1456     Enable Solaris:                ${ENABLE_SOLARIS}
1457     Enable GLib 2.0:               ${ENABLE_GLIB20}
1458     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1459     Enable GConf:                  ${ENABLE_GCONF}
1460     Enable Avahi:                  ${ENABLE_AVAHI}
1461     Enable Jack:                   ${ENABLE_JACK}
1462     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1463     Enable LIRC:                   ${ENABLE_LIRC}
1464     Enable HAL:                    ${ENABLE_HAL}
1465     Enable udev:                   ${ENABLE_UDEV}
1466     Enable BlueZ:                  ${ENABLE_BLUEZ}
1467     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1468     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1469     Enable IPv6:                   ${ENABLE_IPV6}
1470     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1471     Enable tdb:                    ${ENABLE_TDB}
1472     Enable gdbm:                   ${ENABLE_GDBM}
1474     System User:                   ${PA_SYSTEM_USER}
1475     System Group:                  ${PA_SYSTEM_GROUP}
1476     Access Group:                  ${PA_ACCESS_GROUP}
1477     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1478     Force preopen:                 ${FORCE_PREOPEN}
1479     Preopened modules:             ${PREOPEN_MODS}