2004-06-11 00:33:43 +00:00
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
2006-06-19 21:53:48 +00:00
# This file is part of PulseAudio.
2004-06-11 00:33:43 +00:00
#
2008-03-31 22:23:07 +00:00
# Copyright 2004-2008 Lennart Poettering
2007-02-13 15:35:19 +00:00
# Copyright 2006-2007 Pierre Ossman <ossman@cendio.se> for Cendio AB
#
2006-06-19 21:53:48 +00:00
# PulseAudio is free software; you can redistribute it and/or modify it
2004-11-14 14:58:54 +00:00
# under the terms of the GNU Lesser General Public License as published by
2004-06-11 00:33:43 +00:00
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
2006-06-19 21:53:48 +00:00
# PulseAudio is distributed in the hope that it will be useful, but
2004-06-11 00:33:43 +00:00
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
2004-11-14 14:58:54 +00:00
# You should have received a copy of the GNU Lesser General Public License
2006-06-19 21:53:48 +00:00
# along with PulseAudio; if not, write to the Free Software Foundation,
2004-06-11 00:33:43 +00:00
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
2008-12-16 14:25:31 +01:00
AC_PREREQ(2.63)
2006-05-19 17:40:44 +00:00
2009-04-23 19:23:11 +03:00
AC_INIT([pulseaudio], m4_esyscmd([./git-version-gen .tarball-version]),
[mzchyfrnhqvb (at) 0pointer (dot) net])
2006-02-16 19:19:58 +00:00
AC_CONFIG_SRCDIR([src/daemon/main.c])
2008-08-08 12:18:53 +02:00
AC_CONFIG_MACRO_DIR([m4])
2004-06-11 00:33:43 +00:00
AC_CONFIG_HEADERS([config.h])
2009-06-23 01:36:29 +02:00
AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax])
2004-06-11 00:33:43 +00:00
2009-06-23 17:40:33 +02:00
m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
m4_define(pa_micro, `echo $VERSION | cut -d. -f3 | cut -d- -f1`)
2009-04-23 19:23:11 +03:00
2009-01-27 02:16:20 +01:00
AC_SUBST(PA_MAJOR, pa_major)
AC_SUBST(PA_MINOR, pa_minor)
AC_SUBST(PA_MICRO, pa_micro)
AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
AC_SUBST(PA_MAJORMINORMICRO, pa_major.pa_minor.pa_micro)
2007-10-28 19:13:50 +00:00
AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
2004-06-11 00:33:43 +00:00
2008-07-23 22:44:41 +02:00
AC_SUBST(PA_API_VERSION, 12)
2009-06-17 04:54:11 +02:00
AC_SUBST(PA_PROTOCOL_VERSION, 16)
2004-09-29 19:13:55 +00:00
2007-11-01 22:51:46 +00:00
# The stable ABI for client applications, for the version info x:y:z
# always will hold y=z
2009-02-04 21:44:25 +01:00
AC_SUBST(LIBPULSE_VERSION_INFO, [8:0:8])
2007-11-01 22:51:46 +00:00
# A simplified, synchronous, ABI-stable interface for client
# applications, for the version info x:y:z always will hold y=z
2008-09-09 02:28:22 +03:00
AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:2:0])
2007-11-01 22:51:46 +00:00
# The ABI-stable network browsing interface for client applications,
# for the version info x:y:z always will hold y=z
2007-10-30 16:02:25 +00:00
AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
2007-11-01 22:51:46 +00:00
# The ABI-stable GLib adapter for client applications, for the version
# info x:y:z always will hold y=z
2008-09-09 02:28:22 +03:00
AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
2006-05-16 17:54:33 +00:00
2007-02-12 09:39:12 +00:00
AC_CANONICAL_HOST
2008-08-03 23:21:06 +02:00
AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
2007-02-12 09:39:12 +00:00
2004-06-11 00:33:43 +00:00
if type -p stow > /dev/null && test -d /usr/local/stow ; then
AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
fi
2006-04-18 14:09:56 +00:00
#### Platform hacks ####
case $host in
*-*-solaris* )
2009-02-26 16:48:58 +11:00
AC_DEFINE(_XOPEN_SOURCE, 600, Needed to get declarations for msg_control and msg_controllen on Solaris)
2006-04-18 14:09:56 +00:00
AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
;;
esac
2009-06-22 23:03:43 +02:00
AM_SILENT_RULES([yes])
2006-01-10 17:51:06 +00:00
#### Checks for programs. ####
2007-11-23 21:49:05 +00:00
# mkdir -p
AC_PROG_MKDIR_P
2006-01-10 17:51:06 +00:00
# CC
2004-06-11 00:33:43 +00:00
AC_PROG_CC
2008-08-08 13:04:27 +02:00
AC_PROG_CC_C99
2007-08-04 19:53:51 +00:00
AM_PROG_CC_C_O
2006-01-10 17:51:06 +00:00
AC_PROG_GCC_TRADITIONAL
2008-08-19 00:17:49 +02:00
AC_USE_SYSTEM_EXTENSIONS
2006-01-10 17:51:06 +00:00
# M4
2009-02-26 16:48:58 +11:00
AC_CHECK_PROGS([M4], gm4 m4, no)
2006-01-10 17:51:06 +00:00
if test "x$M4" = xno ; then
AC_MSG_ERROR([m4 missing])
fi
2008-08-08 13:29:53 +02:00
dnl Compiler flags
2009-06-24 17:45:58 +02:00
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])
2007-10-28 19:13:50 +00:00
2009-03-05 13:59:59 +01:00
dnl Linker flags.
dnl Check whether the linker supports the -version-script option.
dnl This variable is used to make sure ${srcdir} is expanded and not
dnl passed to the CC_CHECK_LDFLAGS macro as a name.
tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file"
CC_CHECK_LDFLAGS([${tmp_ldflag}],
[VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])
AC_SUBST([VERSIONING_LDFLAGS])
2009-06-24 17:39:25 +02:00
dnl Check for the proper way to build libraries that have no undefined
dnl symbols; on some hosts this needs to be avoided but the macro
dnl takes care of it.
CC_NOUNDEFINED
2009-01-20 00:55:39 +01:00
dnl Check whether to build tests by default (as compile-test) or not
AC_ARG_ENABLE([default-build-tests],
AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check]))
2009-01-22 16:41:45 +01:00
AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
2009-01-20 00:55:39 +01:00
2008-03-26 21:15:52 +00:00
# Native atomic operation support
AC_ARG_ENABLE([atomic-arm-linux-helpers],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]),
2008-03-26 21:15:52 +00:00
[
case "${enableval}" in
yes) atomic_arm_linux_helpers=yes ;;
no) atomic_arm_linux_helpers=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
esac
],
[atomic_arm_linux_helpers=auto])
AC_ARG_ENABLE([atomic-arm-memory-barrier],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]),
2008-03-26 21:15:52 +00:00
[
case "${enableval}" in
yes) AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers]) ;;
no) ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-atomic-arm-linux-helpers) ;;
esac
],)
2009-01-22 01:52:35 +01:00
AC_ARG_ENABLE([netbsd-atomic-ops],
AS_HELP_STRING([--enable-netbsd-atomic-ops],[Use the native NetBSD atomic_ops implementation]),
[
case "${enableval}" in
yes) atomic_netbsd_helpers=yes ;;
no) atomic_netbsd_helpers=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-netbsd-atomic-ops) ;;
esac
],
[atomic_netbsd_helpers=auto])
2008-03-26 21:15:52 +00:00
AC_MSG_CHECKING([target operating system])
case $host in
2009-01-22 01:52:35 +01:00
*-*-linux*)
AC_MSG_RESULT([linux])
pulse_target_os=linux
;;
*-*-netbsd*)
AC_MSG_RESULT([netbsd])
pulse_target_os=netbsd
;;
*)
AC_MSG_RESULT([unknown])
pulse_target_os=unknown
;;
2008-03-26 21:15:52 +00:00
esac
# If everything else fails use libatomic_ops
need_libatomic_ops=yes
2008-08-08 14:43:37 +02:00
AC_CACHE_CHECK([whether $CC knows __sync_bool_compare_and_swap()],
pulseaudio_cv_sync_bool_compare_and_swap,
[AC_LINK_IFELSE(
AC_LANG_PROGRAM([], [[int a = 4; __sync_bool_compare_and_swap(&a, 4, 5);]]),
[pulseaudio_cv_sync_bool_compare_and_swap=yes],
[pulseaudio_cv_sync_bool_compare_and_swap=no])
])
if test "$pulseaudio_cv_sync_bool_compare_and_swap" = "yes" ; then
2007-10-28 19:13:50 +00:00
AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
2008-03-26 21:15:52 +00:00
need_libatomic_ops=no
2007-10-28 19:13:50 +00:00
else
2008-03-27 20:34:04 +00:00
# HW specific atomic ops stuff
2008-03-26 21:15:52 +00:00
AC_MSG_CHECKING([architecture for native atomic operations])
2008-03-27 20:34:04 +00:00
case $host_cpu in
2008-03-26 21:15:52 +00:00
arm*)
2009-01-22 01:52:35 +01:00
AC_MSG_RESULT([arm])
AC_MSG_CHECKING([whether we can use Linux kernel helpers])
# The Linux kernel helper functions have been there since 2.6.16. However
# compile time checking for kernel version in cross compile environment
# (which is usually the case for arm cpu) is tricky (or impossible).
if test "x$pulse_target_os" = "xlinux" && test "x$atomic_arm_linux_helpers" != "xno"; then
AC_MSG_RESULT([yes])
AC_DEFINE_UNQUOTED(ATOMIC_ARM_LINUX_HELPERS, 1, [special arm linux implementation])
need_libatomic_ops=no
else
AC_MSG_RESULT([no])
AC_CACHE_CHECK([compiler support for arm inline asm atomic operations],
pulseaudio_cv_support_arm_atomic_ops,
[AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([],
[[volatile int a=0;
int o=0, n=1, r;
asm volatile ("ldrex %0, [%1]\n"
"subs %0, %0, %2\n"
"strexeq %0, %3, [%1]\n"
: "=&r" (r)
: "r" (&a), "Ir" (o), "r" (n)
: "cc");
2008-08-08 14:43:37 +02:00
return (a==1 ? 0 : -1);
2009-01-22 01:52:35 +01:00
]]),
[pulseaudio_cv_support_arm_atomic_ops=yes],
[pulseaudio_cv_support_arm_atomic_ops=no])
])
AS_IF([test "$pulseaudio_cv_support_arm_atomic_ops" = "yes"], [
AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARMv6 instructions.])
need_libatomic_ops=no
])
fi
;;
2008-03-26 21:15:52 +00:00
*)
2009-01-22 01:52:35 +01:00
if test "x$pulse_target_os" = "xnetbsd" && test "x$atomic_netbsd_helpers" = "xyes"; then
AC_MSG_RESULT([yes])
AC_DEFINE_UNQUOTED(NETBSD_ATOMIC_OPS, 1, [netbsd implementation])
need_libatomic_ops=no
else
AC_MSG_RESULT([unknown])
fi
2008-03-26 21:15:52 +00:00
;;
esac
2007-10-28 19:13:50 +00:00
fi
2008-08-08 14:03:54 +02:00
CC_CHECK_TLS
2007-10-28 19:13:50 +00:00
2008-08-08 14:43:37 +02:00
AC_CACHE_CHECK([whether $CC knows _Bool],
pulseaudio_cv__Bool,
[AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([], [[_Bool b;]]),
[pulseaudio_cv__Bool=yes],
[pulseaudio_cv__Bool=no])
])
2007-10-28 19:13:50 +00:00
2008-08-08 14:43:37 +02:00
AS_IF([test "$pulseaudio_cv__Bool" = "yes"], [
2007-10-28 19:13:50 +00:00
AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.])
2008-08-08 14:43:37 +02:00
])
2006-01-10 18:04:54 +00:00
2006-01-10 17:51:06 +00:00
#### libtool stuff ####
2008-12-16 14:25:31 +01:00
LT_PREREQ(2.2)
LT_INIT([dlopen win32-dll disable-static])
2009-01-22 16:37:40 +01:00
dnl Unfortunately, even up to libtool 2.2.6a there is no way to know
dnl exactly which version of libltdl is present in the system, so we
dnl just assume that it's a working version as long as we have the
dnl library and the header files.
dnl
2009-01-22 20:02:42 +01:00
dnl As an extra safety device, check for lt_dladvise_init() which is
dnl only implemented in libtool 2.x, and refine as we go if we have
dnl refined requirements.
dnl
2009-01-22 16:37:40 +01:00
dnl Check the header files first since the system may have a
dnl libltdl.so for runtime, but no headers, and we want to bail out as
dnl soon as possible.
dnl
dnl We don't need any special variable for this though, since the user
dnl can give the proper place to find libltdl through the standard
dnl variables like LDFLAGS and CPPFLAGS.
AC_CHECK_HEADER([ltdl.h],
2009-01-22 20:02:42 +01:00
[AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
2009-01-22 16:37:40 +01:00
[LIBLTDL=])
AS_IF([test "x$LIBLTDL" = "x"],
2009-06-13 17:27:42 +02:00
[AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
2009-01-22 16:37:40 +01:00
AC_SUBST([LIBLTDL])
2005-09-16 00:02:10 +00:00
2006-01-10 17:51:06 +00:00
#### Determine build environment ####
os_is_win32=0
case "$host_os" in
2009-01-22 01:52:35 +01:00
mingw*)
2006-01-10 17:51:06 +00:00
AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
os_is_win32=1
2009-01-22 01:52:35 +01:00
;;
esac
2006-01-10 17:51:06 +00:00
AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
###################################
# Basic environment checks #
###################################
#### Checks for header files. ####
# ISO
2004-08-17 17:56:09 +00:00
AC_HEADER_STDC
2006-01-10 17:51:06 +00:00
# POSIX
2009-05-17 23:25:23 +02:00
AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
2007-10-28 19:13:50 +00:00
netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
2006-08-22 11:41:14 +00:00
sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
2009-01-22 01:37:19 +01:00
sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
2006-09-02 12:45:53 +00:00
AC_CHECK_HEADERS([netinet/ip.h], [], [],
2009-01-22 01:52:35 +01:00
[#include <sys/types.h>
#if HAVE_NETINET_IN_H
# include <netinet/in.h>
#endif
#if HAVE_NETINET_IN_SYSTM_H
# include <netinet/in_systm.h>
#endif
])
2006-01-10 17:51:06 +00:00
AC_CHECK_HEADERS([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
2004-09-12 23:29:54 +00:00
2006-01-10 17:51:06 +00:00
AM_CONDITIONAL(HAVE_REGEX, test "x$HAVE_REGEX" = "x1")
AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
# Linux
AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
2009-05-17 23:25:23 +02:00
AC_CHECK_HEADERS_ONCE([sys/prctl.h])
2006-07-14 00:17:31 +00:00
2006-04-18 14:09:56 +00:00
# Solaris
2009-05-17 23:25:23 +02:00
AC_CHECK_HEADERS_ONCE([sys/filio.h])
2006-04-18 14:09:56 +00:00
2006-01-10 17:51:06 +00:00
# Windows
2009-05-17 23:25:23 +02:00
AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
2006-01-10 17:51:06 +00:00
2009-01-22 01:52:35 +01:00
# NetBSD
2009-05-17 23:25:23 +02:00
AC_CHECK_HEADERS_ONCE([sys/atomic.h])
2009-01-22 01:52:35 +01:00
2006-01-10 17:51:06 +00:00
# Other
2009-05-17 23:25:23 +02:00
AC_CHECK_HEADERS_ONCE([sys/ioctl.h])
AC_CHECK_HEADERS_ONCE([byteswap.h])
AC_CHECK_HEADERS_ONCE([sys/syscall.h])
AC_CHECK_HEADERS_ONCE([sys/eventfd.h])
AC_CHECK_HEADERS_ONCE([execinfo.h])
2006-01-10 17:51:06 +00:00
#### Typdefs, structures, etc. ####
2004-08-17 17:56:09 +00:00
AC_C_CONST
2006-01-10 17:51:06 +00:00
AC_C_BIGENDIAN
2004-08-17 17:56:09 +00:00
AC_TYPE_PID_T
AC_TYPE_SIZE_T
2006-01-10 17:51:06 +00:00
AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
[Define ssize_t if it is not done by the standard libs.])])
2004-09-05 00:03:16 +00:00
AC_TYPE_OFF_T
2008-12-16 14:25:31 +01:00
2004-11-01 23:37:36 +00:00
AC_TYPE_UID_T
2008-05-15 23:34:41 +00:00
AC_CHECK_DECLS(environ)
2004-08-17 17:56:09 +00:00
2006-06-02 22:56:20 +00:00
AC_CHECK_DEFINE([SIGXCPU], [signal.h], [
HAVE_SIGXCPU=1
AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?])
], [HAVE_SIGXCPU=0])
2006-01-10 17:51:06 +00:00
AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
# Solaris lacks this
AC_CHECK_DEFINE([INADDR_NONE], [netinet/in.h], [],
2006-06-12 12:52:37 +00:00
[AC_CHECK_DEFINE([INADDR_NONE], [winsock2.h], [],
[AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
2006-01-10 17:51:06 +00:00
2007-07-10 14:36:20 +00:00
#### POSIX threads ####
ACX_PTHREAD
2006-01-10 17:51:06 +00:00
#### Check for libs ####
# ISO
2006-01-25 17:25:28 +00:00
AC_SEARCH_LIBS([pow], [m])
2006-01-10 17:51:06 +00:00
# POSIX
2006-01-25 17:25:28 +00:00
AC_SEARCH_LIBS([sched_setscheduler], [rt])
2006-05-24 15:38:11 +00:00
AC_SEARCH_LIBS([dlopen], [dl])
2006-08-22 11:41:14 +00:00
AC_SEARCH_LIBS([shm_open], [rt])
2007-07-10 15:20:39 +00:00
AC_SEARCH_LIBS([inet_ntop], [nsl])
2008-02-15 13:21:14 +00:00
AC_SEARCH_LIBS([timer_create], [rt])
2006-01-10 17:51:06 +00:00
# BSD
2006-01-25 17:25:28 +00:00
AC_SEARCH_LIBS([connect], [socket])
2006-01-10 17:51:06 +00:00
# Non-standard
# This magic is needed so we do not needlessly add static libs to the win32
# build, disabling its ability to make dlls.
AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
#### Check for functions ####
2007-10-28 19:13:50 +00:00
# ISO
2009-05-17 23:25:23 +02:00
AC_CHECK_FUNCS_ONCE([lrintf strtof])
2007-10-28 19:13:50 +00:00
2006-01-10 17:51:06 +00:00
# POSIX
AC_FUNC_FORK
2004-11-01 23:37:36 +00:00
AC_FUNC_GETGROUPS
2006-01-10 17:51:06 +00:00
AC_FUNC_SELECT_ARGTYPES
2009-05-17 23:25:23 +02:00
AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
2009-01-22 02:15:50 +01:00
getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
2007-10-28 19:13:50 +00:00
pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
2009-01-22 22:50:03 +01:00
sigaction sleep sysconf pthread_setaffinity_np])
2006-01-10 17:51:06 +00:00
AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
2004-07-03 00:20:06 +00:00
2006-01-10 17:51:06 +00:00
AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
# X/OPEN
2009-05-17 23:25:23 +02:00
AC_CHECK_FUNCS_ONCE([readlink])
2006-01-10 17:51:06 +00:00
# SUSv2
2009-05-17 23:25:23 +02:00
AC_CHECK_FUNCS_ONCE([ctime_r usleep])
2004-09-23 15:47:11 +00:00
2006-05-22 15:20:46 +00:00
# SUSv3
2009-05-17 23:25:23 +02:00
AC_CHECK_FUNCS_ONCE([strerror_r])
2006-05-22 15:20:46 +00:00
2006-01-10 17:51:06 +00:00
# BSD
2009-05-17 23:25:23 +02:00
AC_CHECK_FUNCS_ONCE([lstat])
2006-01-10 17:51:06 +00:00
# Non-standard
2004-09-23 15:47:11 +00:00
2009-05-17 23:25:23 +02:00
AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
2007-10-28 19:13:50 +00:00
2008-06-27 22:26:00 +02:00
AC_FUNC_ALLOCA
2008-08-08 14:43:37 +02:00
AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
pulseaudio_cv_PTHREAD_PRIO_INHERIT,
[save_CC=$CC; CC=$PTHREAD_CC
save_CFLAGS=$CFLAGS; CFLAGS=$PTHREAD_CFLAGS
save_LIBS=$LIBS; LIBS=$PTHREAD_LIBS
AC_LINK_IFELSE(
AC_LANG_PROGRAM(
[[
#include <pthread.h>
]],
[[int i = PTHREAD_PRIO_INHERIT;]]),
[pulseaudio_cv_PTHREAD_PRIO_INHERIT=yes],
[pulseaudio_cv_PTHREAD_PRIO_INHERIT=no])
CC=$save_CC
CFLAGS=$save_CFLAGS
LIBS=$save_LIBS
])
AS_IF([test "$pulseaudio_cv_PTHREAD_PRIO_INHERIT" = "yes"], [
2007-10-28 19:13:50 +00:00
AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])
2008-08-08 14:43:37 +02:00
])
2006-08-19 17:30:30 +00:00
2008-08-29 20:08:55 +02:00
AC_DEFINE_UNQUOTED(PA_CFLAGS,"$CFLAGS", [The CFLAGS used during compilation])
2006-04-16 09:12:31 +00:00
#### Large File-Support (LFS) ####
AC_SYS_LARGEFILE
2006-07-16 23:20:27 +00:00
# Check for open64 to know if the current system does have open64() and similar functions
2009-05-17 23:25:23 +02:00
AC_CHECK_FUNCS_ONCE([open64])
2006-07-16 23:20:27 +00:00
2006-06-12 14:18:19 +00:00
#### [lib]iconv ####
AM_ICONV
2008-08-06 18:54:13 +02:00
IT_PROG_INTLTOOL([0.35.0])
GETTEXT_PACKAGE=pulseaudio
AC_SUBST([GETTEXT_PACKAGE])
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
AM_GLIB_GNU_GETTEXT
pulselocaledir='${prefix}/${DATADIRNAME}/locale'
AC_SUBST(pulselocaledir)
2006-01-10 17:51:06 +00:00
###################################
# External libraries #
###################################
2009-01-07 16:33:43 +02:00
#### pkg-config ####
PKG_PROG_PKG_CONFIG
2006-01-10 17:51:06 +00:00
#### X11 (optional) ####
2009-01-07 16:33:43 +02:00
AC_ARG_ENABLE([x11],
AS_HELP_STRING([--disable-x11],[Disable optional X11 support]),
[
case "${enableval}" in
yes) x11=yes ;;
no) x11=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-x11) ;;
esac
],
[x11=auto])
2006-01-10 17:51:06 +00:00
2009-01-07 16:33:43 +02:00
if test "x${x11}" != xno ; then
2009-02-13 02:39:07 +01:00
PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
2009-01-07 16:33:43 +02:00
HAVE_X11=1,
[
HAVE_X11=0
if test "x$x11" = xyes ; then
AC_MSG_ERROR([*** X11 not found])
fi
])
else
HAVE_X11=0
2006-01-10 17:51:06 +00:00
fi
2009-01-07 16:33:43 +02:00
if test "x${HAVE_X11}" = x1 ; then
AC_DEFINE([HAVE_X11], 1, [Have X11?])
2006-01-10 17:51:06 +00:00
fi
2009-01-07 16:33:43 +02:00
AC_SUBST(X11_CFLAGS)
AC_SUBST(X11_LIBS)
AC_SUBST(HAVE_X11)
AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
2006-01-10 17:51:06 +00:00
#### Capabilities (optional) ####
CAP_LIBS=''
AC_ARG_WITH(
[caps],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
2006-01-10 17:51:06 +00:00
if test "x${with_caps}" != "xno"; then
2006-06-02 15:30:04 +00:00
AC_SEARCH_LIBS([cap_init], [cap], [], [
if test "x${with_caps}" = "xyes" ; then
AC_MSG_ERROR([*** POSIX caps libraries not found])
fi])
AC_CHECK_HEADERS([sys/capability.h], [], [
if test "x${with_caps}" = "xyes" ; then
AC_MSG_ERROR([*** POSIX caps headers not found])
fi])
2006-01-10 17:51:06 +00:00
fi
2008-08-18 19:55:55 +02:00
#### Valgrind (optional) ####
2009-05-17 23:25:23 +02:00
AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
2008-08-18 19:55:55 +02:00
2006-01-10 17:51:06 +00:00
#### Sound file ####
2009-06-06 17:02:57 +02:00
PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
2004-08-03 19:26:56 +00:00
AC_SUBST(LIBSNDFILE_CFLAGS)
AC_SUBST(LIBSNDFILE_LIBS)
2008-06-28 02:20:14 +02:00
PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ])
AC_SUBST(LIBSPEEX_CFLAGS)
AC_SUBST(LIBSPEEX_LIBS)
2006-08-29 01:15:09 +00:00
#### atomic-ops ###
2008-03-27 20:34:04 +00:00
AC_MSG_CHECKING([whether we need libatomic_ops])
2008-03-26 21:15:52 +00:00
if test "x$need_libatomic_ops" = "xyes"; then
AC_MSG_RESULT([yes])
AC_CHECK_HEADERS([atomic_ops.h], [], [
AC_MSG_ERROR([*** libatomic-ops headers not found])
])
# Win32 does not need the lib and breaks horribly if we try to include it
if test "x$os_is_win32" != "x1" ; then
LIBS="$LIBS -latomic_ops"
fi
else
AC_MSG_RESULT([no])
2006-08-31 16:39:53 +00:00
fi
2006-08-30 16:55:37 +00:00
2007-10-28 19:13:50 +00:00
#### Libsamplerate support (optional) ####
AC_ARG_ENABLE([samplerate],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]),
2007-10-28 19:13:50 +00:00
[
case "${enableval}" in
yes) samplerate=yes ;;
no) samplerate=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-samplerate) ;;
esac
],
[samplerate=auto])
if test "x${samplerate}" != xno ; then
PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ],
HAVE_LIBSAMPLERATE=1,
[
HAVE_LIBSAMPLERATE=0
if test "x$samplerate" = xyes ; then
AC_MSG_ERROR([*** Libsamplerate not found])
fi
])
else
HAVE_LIBSAMPLERATE=0
fi
if test "x${HAVE_LIBSAMPLERATE}" = x1 ; then
AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?])
fi
AC_SUBST(LIBSAMPLERATE_CFLAGS)
AC_SUBST(LIBSAMPLERATE_LIBS)
AC_SUBST(HAVE_LIBSAMPLERATE)
AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
2009-05-14 01:24:26 +02:00
#### Database support ####
HAVE_TDB=0
HAVE_GDBM=0
AC_ARG_WITH(
[database],
AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
2009-05-15 22:43:56 +02:00
if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
2009-05-14 01:24:26 +02:00
PKG_CHECK_MODULES(TDB, [ tdb ],
[
HAVE_TDB=1
with_database=tdb
], [
2009-05-15 22:43:56 +02:00
if test "x${with_database}" = "xtdb" ; then
2009-05-14 01:24:26 +02:00
AC_MSG_ERROR([*** tdb not found])
fi
])
fi
2009-05-15 22:43:56 +02:00
if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then
2009-05-14 01:24:26 +02:00
have_gdbm=yes
AC_CHECK_LIB(gdbm, gdbm_open, [], [have_gdbm=no])
AC_CHECK_HEADERS(gdbm.h, [], [have_gdbm=no])
2009-05-15 22:43:56 +02:00
if test "x${have_gdbm}" = "xyes" ; then
2009-05-14 01:24:26 +02:00
HAVE_GDBM=1
GDBM_CFLAGS=
GDBM_LIBS=-lgdbm
with_database=gdbm
2009-05-15 22:43:56 +02:00
elif test "x${with_database}" = "xgdbm"; then
2009-05-14 01:24:26 +02:00
AC_MSG_ERROR([*** gdbm not found])
fi
fi
if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
AC_MSG_ERROR([*** missing database backend])
fi
if test "x${HAVE_TDB}" = x1 ; then
AC_DEFINE([HAVE_TDB], 1, [Have tdb?])
fi
if test "x${HAVE_GDBM}" = x1 ; then
AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
fi
AC_SUBST(TDB_CFLAGS)
AC_SUBST(TDB_LIBS)
AC_SUBST(HAVE_TDB)
AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
AC_SUBST(GDBM_CFLAGS)
AC_SUBST(GDBM_LIBS)
AC_SUBST(HAVE_GDBM)
AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
2006-01-10 17:51:06 +00:00
#### OSS support (optional) ####
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([oss],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
2006-06-12 12:19:24 +00:00
[
case "${enableval}" in
yes) oss=yes ;;
no) oss=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
esac
],
[oss=auto])
2006-06-02 15:30:04 +00:00
if test "x${oss}" != xno ; then
2006-06-12 12:19:24 +00:00
AC_CHECK_HEADERS([sys/soundcard.h],
[
HAVE_OSS=1
AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
],
[
HAVE_OSS=0
if test "x$oss" = xyes ; then
AC_MSG_ERROR([*** OSS support not found])
fi
])
else
HAVE_OSS=0
fi
2006-01-10 17:51:06 +00:00
AC_SUBST(HAVE_OSS)
AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
2006-02-16 01:16:39 +00:00
2006-01-10 17:51:06 +00:00
#### ALSA support (optional) ####
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([alsa],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]),
2006-06-12 12:19:24 +00:00
[
case "${enableval}" in
yes) alsa=yes ;;
no) alsa=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
esac
],
[alsa=auto])
2006-06-02 15:30:04 +00:00
if test "x${alsa}" != xno ; then
2009-02-18 21:44:30 +01:00
PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
2006-06-12 12:19:24 +00:00
[
HAVE_ALSA=1
AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
],
[
HAVE_ALSA=0
if test "x$alsa" = xyes ; then
2009-02-18 21:44:30 +01:00
AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
2006-06-12 12:19:24 +00:00
fi
])
else
HAVE_ALSA=0
fi
2004-07-16 00:27:02 +00:00
AC_SUBST(ASOUNDLIB_CFLAGS)
2007-10-28 19:13:50 +00:00
AC_SUBST(ASOUNDLIB_LIBS)
2004-09-12 23:29:54 +00:00
AC_SUBST(HAVE_ALSA)
AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
2004-07-16 00:27:02 +00:00
2006-01-10 17:51:06 +00:00
#### Solaris audio support (optional) ####
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([solaris],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]),
2006-06-12 12:19:24 +00:00
[
case "${enableval}" in
yes) solaris=yes ;;
no) solaris=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-solaris) ;;
esac
],
[solaris=auto])
2006-06-02 15:30:04 +00:00
if test "x${solaris}" != xno ; then
2006-06-12 12:19:24 +00:00
AC_CHECK_HEADERS([sys/audio.h],
[
HAVE_SOLARIS=1
AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?])
],
[
HAVE_SOLARIS=0
if test "x$solaris" = xyes ; then
AC_MSG_ERROR([*** Solaris audio support not found])
fi
])
else
HAVE_SOLARIS=0
fi
2006-01-10 17:51:06 +00:00
AC_SUBST(HAVE_SOLARIS)
AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
#### GLib 2 support (optional) ####
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([glib2],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]),
2006-06-12 12:19:24 +00:00
[
case "${enableval}" in
yes) glib2=yes ;;
no) glib2=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-glib2) ;;
esac
],
[glib2=auto])
2006-06-02 15:30:04 +00:00
if test "x${glib2}" != xno ; then
2006-06-12 12:19:24 +00:00
PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ],
HAVE_GLIB20=1,
[
HAVE_GLIB20=0
if test "x$glib2" = xyes ; then
AC_MSG_ERROR([*** GLib 2 support not found])
fi
])
else
HAVE_GLIB20=0
fi
2004-08-05 19:53:57 +00:00
AC_SUBST(GLIB20_CFLAGS)
AC_SUBST(GLIB20_LIBS)
2004-09-12 23:29:54 +00:00
AC_SUBST(HAVE_GLIB20)
AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
2004-08-05 19:53:57 +00:00
2009-02-13 18:19:10 +01:00
if test "x$HAVE_GLIB20" = x1 ; then
AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?])
fi
#### GTK2 support (optional) ####
AC_ARG_ENABLE([gtk2],
AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]),
[
case "${enableval}" in
yes) gtk2=yes ;;
no) gtk2=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-gtk2) ;;
esac
],
[gtk2=auto])
if test "x${gtk2}" != xno ; then
PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ],
HAVE_GTK20=1,
[
HAVE_GTK20=0
if test "x$gtk2" = xyes ; then
AC_MSG_ERROR([*** Gtk+ 2 support not found])
fi
])
else
HAVE_GTK20=0
fi
AC_SUBST(GTK20_CFLAGS)
AC_SUBST(GTK20_LIBS)
AC_SUBST(HAVE_GTK20)
AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
if test "x$HAVE_GTK20" = x1 ; then
AC_DEFINE([HAVE_GTK], 1, [Have GTK?])
fi
2006-07-26 17:46:51 +00:00
#### GConf support (optional) ####
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([gconf],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]),
2006-07-26 17:46:51 +00:00
[
case "${enableval}" in
yes) gconf=yes ;;
no) gconf=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
esac
],
2008-07-21 18:53:30 +02:00
[gconf=auto])
2006-07-26 17:46:51 +00:00
if test "x${gconf}" != xno ; then
PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
HAVE_GCONF=1,
[
HAVE_GCONF=0
if test "x$gconf" = xyes ; then
AC_MSG_ERROR([*** GConf support not found])
fi
])
else
HAVE_GCONF=0
fi
AC_SUBST(GCONF_CFLAGS)
AC_SUBST(GCONF_LIBS)
AC_SUBST(HAVE_GCONF)
AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
2006-07-13 15:51:49 +00:00
#### Avahi support (optional) ####
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([avahi],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]),
2006-07-13 15:51:49 +00:00
[
case "${enableval}" in
yes) avahi=yes ;;
no) avahi=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-avahi) ;;
esac
],
[avahi=auto])
if test "x${avahi}" != xno ; then
PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ],
HAVE_AVAHI=1,
[
HAVE_AVAHI=0
if test "x$avahi" = xyes ; then
AC_MSG_ERROR([*** Avahi support not found])
fi
])
else
HAVE_AVAHI=0
fi
AC_SUBST(AVAHI_CFLAGS)
AC_SUBST(AVAHI_LIBS)
AC_SUBST(HAVE_AVAHI)
AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
2006-04-17 00:11:04 +00:00
### LIBOIL ####
2006-01-27 16:25:31 +00:00
PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
AC_SUBST(LIBOIL_CFLAGS)
AC_SUBST(LIBOIL_LIBS)
2006-04-18 14:11:02 +00:00
### JACK (optional) ####
2006-04-17 00:11:04 +00:00
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([jack],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-jack],[Disable optional JACK support]),
2006-06-12 12:19:24 +00:00
[
case "${enableval}" in
yes) jack=yes ;;
no) jack=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-jack) ;;
esac
],
[jack=auto])
2006-06-02 15:30:04 +00:00
if test "x${jack}" != xno ; then
2006-06-12 12:19:24 +00:00
PKG_CHECK_MODULES(JACK, [ jack >= 0.100 ],
HAVE_JACK=1,
[
HAVE_JACK=0
if test "x$jack" = xyes ; then
AC_MSG_ERROR([*** JACK support not found])
fi
])
else
HAVE_JACK=0
fi
2006-04-17 00:11:04 +00:00
AC_SUBST(JACK_CFLAGS)
AC_SUBST(JACK_LIBS)
AC_SUBST(HAVE_JACK)
AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
2006-01-10 17:51:06 +00:00
#### Async DNS support (optional) ####
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([asyncns],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]),
2006-06-12 12:19:24 +00:00
[
case "${enableval}" in
yes) asyncns=yes ;;
no) asyncns=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-asyncns) ;;
esac
],
[asyncns=auto])
2006-06-02 15:30:04 +00:00
if test "x${asyncns}" != xno ; then
2006-06-12 12:19:24 +00:00
PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ],
HAVE_LIBASYNCNS=1,
[
HAVE_LIBASYNCNS=0
if test "x$asyncns" = xyes ; then
AC_MSG_ERROR([*** Async DNS support not found])
fi
])
else
HAVE_LIBASYNCNS=0
fi
2005-01-08 01:15:11 +00:00
AC_SUBST(LIBASYNCNS_CFLAGS)
AC_SUBST(LIBASYNCNS_LIBS)
AC_SUBST(HAVE_LIBASYNCNS)
AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
if test "x$HAVE_LIBASYNCNS" != "x0" ; then
AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])
fi
2006-01-10 17:51:06 +00:00
#### TCP wrappers (optional) ####
2004-11-07 20:48:46 +00:00
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([tcpwrap],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
2006-06-12 12:19:24 +00:00
[
case "${enableval}" in
yes) tcpwrap=yes ;;
no) tcpwrap=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
esac
],
[tcpwrap=auto])
2006-06-02 15:30:04 +00:00
if test "x${tcpwrap}" != xno ; then
ACX_LIBWRAP
if test "x${LIBWRAP_LIBS}" = x && test "x$tcpwrap" = xyes ; then
AC_MSG_ERROR([*** TCP wrappers support not found])
fi
2006-06-12 12:19:24 +00:00
else
LIBWRAP_LIBS=
fi
2004-09-29 20:13:05 +00:00
AC_SUBST(LIBWRAP_LIBS)
2006-01-10 17:51:06 +00:00
#### LIRC support (optional) ####
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([lirc],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]),
2006-06-12 12:19:24 +00:00
[
case "${enableval}" in
yes) lirc=yes ;;
no) lirc=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-lirc) ;;
esac
],
[lirc=auto])
2006-06-02 15:30:04 +00:00
if test "x${lirc}" != xno ; then
ACX_LIRC
if test "x${HAVE_LIRC}" = x0 && test "x$lirc" = xyes ; then
AC_MSG_ERROR([*** LIRC support not found])
fi
2006-06-12 12:19:24 +00:00
else
HAVE_LIRC=0
fi
2005-01-08 21:36:53 +00:00
AC_SUBST(LIRC_CFLAGS)
AC_SUBST(LIRC_LIBS)
AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
2006-08-06 16:16:50 +00:00
#### HAL support (optional) ####
2007-10-28 19:13:50 +00:00
AC_ARG_ENABLE([hal],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-hal],[Disable optional HAL support]),
2006-08-06 16:16:50 +00:00
[
case "${enableval}" in
yes) hal=yes ;;
no) hal=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
esac
],
[hal=auto])
2006-08-11 16:38:05 +00:00
if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
2009-01-22 00:26:16 +01:00
PKG_CHECK_MODULES(HAL, [ hal >= 0.5.11 ],
2009-01-24 01:25:11 +01:00
[
HAVE_HAL=1
AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
],
2006-08-06 16:16:50 +00:00
[
HAVE_HAL=0
if test "x$hal" = xyes ; then
AC_MSG_ERROR([*** HAL support not found])
fi
])
else
HAVE_HAL=0
fi
AC_SUBST(HAL_CFLAGS)
AC_SUBST(HAL_LIBS)
AC_SUBST(HAVE_HAL)
AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
2009-03-01 20:34:07 +01:00
#### UDEV support (optional) ####
AC_ARG_ENABLE([udev],
AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]),
[
case "${enableval}" in
yes) udev=yes ;;
no) udev=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-udev) ;;
esac
],
[udev=auto])
if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
2009-06-23 00:55:24 +02:00
PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ],
2009-03-01 20:34:07 +01:00
[
HAVE_UDEV=1
AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
],
[
HAVE_UDEV=0
if test "x$udev" = xyes ; then
AC_MSG_ERROR([*** UDEV support not found])
fi
])
else
HAVE_UDEV=0
fi
AC_SUBST(UDEV_CFLAGS)
AC_SUBST(UDEV_LIBS)
AC_SUBST(HAVE_UDEV)
AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
2007-11-11 23:18:19 +00:00
#### BlueZ support (optional) ####
AC_ARG_ENABLE([bluez],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]),
2007-11-11 23:18:19 +00:00
[
case "${enableval}" in
yes) bluez=yes ;;
no) bluez=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-bluez) ;;
esac
],
[bluez=auto])
if test "x${bluez}" != xno ; then
PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ],
HAVE_BLUEZ=1,
[
HAVE_BLUEZ=0
if test "x$bluez" = xyes ; then
AC_MSG_ERROR([*** BLUEZ support not found])
fi
])
else
HAVE_BLUEZ=0
fi
AC_SUBST(BLUEZ_CFLAGS)
AC_SUBST(BLUEZ_LIBS)
AC_SUBST(HAVE_BLUEZ)
AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
2007-10-28 19:13:50 +00:00
#### D-Bus support (optional) ####
AC_ARG_ENABLE([dbus],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]),
2007-10-28 19:13:50 +00:00
[
case "${enableval}" in
yes) dbus=yes ;;
no) dbus=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-dbus) ;;
esac
],
[dbus=auto])
if test "x$HAVE_HAL" = x1 ; then
dbus=yes
fi
2009-02-26 16:48:58 +11:00
if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
2007-10-28 19:13:50 +00:00
PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
[
HAVE_DBUS=1
saved_LIBS="$LIBS"
LIBS="$LIBS $DBUS_LIBS"
AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
LIBS="$saved_LIBS"
AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
],
[
HAVE_DBUS=0
if test "x$dbus" = xyes ; then
AC_MSG_ERROR([*** D-Bus support not found])
fi
])
else
HAVE_DBUS=0
fi
AC_SUBST(DBUS_CFLAGS)
AC_SUBST(DBUS_LIBS)
AC_SUBST(HAVE_DBUS)
AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
2009-02-13 21:58:09 +01:00
### IPv6 connection support (optional) ###
AC_ARG_ENABLE([ipv6],
AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]),
[
case "${enableval}" in
yes) ipv6=yes ;;
no) ipv6=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-ipv6) ;;
esac
],
[ipv6=auto])
if test "x${ipv6}" != xno ; then
AC_DEFINE([HAVE_IPV6], [1], [Define this to enable IPv6 connection support])
HAVE_IPV6=1
else
HAVE_IPV6=0
fi
2008-08-03 22:46:21 +01:00
#### OpenSSL support (optional) ####
AC_ARG_ENABLE([openssl],
2008-12-16 14:25:31 +01:00
AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]),
2008-08-03 22:46:21 +01:00
[
case "${enableval}" in
yes) openssl=yes ;;
no) openssl=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-openssl) ;;
esac
],
[openssl=auto])
if test "x${openssl}" != xno ; then
PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ],
[
HAVE_OPENSSL=1
AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL])
],
[
HAVE_OPENSSL=0
if test "x$openssl" = xyes ; then
AC_MSG_ERROR([*** OpenSSL support not found])
fi
])
else
HAVE_OPENSSL=0
fi
AC_SUBST(OPENSSL_CFLAGS)
AC_SUBST(OPENSSL_LIBS)
AC_SUBST(HAVE_OPENSSL)
AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
2007-11-05 15:10:13 +00:00
### Build and Install man pages ###
AC_ARG_ENABLE(manpages,
AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
[case "${enableval}" in
yes) manpages=yes ;;
no) manpages=no ;;
*) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;;
esac],[manpages=yes])
AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes])
2006-07-19 17:44:19 +00:00
#### PulseAudio system group & user #####
AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=<user>],[User for running the PulseAudio daemon as a system-wide instance (pulse)]))
if test -z "$with_system_user" ; then
PA_SYSTEM_USER=pulse
else
PA_SYSTEM_USER=$with_system_user
fi
AC_SUBST(PA_SYSTEM_USER)
AC_DEFINE_UNQUOTED(PA_SYSTEM_USER,"$PA_SYSTEM_USER", [User for running the PulseAudio system daemon])
AC_ARG_WITH(system_group,AS_HELP_STRING([--with-system-group=<group>],[Group for running the PulseAudio daemon as a system-wide instance (pulse)]))
if test -z "$with_system_group" ; then
PA_SYSTEM_GROUP=pulse
else
PA_SYSTEM_GROUP=$with_system_group
fi
AC_SUBST(PA_SYSTEM_GROUP)
AC_DEFINE_UNQUOTED(PA_SYSTEM_GROUP,"$PA_SYSTEM_GROUP", [Group for the PulseAudio system daemon])
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)]))
if test -z "$with_access_group" ; then
PA_ACCESS_GROUP=pulse-access
else
PA_ACCESS_GROUP=$with_access_group
fi
AC_SUBST(PA_ACCESS_GROUP)
AC_DEFINE_UNQUOTED(PA_ACCESS_GROUP,"$PA_ACCESS_GROUP", [Access group])
2008-03-27 23:06:26 +00:00
AC_ARG_ENABLE(
per_user_esound_socket,
2008-03-31 14:02:14 +00:00
AS_HELP_STRING([--disable-per-user-esound-socket], [Use global esound socket directory /tmp/.esd/socket.]),
2008-03-27 23:06:26 +00:00
[
case "${enableval}" in
yes) per_user_esound_socket=1 ;;
no) per_user_esound_socket=0 ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-per-user-esound-socket) ;;
esac
],
[per_user_esound_socket=1])
2007-12-06 19:30:16 +00:00
2008-03-27 23:06:26 +00:00
if test "x$per_user_esound_socket" = "x1"; then
AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
2007-12-06 19:30:16 +00:00
fi
2006-07-19 17:44:19 +00:00
#### PulseAudio system runtime dir ####
PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
2008-05-21 22:42:57 +00:00
PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
AC_SUBST(PA_SYSTEM_CONFIG_PATH)
PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
AC_SUBST(PA_SYSTEM_STATE_PATH)
2006-07-19 17:44:19 +00:00
2006-01-10 17:51:06 +00:00
###################################
# Output #
###################################
2009-02-18 16:51:37 +02:00
AC_ARG_ENABLE([legacy-runtime-dir],
AS_HELP_STRING([--disable-legacy-runtime-dir], [Try to connect on legacy (< 0.9.12) socket paths.]))
if test "x$enable_legacy_runtime_dir" != "xno" ; then
AC_DEFINE(ENABLE_LEGACY_RUNTIME_DIR, [1], [Legacy runtime dir])
fi
2006-01-10 17:51:06 +00:00
AC_ARG_ENABLE(
[static-bins],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
2006-01-10 17:51:06 +00:00
[STATIC_BINS=1], [STATIC_BINS=0])
AM_CONDITIONAL([STATIC_BINS], [test "x$STATIC_BINS" = "x1"])
AC_ARG_WITH(
[preopen-mods],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
2006-01-10 17:51:06 +00:00
[PREOPEN_MODS=$withval], [PREOPEN_MODS="all"])
AM_CONDITIONAL([PREOPEN_MODS], [test "x$PREOPEN_MODS" != "xall"])
if test "x$PREOPEN_MODS" != "xall" ; then
tmpLIBS=""
for mod in $PREOPEN_MODS; do
tmpLIBS="$tmpLIBS module-$mod.la"
done
PREOPEN_MODS="$tmpLIBS"
AC_SUBST(PREOPEN_MODS)
2004-06-11 00:33:43 +00:00
fi
2006-05-16 17:54:33 +00:00
AC_ARG_WITH(
[module-dir],
2009-06-23 00:55:31 +02:00
AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINORMICRO}/modules]),
[modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINORMICRO}/modules"])
2006-05-16 17:54:33 +00:00
AC_SUBST(modlibexecdir)
2006-04-13 17:32:10 +00:00
AC_ARG_ENABLE(
[force-preopen],
2008-08-19 00:17:49 +02:00
AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]),
2008-11-10 19:11:40 +02:00
[FORCE_PREOPEN=$enableval], [FORCE_PREOPEN=no])
AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
2006-04-13 17:32:10 +00:00
2006-01-10 17:51:06 +00:00
AC_CONFIG_FILES([
Makefile
2006-02-16 19:19:58 +00:00
src/Makefile
2007-11-05 15:10:13 +00:00
man/Makefile
2006-06-19 21:53:48 +00:00
libpulse.pc
libpulse-simple.pc
libpulse-browse.pc
2006-06-19 23:00:21 +00:00
libpulse-mainloop-glib.pc
2006-01-10 17:51:06 +00:00
doxygen/Makefile
doxygen/doxygen.conf
2006-06-19 21:53:48 +00:00
src/pulse/version.h
2008-08-06 18:54:13 +02:00
po/Makefile.in
2006-01-10 17:51:06 +00:00
])
2009-02-23 23:20:19 +02:00
2004-06-11 00:33:43 +00:00
AC_OUTPUT
2006-07-16 17:38:45 +00:00
# ==========================================================================
ENABLE_X11=no
if test "x$HAVE_X11" = "x1" ; then
ENABLE_X11=yes
fi
ENABLE_OSS=no
if test "x$HAVE_OSS" = "x1" ; then
ENABLE_OSS=yes
fi
ENABLE_ALSA=no
if test "x$HAVE_ALSA" = "x1" ; then
ENABLE_ALSA=yes
fi
ENABLE_SOLARIS=no
if test "x$HAVE_SOLARIS" = "x1" ; then
ENABLE_SOLARIS=yes
fi
2009-02-13 21:57:27 +01:00
ENABLE_GTK20=no
if test "x$HAVE_GTK20" = "x1" ; then
ENABLE_GTK20=yes
fi
2006-07-16 17:38:45 +00:00
ENABLE_GLIB20=no
if test "x$HAVE_GLIB20" = "x1" ; then
ENABLE_GLIB20=yes
fi
2006-07-26 17:46:51 +00:00
ENABLE_GCONF=no
if test "x$HAVE_GCONF" = "x1" ; then
ENABLE_GCONF=yes
fi
2006-07-16 17:38:45 +00:00
ENABLE_AVAHI=no
if test "x$HAVE_AVAHI" = "x1" ; then
ENABLE_AVAHI=yes
fi
ENABLE_JACK=no
if test "x$HAVE_JACK" = "x1" ; then
ENABLE_JACK=yes
fi
ENABLE_LIBASYNCNS=no
if test "x$HAVE_LIBASYNCNS" = "x1" ; then
ENABLE_LIBASYNCNS=yes
fi
ENABLE_LIRC=no
if test "x$HAVE_LIRC" = "x1" ; then
ENABLE_LIRC=yes
fi
2006-08-06 16:16:50 +00:00
ENABLE_HAL=no
if test "x$HAVE_HAL" = "x1" ; then
ENABLE_HAL=yes
fi
2009-03-01 20:34:07 +01:00
ENABLE_UDEV=no
if test "x$HAVE_UDEV" = "x1" ; then
ENABLE_UDEV=yes
fi
2006-07-16 17:38:45 +00:00
ENABLE_TCPWRAP=no
if test "x${LIBWRAP_LIBS}" != x ; then
ENABLE_TCPWRAP=yes
fi
2007-10-28 19:13:50 +00:00
ENABLE_LIBSAMPLERATE=no
if test "x${HAVE_LIBSAMPLERATE}" = "x1" ; then
ENABLE_LIBSAMPLERATE=yes
fi
2007-11-11 23:18:19 +00:00
ENABLE_BLUEZ=no
if test "x${HAVE_BLUEZ}" = "x1" ; then
ENABLE_BLUEZ=yes
fi
2009-05-14 01:24:26 +02:00
ENABLE_GDBM=no
if test "x${HAVE_GDBM}" = "x1" ; then
ENABLE_GDBM=yes
fi
ENABLE_TDB=no
if test "x${HAVE_TDB}" = "x1" ; then
ENABLE_TDB=yes
fi
2008-08-03 22:46:21 +01:00
ENABLE_OPENSSL=no
if test "x${HAVE_OPENSSL}" = "x1" ; then
ENABLE_OPENSSL=yes
fi
2009-02-13 21:58:09 +01:00
ENABLE_IPV6=no
if test "x${HAVE_IPV6}" = "x1" ; then
ENABLE_IPV6=yes
fi
2008-03-27 23:06:26 +00:00
ENABLE_PER_USER_ESOUND_SOCKET=no
if test "x$per_user_esound_socket" = "x1" ; then
ENABLE_PER_USER_ESOUND_SOCKET=yes
fi
2006-07-16 17:38:45 +00:00
echo "
---{ $PACKAGE_NAME $VERSION }---
2008-03-27 23:06:26 +00:00
prefix: ${prefix}
sysconfdir: ${sysconfdir}
localstatedir: ${localstatedir}
System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
2008-05-21 22:42:57 +00:00
System State Path: ${PA_SYSTEM_STATE_PATH}
System Config Path: ${PA_SYSTEM_CONFIG_PATH}
2008-03-27 23:06:26 +00:00
Compiler: ${CC}
CFLAGS: ${CFLAGS}
2008-11-10 19:11:40 +02:00
2008-03-27 23:06:26 +00:00
Have X11: ${ENABLE_X11}
Enable OSS: ${ENABLE_OSS}
Enable Alsa: ${ENABLE_ALSA}
Enable Solaris: ${ENABLE_SOLARIS}
Enable GLib 2.0: ${ENABLE_GLIB20}
2009-02-13 21:57:27 +01:00
Enable Gtk+ 2.0: ${ENABLE_GTK20}
2008-03-27 23:06:26 +00:00
Enable GConf: ${ENABLE_GCONF}
Enable Avahi: ${ENABLE_AVAHI}
Enable Jack: ${ENABLE_JACK}
Enable Async DNS: ${ENABLE_LIBASYNCNS}
Enable LIRC: ${ENABLE_LIRC}
Enable HAL: ${ENABLE_HAL}
2009-03-01 20:34:07 +01:00
Enable udev: ${ENABLE_UDEV}
2008-03-27 23:06:26 +00:00
Enable BlueZ: ${ENABLE_BLUEZ}
Enable TCP Wrappers: ${ENABLE_TCPWRAP}
Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
2009-02-13 21:58:09 +01:00
Enable IPv6: ${ENABLE_IPV6}
2008-08-03 22:46:21 +01:00
Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
2009-05-14 01:24:26 +02:00
Enable tdb: ${ENABLE_TDB}
Enable gdbm: ${ENABLE_GDBM}
2008-11-10 19:11:40 +02:00
2008-03-27 23:06:26 +00:00
System User: ${PA_SYSTEM_USER}
System Group: ${PA_SYSTEM_GROUP}
Access Group: ${PA_ACCESS_GROUP}
Enable per-user EsounD socket: ${ENABLE_PER_USER_ESOUND_SOCKET}
2008-11-10 19:11:40 +02:00
Force preopen: ${FORCE_PREOPEN}
Preopened modules: ${PREOPEN_MODS}
2006-07-16 17:38:45 +00:00
"