mix-test: fix test for s24-32 samples
[pulseaudio-mirror.git] / configure.ac
blobf70347920c2971f52faa58174bdded304546f8bc
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, [9:0:9])
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:3: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    *-*-darwin* )
78       AC_DEFINE([_POSIX_C_SOURCE], [200112L], [Needed to get clock_gettime on Mac OS X])
79       AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
80       ;;
81 esac
83 AM_SILENT_RULES([yes])
85 #### Checks for programs. ####
87 # mkdir -p
89 AC_PROG_MKDIR_P
91 # CC
93 AC_PROG_CC
94 AC_PROG_CC_C99
95 AM_PROG_CC_C_O
96 AC_PROG_GCC_TRADITIONAL
97 AC_USE_SYSTEM_EXTENSIONS
99 # M4
101 AC_CHECK_PROGS([M4], gm4 m4, no)
102 if test "x$M4" = xno ; then
103    AC_MSG_ERROR([m4 missing])
106 dnl Compiler flags
107 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])
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 Use immediate (now) bindings; avoids the funky re-call in itself
121 dnl  the -z now syntax is lifted from Sun's linker and works with GNU's too
122 dnl  other linkes might be added later
123 CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"])
124 AC_SUBST([IMMEDIATE_LDFLAGS])
126 dnl On ELF systems we don't want the libraries to be unloaded since we
127 dnl don't clean them up properly, so we request the nodelete flag to be
128 dnl enabled.
130 dnl On other systems, we don't really know how to do that, but it's
131 dnl welcome if somebody can tell.
132 CC_CHECK_LDFLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS="-Wl,-z,nodelete"])
133 AC_SUBST([NODELETE_LDFLAGS])
135 dnl Check for the proper way to build libraries that have no undefined
136 dnl symbols; on some hosts this needs to be avoided but the macro
137 dnl takes care of it.
138 CC_NOUNDEFINED
140 dnl Check whether to build tests by default (as compile-test) or not
141 AC_ARG_ENABLE([default-build-tests],
142     AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
144 AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
146 # Native atomic operation support
147 AC_ARG_ENABLE([atomic-arm-linux-helpers],
148     AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
149         [
150             case "${enableval}" in
151                 yes) atomic_arm_linux_helpers=yes ;;
152                 no) atomic_arm_linux_helpers=no ;;
153                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
154             esac
155         ],
156         [atomic_arm_linux_helpers=auto])
158 AC_ARG_ENABLE([atomic-arm-memory-barrier],
159     AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
160         [
161             case "${enableval}" in
162                 yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
163                 no) ;;
164                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
165             esac
166         ],)
168 AC_ARG_ENABLE([netbsd-atomic-ops],
169     AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
170         [
171             case "${enableval}" in
172                 yes) atomic_netbsd_helpers=yes ;;
173                 no) atomic_netbsd_helpers=no ;;
174                 *) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
175             esac
176         ],
177         [atomic_netbsd_helpers=auto])
179 AC_MSG_CHECKING([target operating system])
180 case $host in
181         *-*-linux*)
182             AC_MSG_RESULT([linux])
183             pulse_target_os=linux
184         ;;
185         *-*-netbsd*)
186             AC_MSG_RESULT([netbsd])
187             pulse_target_os=netbsd
188         ;;
189         *)
190             AC_MSG_RESULT([unknown])
191             pulse_target_os=unknown
192         ;;
193 esac
195 # If everything else fails use libatomic_ops
196 need_libatomic_ops=yes
198 AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
199   pulseaudio_cv_sync_bool_compare_and_swap,
200   [AC_LINK_IFELSE(
201      AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
202      [pulseaudio_cv_sync_bool_compare_and_swap=yes],
203      [pulseaudio_cv_sync_bool_compare_and_swap=no])
204   ])
206 if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
207     AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
208     need_libatomic_ops=no
209 else
210     # HW specific atomic ops stuff
211     AC_MSG_CHECKING([architecture for native atomic operations])
212     case $host_cpu in
213         arm*)
214             AC_MSG_RESULT([arm])
215             AC_MSG_CHECKING([whether we can use Linux kernel helpers])
216             # The Linux kernel helper functions have been there since 2.6.16. However
217             # compile time checking for kernel version in cross compile environment
218             # (which is usually the case for arm cpu) is tricky (or impossible).
219             if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
220                 AC_MSG_RESULT([yes])
221                 AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
222                 need_libatomic_ops=no
223             else
224                AC_MSG_RESULT([no])
225                AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
226                  pulseaudio_cv_support_arm_atomic_ops,
227                  [AC_COMPILE_IFELSE(
228                     AC_LANG_PROGRAM([],
229                       [[volatile int a=0;
230                         int o=0, n=1, r;
231                         asm volatile ("ldrex    %0, [%1]\n"
232                                          "subs  %0, %0, %2\n"
233                                          "strexeq %0, %3, [%1]\n"
234                                          : "=&r" (r)
235                                          : "r" (&a), "Ir" (o), "r" (n)
236                                          : "cc");
237                         return (a==1 ? 0 : -1);
238                       ]]),
239                     [pulseaudio_cv_support_arm_atomic_ops=yes],
240                     [pulseaudio_cv_support_arm_atomic_ops=no])
241                  ])
242                AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
243                    AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
244                    need_libatomic_ops=no
245                  ])
246            fi
247         ;;
248         *)
249             if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
250                 AC_MSG_RESULT([yes])
251                 AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
252                 need_libatomic_ops=no
253             else
254                 AC_MSG_RESULT([unknown])
255             fi
256         ;;
257     esac
260 CC_CHECK_TLS
262 AC_CACHE_CHECK([whether $CC knows _Bool],
263   pulseaudio_cv__Bool,
264   [AC_COMPILE_IFELSE(
265      AC_LANG_PROGRAM([], [[_Bool b;]]),
266      [pulseaudio_cv__Bool=yes],
267      [pulseaudio_cv__Bool=no])
268   ])
270 AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
271     AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
272   ])
274 #### libtool stuff ####
275 LT_PREREQ(2.2)
276 LT_INIT([dlopen win32-dll disable-static])
278 dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
279 dnl exactly which version of libltdl is present in the system, so we
280 dnl just assume that it's a working version as long as we have the
281 dnl library and the header files.
283 dnl As an extra safety device, check for lt_dladvise_init() which is
284 dnl only implemented in libtool 2.x, and refine as we go if we have
285 dnl refined requirements.
287 dnl Check the header files first since the system may have a
288 dnl libltdl.so for runtime, but no headers, and we want to bail out as
289 dnl soon as possible.
291 dnl We don't need any special variable for this though, since the user
292 dnl can give the proper place to find libltdl through the standard
293 dnl variables like LDFLAGS and CPPFLAGS.
295 AC_CHECK_HEADER([ltdl.h],
296     [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
297     [LIBLTDL=])
299 AS_IF([test "x$LIBLTDL" = "x"],
300     [AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
301 AC_SUBST([LIBLTDL])
303 #### Determine build environment ####
305 os_is_win32=0
307 case "$host_os" in
308         mingw*)
309         AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
310         os_is_win32=1
311                 ;;
312         esac
314 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
316 ###################################
317 #   Basic environment checks      #
318 ###################################
320 #### Checks for header files. ####
322 # ISO
323 AC_HEADER_STDC
325 # POSIX
326 AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
327     netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
328     sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
329     sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
330 AC_CHECK_HEADERS([netinet/ip.h], [], [],
331                  [#include <sys/types.h>
332                   #if HAVE_NETINET_IN_H
333                   # include <netinet/in.h>
334                   #endif
335                   #if HAVE_NETINET_IN_SYSTM_H
336                   # include <netinet/in_systm.h>
337                   #endif
338                  ])
339 AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
340 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
342 AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
343 AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
345 # Linux
346 AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
348 AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
350 AC_CHECK_HEADERS_ONCE([sys/prctl.h])
352 # Solaris
353 AC_CHECK_HEADERS_ONCE([sys/filio.h])
355 # Windows
356 AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
358 # NetBSD
359 AC_CHECK_HEADERS_ONCE([sys/atomic.h])
361 # Other
362 AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
363 AC_CHECK_HEADERS_ONCE([byteswap.h])
364 AC_CHECK_HEADERS_ONCE([sys/syscall.h])
365 AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
366 AC_CHECK_HEADERS_ONCE([execinfo.h])
368 #### Typdefs, structures, etc. ####
370 AC_C_CONST
371 AC_C_BIGENDIAN
372 AC_TYPE_PID_T
373 AC_TYPE_SIZE_T
374 AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
375     [Define ssize_t if it is not done by the standard libs.])])
376 AC_TYPE_OFF_T
378 AC_TYPE_UID_T
379 AC_CHECK_DECLS(environ)
381 AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
382 HAVE_SIGXCPU=1
383 AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
384 ], [HAVE_SIGXCPU=0])
385 AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
387 # Solaris lacks this
388 AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
389     [AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
390         [AC_DEFINE([INADDR_NONE],  [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
392 #### POSIX threads ####
394 ACX_PTHREAD
396 #### Check for libs ####
398 # ISO
399 AC_SEARCH_LIBS([pow], [m])
401 # POSIX
402 AC_SEARCH_LIBS([sched_setscheduler], [rt])
403 AC_SEARCH_LIBS([dlopen], [dl])
404 AC_SEARCH_LIBS([shm_open], [rt])
405 AC_SEARCH_LIBS([inet_ntop], [nsl])
406 AC_SEARCH_LIBS([timer_create], [rt])
408 # BSD
409 AC_SEARCH_LIBS([connect], [socket])
410 AC_SEARCH_LIBS([backtrace], [execinfo])
412 # Non-standard
414 # This magic is needed so we do not needlessly add static libs to the win32
415 # build, disabling its ability to make dlls.
416 AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
418 #### Check for functions ####
420 # ISO
421 AC_CHECK_FUNCS_ONCE([lrintf strtof])
423 # POSIX
424 AC_FUNC_FORK
425 AC_FUNC_GETGROUPS
426 AC_FUNC_SELECT_ARGTYPES
427 AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
428     getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
429     pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
430     sigaction sleep sysconf pthread_setaffinity_np])
431 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
433 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
435 # X/OPEN
436 AC_CHECK_FUNCS_ONCE([readlink])
438 # SUSv2
439 AC_CHECK_FUNCS_ONCE([ctime_r usleep])
441 # SUSv3
442 AC_CHECK_FUNCS_ONCE([strerror_r])
444 # BSD
445 AC_CHECK_FUNCS_ONCE([lstat])
447 # Non-standard
449 AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
451 AC_FUNC_ALLOCA
453 AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
454   pulseaudio_cv_PTHREAD_PRIO_INHERIT,
455   [save_CC=$CC; CC=$PTHREAD_CC
456    save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
457    save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
458    AC_LINK_IFELSE(
459      AC_LANG_PROGRAM(
460        [[
461          #include <pthread.h>
462        ]],
463        [[int i = PTHREAD_PRIO_INHERIT;]]),
464      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
465      [pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
466    CC=$save_CC
467    CFLAGS=$save_CFLAGS
468    LIBS=$save_LIBS
469   ])
471 AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
472     AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
473   ])
475 AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
477 #### Large File-Support (LFS) ####
479 AC_SYS_LARGEFILE
481 # Check for open64 to know if the current system does have open64() and similar functions
482 AC_CHECK_FUNCS_ONCE([open64])
484 #### [lib]iconv ####
486 AM_ICONV
488 IT_PROG_INTLTOOL([0.35.0])
489 GETTEXT_PACKAGE=pulseaudio
490 AC_SUBST([GETTEXT_PACKAGE])
491 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
492 AM_GLIB_GNU_GETTEXT
494 pulselocaledir='${prefix}/${DATADIRNAME}/locale'
495 AC_SUBST(pulselocaledir)
497 ###################################
498 #      External libraries         #
499 ###################################
501 #### pkg-config ####
503 PKG_PROG_PKG_CONFIG
505 #### X11 (optional) ####
507 AC_ARG_ENABLE([x11],
508     AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
509         [
510             case "${enableval}" in
511                 yes) x11=yes ;;
512                 no) x11=no ;;
513                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
514             esac
515         ],
516         [x11=auto])
518 if test "x${x11}" != xno ; then
519     PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
520         HAVE_X11=1,
521         [
522             HAVE_X11=0
523             if test "x$x11" = xyes ; then
524                 AC_MSG_ERROR([*** X11 not found])
525             fi
526         ])
527 else
528     HAVE_X11=0
531 if test "x${HAVE_X11}" = x1 ; then
532    AC_DEFINE([HAVE_X11], 1, [Have X11?])
535 AC_SUBST(X11_CFLAGS)
536 AC_SUBST(X11_LIBS)
537 AC_SUBST(HAVE_X11)
538 AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
540 #### Valgrind (optional) ####
542 AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
544 #### Sound file ####
546 PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
547 AC_SUBST(LIBSNDFILE_CFLAGS)
548 AC_SUBST(LIBSNDFILE_LIBS)
550 PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
551 AC_SUBST(LIBSPEEX_CFLAGS)
552 AC_SUBST(LIBSPEEX_LIBS)
554 #### atomic-ops ###
556 AC_MSG_CHECKING([whether we need libatomic_ops])
557 if test "x$need_libatomic_ops" = "xyes"; then
558    AC_MSG_RESULT([yes])
559    AC_CHECK_HEADERS([atomic_ops.h], [], [
560    AC_MSG_ERROR([*** libatomic-ops headers not found])
561    ])
563    # Win32 does not need the lib and breaks horribly if we try to include it
564    if test "x$os_is_win32" != "x1" ; then
565        LIBS="$LIBS -latomic_ops"
566    fi
567 else
568    AC_MSG_RESULT([no])
571 #### Libsamplerate support (optional) ####
573 AC_ARG_ENABLE([samplerate],
574     AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
575         [
576             case "${enableval}" in
577                 yes) samplerate=yes ;;
578                 no) samplerate=no ;;
579                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
580             esac
581         ],
582         [samplerate=auto])
584 if test "x${samplerate}" != xno ; then
585     PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
586         HAVE_LIBSAMPLERATE=1,
587         [
588             HAVE_LIBSAMPLERATE=0
589             if test "x$samplerate" = xyes ; then
590                 AC_MSG_ERROR([*** Libsamplerate not found])
591             fi
592         ])
593 else
594     HAVE_LIBSAMPLERATE=0
597 if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
598    AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
601 AC_SUBST(LIBSAMPLERATE_CFLAGS)
602 AC_SUBST(LIBSAMPLERATE_LIBS)
603 AC_SUBST(HAVE_LIBSAMPLERATE)
604 AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
606 #### Database support ####
608 HAVE_TDB=0
609 HAVE_GDBM=0
611 AC_ARG_WITH(
612         [database],
613         AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
615 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
616     PKG_CHECK_MODULES(TDB, [ tdb ],
617         [
618             HAVE_TDB=1
619             with_database=tdb
620         ], [
621             if test "x${with_database}" = "xtdb" ; then
622                 AC_MSG_ERROR([*** tdb not found])
623             fi
624         ])
627 if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
628    have_gdbm=yes
630    AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
631    AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
633    if test "x${have_gdbm}" = "xyes" ; then
634        HAVE_GDBM=1
635        GDBM_CFLAGS=
636        GDBM_LIBS=-lgdbm
637        with_database=gdbm
638    elif test "x${with_database}" = "xgdbm"; then
639        AC_MSG_ERROR([*** gdbm not found])
640    fi
643 if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
644    AC_MSG_ERROR([*** missing database backend])
647 if test "x${HAVE_TDB}" = x1 ; then
648    AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
651 if test "x${HAVE_GDBM}" = x1 ; then
652    AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
655 AC_SUBST(TDB_CFLAGS)
656 AC_SUBST(TDB_LIBS)
657 AC_SUBST(HAVE_TDB)
658 AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
660 AC_SUBST(GDBM_CFLAGS)
661 AC_SUBST(GDBM_LIBS)
662 AC_SUBST(HAVE_GDBM)
663 AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
665 #### OSS support (optional) ####
667 AC_ARG_ENABLE([oss-output],
668     AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]),
669         [
670             case "${enableval}" in
671                 yes) oss_output=yes ;;
672                 no) oss_output=no ;;
673                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-output) ;;
674             esac
675         ],
676         [oss_output=auto])
678 AC_ARG_ENABLE([oss-wrapper],
679     AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]),
680         [
681             case "${enableval}" in
682                 yes) oss_wrapper=yes ;;
683                 no) oss_wrapper=no ;;
684                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-wrapper) ;;
685             esac
686         ],
687         [oss_wrapper=auto])
689 if test "x${oss_output}" != xno || test "x${oss_wrapper}" != "xno"; then
690     AC_CHECK_HEADERS([sys/soundcard.h],
691         [
692             if test "x${oss_output}" != "xno"; then
693                 AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])
694             fi
695             if test "x${oss_wrapper}" != "xno"; then
696                 AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?])
697             fi
698             HAVE_OSS=1
699         ],
700         [
701             HAVE_OSS=0
702             if test "x$oss_output" = xyes || test "x$oss_wrapper" = "xyes"; then
703                 AC_MSG_ERROR([*** OSS support not found])
704             fi
705         ])
706 else
707     HAVE_OSS=0
710 AC_SUBST(HAVE_OSS)
711 AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"])
712 AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])
714 #### ALSA support (optional) ####
716 AC_ARG_ENABLE([alsa],
717     AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
718         [
719             case "${enableval}" in
720                 yes) alsa=yes ;;
721                 no) alsa=no ;;
722                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
723             esac
724         ],
725         [alsa=auto])
727 if test "x${alsa}" != xno ; then
728     PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
729         [
730             HAVE_ALSA=1
731             AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
732         ],
733         [
734             HAVE_ALSA=0
735             if test "x$alsa" = xyes ; then
736                 AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
737             fi
738         ])
739 else
740     HAVE_ALSA=0
743 AC_SUBST(ASOUNDLIB_CFLAGS)
744 AC_SUBST(ASOUNDLIB_LIBS)
745 AC_SUBST(HAVE_ALSA)
746 AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
748 #### Solaris audio support (optional) ####
750 AC_ARG_ENABLE([solaris],
751     AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
752         [
753             case "${enableval}" in
754                 yes) solaris=yes ;;
755                 no) solaris=no ;;
756                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
757             esac
758         ],
759         [solaris=auto])
761 if test "x${solaris}" != xno ; then
762     AC_CHECK_HEADERS([sys/audio.h],
763         [
764             HAVE_SOLARIS=1
765             AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
766         ],
767         [
768             HAVE_SOLARIS=0
769             if test "x$solaris" = xyes ; then
770                 AC_MSG_ERROR([*** Solaris audio support not found])
771             fi
772         ])
773 else
774     HAVE_SOLARIS=0
777 AC_SUBST(HAVE_SOLARIS)
778 AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
780 #### GLib 2 support (optional) ####
782 AC_ARG_ENABLE([glib2],
783     AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
784         [
785             case "${enableval}" in
786                 yes) glib2=yes ;;
787                 no) glib2=no ;;
788                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
789             esac
790         ],
791         [glib2=auto])
793 if test "x${glib2}" != xno ; then
794     PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
795         HAVE_GLIB20=1,
796         [
797             HAVE_GLIB20=0
798             if test "x$glib2" = xyes ; then
799                 AC_MSG_ERROR([*** GLib 2 support not found])
800             fi
801         ])
802 else
803     HAVE_GLIB20=0
806 AC_SUBST(GLIB20_CFLAGS)
807 AC_SUBST(GLIB20_LIBS)
808 AC_SUBST(HAVE_GLIB20)
809 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
811 if test "x$HAVE_GLIB20" = x1 ; then
812    AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
815 #### GTK2 support (optional) ####
817 AC_ARG_ENABLE([gtk2],
818     AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
819         [
820             case "${enableval}" in
821                 yes) gtk2=yes ;;
822                 no) gtk2=no ;;
823                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
824             esac
825         ],
826         [gtk2=auto])
828 if test "x${gtk2}" != xno ; then
829     PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
830         HAVE_GTK20=1,
831         [
832             HAVE_GTK20=0
833             if test "x$gtk2" = xyes ; then
834                 AC_MSG_ERROR([*** Gtk+ 2 support not found])
835             fi
836         ])
837 else
838     HAVE_GTK20=0
841 AC_SUBST(GTK20_CFLAGS)
842 AC_SUBST(GTK20_LIBS)
843 AC_SUBST(HAVE_GTK20)
844 AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
846 if test "x$HAVE_GTK20" = x1 ; then
847    AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
850 #### GConf support (optional) ####
852 AC_ARG_ENABLE([gconf],
853     AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
854         [
855             case "${enableval}" in
856                 yes) gconf=yes ;;
857                 no) gconf=no ;;
858                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
859             esac
860         ],
861         [gconf=auto])
863 if test "x${gconf}" != xno ; then
864     PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
865         HAVE_GCONF=1,
866         [
867             HAVE_GCONF=0
868             if test "x$gconf" = xyes ; then
869                 AC_MSG_ERROR([*** GConf support not found])
870             fi
871         ])
872 else
873     HAVE_GCONF=0
876 AC_SUBST(GCONF_CFLAGS)
877 AC_SUBST(GCONF_LIBS)
878 AC_SUBST(HAVE_GCONF)
879 AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
881 #### Avahi support (optional) ####
883 AC_ARG_ENABLE([avahi],
884     AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
885         [
886             case "${enableval}" in
887                 yes) avahi=yes ;;
888                 no) avahi=no ;;
889                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
890             esac
891         ],
892         [avahi=auto])
894 if test "x${avahi}" != xno ; then
895     PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
896         HAVE_AVAHI=1,
897         [
898                 HAVE_AVAHI=0
899                 if test "x$avahi" = xyes ; then
900                         AC_MSG_ERROR([*** Avahi support not found])
901                 fi
902         ])
903 else
904     HAVE_AVAHI=0
907 AC_SUBST(AVAHI_CFLAGS)
908 AC_SUBST(AVAHI_LIBS)
909 AC_SUBST(HAVE_AVAHI)
910 AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
912 ### LIBOIL ####
914 PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
915 AC_SUBST(LIBOIL_CFLAGS)
916 AC_SUBST(LIBOIL_LIBS)
918 ### JACK (optional) ####
920 AC_ARG_ENABLE([jack],
921     AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
922         [
923             case "${enableval}" in
924                 yes) jack=yes ;;
925                 no) jack=no ;;
926                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
927             esac
928         ],
929         [jack=auto])
931 if test "x${jack}" != xno ; then
932     PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
933         HAVE_JACK=1,
934         [
935             HAVE_JACK=0
936             if test "x$jack" = xyes ; then
937                 AC_MSG_ERROR([*** JACK support not found])
938             fi
939         ])
940 else
941     HAVE_JACK=0
944 AC_SUBST(JACK_CFLAGS)
945 AC_SUBST(JACK_LIBS)
946 AC_SUBST(HAVE_JACK)
947 AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
949 #### Async DNS support (optional) ####
951 AC_ARG_ENABLE([asyncns],
952     AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
953         [
954             case "${enableval}" in
955                 yes) asyncns=yes ;;
956                 no) asyncns=no ;;
957                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
958             esac
959         ],
960         [asyncns=auto])
962 if test "x${asyncns}" != xno ; then
963     PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
964         HAVE_LIBASYNCNS=1,
965         [
966             HAVE_LIBASYNCNS=0
967             if test "x$asyncns" = xyes ; then
968                 AC_MSG_ERROR([*** Async DNS support not found])
969             fi
970         ])
971 else
972     HAVE_LIBASYNCNS=0
975 AC_SUBST(LIBASYNCNS_CFLAGS)
976 AC_SUBST(LIBASYNCNS_LIBS)
977 AC_SUBST(HAVE_LIBASYNCNS)
978 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
980 if test "x$HAVE_LIBASYNCNS" != "x0" ; then
981    AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
984 #### TCP wrappers (optional) ####
986 AC_ARG_ENABLE([tcpwrap],
987     AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
988         [
989             case "${enableval}" in
990                 yes) tcpwrap=yes ;;
991                 no) tcpwrap=no ;;
992                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
993             esac
994         ],
995         [tcpwrap=auto])
997 if test "x${tcpwrap}" != xno ; then
998     ACX_LIBWRAP
999     if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
1000         AC_MSG_ERROR([*** TCP wrappers support not found])
1001     fi
1002 else
1003     LIBWRAP_LIBS=
1006 AC_SUBST(LIBWRAP_LIBS)
1008 #### LIRC support (optional) ####
1010 AC_ARG_ENABLE([lirc],
1011     AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
1012         [
1013             case "${enableval}" in
1014                 yes) lirc=yes ;;
1015                 no) lirc=no ;;
1016                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
1017             esac
1018         ],
1019         [lirc=auto])
1021 if test "x${lirc}" != xno ; then
1022     ACX_LIRC
1023     if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
1024         AC_MSG_ERROR([*** LIRC support not found])
1025     fi
1026 else
1027     HAVE_LIRC=0
1030 AC_SUBST(LIRC_CFLAGS)
1031 AC_SUBST(LIRC_LIBS)
1032 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
1034 #### HAL support (optional) ####
1036 AC_ARG_ENABLE([hal],
1037     AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
1038         [
1039             case "${enableval}" in
1040                 yes) hal=yes ;;
1041                 no) hal=no ;;
1042                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
1043             esac
1044         ],
1045         [hal=auto])
1046 if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1047     PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
1048         [
1049             HAVE_HAL=1
1050             AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
1051         ],
1052         [
1053             HAVE_HAL=0
1054             if test "x$hal" = xyes ; then
1055                 AC_MSG_ERROR([*** HAL support not found])
1056             fi
1057         ])
1058 else
1059     HAVE_HAL=0
1062 AC_SUBST(HAL_CFLAGS)
1063 AC_SUBST(HAL_LIBS)
1064 AC_SUBST(HAVE_HAL)
1065 AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
1067 #### UDEV support (optional) ####
1069 AC_ARG_ENABLE([udev],
1070     AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
1071         [
1072             case "${enableval}" in
1073                 yes) udev=yes ;;
1074                 no) udev=no ;;
1075                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
1076             esac
1077         ],
1078         [udev=auto])
1079 if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
1080     PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
1081         [
1082             HAVE_UDEV=1
1083             AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
1084         ],
1085         [
1086             HAVE_UDEV=0
1087             if test "x$udev" = xyes ; then
1088                 AC_MSG_ERROR([*** UDEV support not found])
1089             fi
1090         ])
1091 else
1092     HAVE_UDEV=0
1095 AC_SUBST(UDEV_CFLAGS)
1096 AC_SUBST(UDEV_LIBS)
1097 AC_SUBST(HAVE_UDEV)
1098 AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
1100 AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
1102 #### BlueZ support (optional) ####
1104 AC_ARG_ENABLE([bluez],
1105     AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
1106         [
1107             case "${enableval}" in
1108                 yes) bluez=yes ;;
1109                 no) bluez=no ;;
1110                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
1111             esac
1112         ],
1113         [bluez=auto])
1114 if test "x${bluez}" != xno ; then
1115     PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
1116         HAVE_BLUEZ=1,
1117         [
1118             HAVE_BLUEZ=0
1119             if test "x$bluez" = xyes ; then
1120                 AC_MSG_ERROR([*** BLUEZ support not found])
1121             fi
1122         ])
1123 else
1124     HAVE_BLUEZ=0
1127 AC_SUBST(BLUEZ_CFLAGS)
1128 AC_SUBST(BLUEZ_LIBS)
1129 AC_SUBST(HAVE_BLUEZ)
1130 AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
1132 #### D-Bus support (optional) ####
1134 AC_ARG_ENABLE([dbus],
1135     AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
1136         [
1137             case "${enableval}" in
1138                 yes) dbus=yes ;;
1139                 no) dbus=no ;;
1140                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
1141             esac
1142         ],
1143         [dbus=auto])
1145 if test "x$HAVE_HAL" = x1 ; then
1146    dbus=yes
1149 if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
1151     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
1152         [
1153             HAVE_DBUS=1
1154             saved_LIBS="$LIBS"
1155             LIBS="$LIBS $DBUS_LIBS"
1156             AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
1157             LIBS="$saved_LIBS"
1158             AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
1159         ],
1160         [
1161             HAVE_DBUS=0
1162             if test "x$dbus" = xyes ; then
1163                 AC_MSG_ERROR([*** D-Bus support not found])
1164             fi
1165         ])
1166 else
1167     HAVE_DBUS=0
1170 AC_SUBST(DBUS_CFLAGS)
1171 AC_SUBST(DBUS_LIBS)
1172 AC_SUBST(HAVE_DBUS)
1173 AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
1175 ### IPv6 connection support (optional) ###
1177 AC_ARG_ENABLE([ipv6],
1178     AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
1179         [
1180             case "${enableval}" in
1181                 yes) ipv6=yes ;;
1182                 no) ipv6=no ;;
1183                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
1184             esac
1185         ],
1186         [ipv6=auto])
1188 if test "x${ipv6}" != xno ; then
1189     AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
1190     HAVE_IPV6=1
1191 else
1192     HAVE_IPV6=0
1195 #### OpenSSL support (optional) ####
1197 AC_ARG_ENABLE([openssl],
1198     AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
1199         [
1200             case "${enableval}" in
1201                 yes) openssl=yes ;;
1202                 no) openssl=no ;;
1203                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
1204             esac
1205         ],
1206         [openssl=auto])
1208 if test "x${openssl}" != xno ; then
1210     PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
1211         [
1212             HAVE_OPENSSL=1
1213             AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
1214         ],
1215         [
1216             HAVE_OPENSSL=0
1217             if test "x$openssl" = xyes ; then
1218                 AC_MSG_ERROR([*** OpenSSL support not found])
1219             fi
1220         ])
1221 else
1222     HAVE_OPENSSL=0
1225 AC_SUBST(OPENSSL_CFLAGS)
1226 AC_SUBST(OPENSSL_LIBS)
1227 AC_SUBST(HAVE_OPENSSL)
1228 AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
1230 ### Build and Install man pages ###
1231 AC_ARG_ENABLE(manpages,
1232         AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
1233 [case "${enableval}" in
1234   yes) manpages=yes ;;
1235   no)  manpages=no ;;
1236   *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
1237 esac],[manpages=yes])
1239 AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
1241 #### PulseAudio system group & user  #####
1243 AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
1244 if test -z "$with_system_user" ; then
1245     PA_SYSTEM_USER=pulse
1246 else
1247     PA_SYSTEM_USER=$with_system_user
1249 AC_SUBST(PA_SYSTEM_USER)
1250 AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
1252 AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
1253 if test -z "$with_system_group" ; then
1254     PA_SYSTEM_GROUP=pulse
1255 else
1256     PA_SYSTEM_GROUP=$with_system_group
1258 AC_SUBST(PA_SYSTEM_GROUP)
1259 AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
1261 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)]))
1262 if test -z "$with_access_group" ; then
1263     PA_ACCESS_GROUP=pulse-access
1264 else
1265     PA_ACCESS_GROUP=$with_access_group
1267 AC_SUBST(PA_ACCESS_GROUP)
1268 AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
1270 AC_ARG_ENABLE(
1271         per_user_esound_socket,
1272         AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
1273         [
1274             case "${enableval}" in
1275                 yes) per_user_esound_socket=1 ;;
1276                 no) per_user_esound_socket=0 ;;
1277                 *) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
1278             esac
1279         ],
1280         [per_user_esound_socket=1])
1282 if test "x$per_user_esound_socket" = "x1"; then
1283    AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
1286 #### PulseAudio system runtime dir ####
1287 PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
1288 AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
1289 PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
1290 AC_SUBST(PA_SYSTEM_CONFIG_PATH)
1291 PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
1292 AC_SUBST(PA_SYSTEM_STATE_PATH)
1294 ###################################
1295 #            Output               #
1296 ###################################
1298 AC_ARG_ENABLE([legacy-runtime-dir],
1299         AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
1300 if test "x$enable_legacy_runtime_dir" != "xno" ; then
1301         AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
1304 AC_ARG_ENABLE(
1305         [static-bins],
1306         AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
1307         [STATIC_BINS=1], [STATIC_BINS=0])
1308 AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
1310 AC_ARG_WITH(
1311         [preopen-mods],
1312         AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
1313         [PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
1314 AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
1315 if test "x$PREOPEN_MODS" != "xall" ; then
1316     tmpLIBS=""
1317     for mod in $PREOPEN_MODS; do
1318         tmpLIBS="$tmpLIBS module-$mod.la"
1319     done
1320     PREOPEN_MODS="$tmpLIBS"
1321     AC_SUBST(PREOPEN_MODS)
1324 AC_ARG_WITH(
1325         [module-dir],
1326         AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules]),
1327         [modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules"])
1329 AC_SUBST(modlibexecdir)
1331 AC_ARG_ENABLE(
1332         [force-preopen],
1333         AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
1334         [FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
1335 AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
1337 AC_CONFIG_FILES([
1338 Makefile
1339 src/Makefile
1340 man/Makefile
1341 libpulse.pc
1342 libpulse-simple.pc
1343 libpulse-browse.pc
1344 libpulse-mainloop-glib.pc
1345 doxygen/Makefile
1346 doxygen/doxygen.conf
1347 src/pulse/version.h
1348 po/Makefile.in
1351 AC_OUTPUT
1353 # ==========================================================================
1354 ENABLE_X11=no
1355 if test "x$HAVE_X11" = "x1" ; then
1356    ENABLE_X11=yes
1359 ENABLE_OSS=no
1360 if test "x$HAVE_OSS" = "x1" ; then
1361    ENABLE_OSS=yes
1364 ENABLE_ALSA=no
1365 if test "x$HAVE_ALSA" = "x1" ; then
1366    ENABLE_ALSA=yes
1369 ENABLE_SOLARIS=no
1370 if test "x$HAVE_SOLARIS" = "x1" ; then
1371    ENABLE_SOLARIS=yes
1374 ENABLE_GTK20=no
1375 if test "x$HAVE_GTK20" = "x1" ; then
1376    ENABLE_GTK20=yes
1379 ENABLE_GLIB20=no
1380 if test "x$HAVE_GLIB20" = "x1" ; then
1381    ENABLE_GLIB20=yes
1384 ENABLE_GCONF=no
1385 if test "x$HAVE_GCONF" = "x1" ; then
1386    ENABLE_GCONF=yes
1389 ENABLE_AVAHI=no
1390 if test "x$HAVE_AVAHI" = "x1" ; then
1391    ENABLE_AVAHI=yes
1394 ENABLE_JACK=no
1395 if test "x$HAVE_JACK" = "x1" ; then
1396    ENABLE_JACK=yes
1399 ENABLE_LIBASYNCNS=no
1400 if test "x$HAVE_LIBASYNCNS" = "x1" ; then
1401    ENABLE_LIBASYNCNS=yes
1404 ENABLE_LIRC=no
1405 if test "x$HAVE_LIRC" = "x1" ; then
1406    ENABLE_LIRC=yes
1409 ENABLE_HAL=no
1410 if test "x$HAVE_HAL" = "x1" ; then
1411    ENABLE_HAL=yes
1414 ENABLE_UDEV=no
1415 if test "x$HAVE_UDEV" = "x1" ; then
1416    ENABLE_UDEV=yes
1419 ENABLE_TCPWRAP=no
1420 if test "x${LIBWRAP_LIBS}" != x ; then
1421    ENABLE_TCPWRAP=yes
1424 ENABLE_LIBSAMPLERATE=no
1425 if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
1426    ENABLE_LIBSAMPLERATE=yes
1429 ENABLE_BLUEZ=no
1430 if test "x${HAVE_BLUEZ}" = "x1" ; then
1431    ENABLE_BLUEZ=yes
1434 ENABLE_GDBM=no
1435 if test "x${HAVE_GDBM}" = "x1" ; then
1436    ENABLE_GDBM=yes
1439 ENABLE_TDB=no
1440 if test "x${HAVE_TDB}" = "x1" ; then
1441    ENABLE_TDB=yes
1444 ENABLE_OPENSSL=no
1445 if test "x${HAVE_OPENSSL}" = "x1" ; then
1446    ENABLE_OPENSSL=yes
1449 ENABLE_IPV6=no
1450 if test "x${HAVE_IPV6}" = "x1" ; then
1451    ENABLE_IPV6=yes
1454 ENABLE_PER_USER_ESOUND_SOCKET=no
1455 if test "x$per_user_esound_socket" = "x1" ; then
1456    ENABLE_PER_USER_ESOUND_SOCKET=yes
1459 echo "
1460  ---{ $PACKAGE_NAME $VERSION }---
1462     prefix:                        ${prefix}
1463     sysconfdir:                    ${sysconfdir}
1464     localstatedir:                 ${localstatedir}
1465     System Runtime Path:           ${PA_SYSTEM_RUNTIME_PATH}
1466     System State Path:             ${PA_SYSTEM_STATE_PATH}
1467     System Config Path:            ${PA_SYSTEM_CONFIG_PATH}
1468     Compiler:                      ${CC}
1469     CFLAGS:                        ${CFLAGS}
1471     Have X11:                      ${ENABLE_X11}
1472     Enable OSS:                    ${ENABLE_OSS}
1473     Enable Alsa:                   ${ENABLE_ALSA}
1474     Enable Solaris:                ${ENABLE_SOLARIS}
1475     Enable GLib 2.0:               ${ENABLE_GLIB20}
1476     Enable Gtk+ 2.0:               ${ENABLE_GTK20}
1477     Enable GConf:                  ${ENABLE_GCONF}
1478     Enable Avahi:                  ${ENABLE_AVAHI}
1479     Enable Jack:                   ${ENABLE_JACK}
1480     Enable Async DNS:              ${ENABLE_LIBASYNCNS}
1481     Enable LIRC:                   ${ENABLE_LIRC}
1482     Enable HAL:                    ${ENABLE_HAL}
1483     Enable udev:                   ${ENABLE_UDEV}
1484     Enable BlueZ:                  ${ENABLE_BLUEZ}
1485     Enable TCP Wrappers:           ${ENABLE_TCPWRAP}
1486     Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE}
1487     Enable IPv6:                   ${ENABLE_IPV6}
1488     Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
1489     Enable tdb:                    ${ENABLE_TDB}
1490     Enable gdbm:                   ${ENABLE_GDBM}
1492     System User:                   ${PA_SYSTEM_USER}
1493     System Group:                  ${PA_SYSTEM_GROUP}
1494     Access Group:                  ${PA_ACCESS_GROUP}
1495     Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
1496     Force preopen:                 ${FORCE_PREOPEN}
1497     Preopened modules:             ${PREOPEN_MODS}