mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
The GNOME-OSTree build system currently creates chroots and bind mounts to the source tree outside the root; this means that we can't necessarily run git inside the root, because in the case of git submodules, the .git repository will point to outside root. Also, error out fatally if we fail to determine the version; it makes no sense to put UNKNOWN in e.g. the pkg-config files since this will just cause errors later on.
1502 lines
53 KiB
Text
1502 lines
53 KiB
Text
# -*- Autoconf -*-
|
|
# Process this file with autoconf to produce a configure script.
|
|
|
|
# This file is part of PulseAudio.
|
|
#
|
|
# Copyright 2004-2008 Lennart Poettering
|
|
# Copyright 2006-2007 Pierre Ossman <ossman@cendio.se> for Cendio AB
|
|
#
|
|
# PulseAudio is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Lesser General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# PulseAudio is distributed in the hope that it will be useful, but
|
|
# 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.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public License
|
|
# along with PulseAudio; if not, write to the Free Software Foundation,
|
|
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
|
|
|
|
AC_PREREQ(2.63)
|
|
|
|
AC_INIT([pulseaudio],[m4_esyscmd(./git-version-gen .tarball-version)],[pulseaudio-discuss (at) lists (dot) freedesktop (dot) org],[pulseaudio],[http://pulseaudio.org/])
|
|
AC_CONFIG_SRCDIR([src/daemon/main.c])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules color-tests dist-xz tar-ustar])
|
|
|
|
AS_IF([! test -n "$VERSION"], [
|
|
AC_MSG_ERROR([git-version-gen failed])
|
|
])
|
|
|
|
m4_define(pa_major, `echo $VERSION | cut -d. -f1 | cut -d- -f1`)
|
|
m4_define(pa_minor, `echo $VERSION | cut -d. -f2 | cut -d- -f1`)
|
|
|
|
AC_SUBST(PA_MAJOR, pa_major)
|
|
AC_SUBST(PA_MINOR, pa_minor)
|
|
AC_SUBST(PA_MAJORMINOR, pa_major.pa_minor)
|
|
|
|
AC_SUBST(PA_API_VERSION, 12)
|
|
AC_SUBST(PA_PROTOCOL_VERSION, 27)
|
|
|
|
# The stable ABI for client applications, for the version info x:y:z
|
|
# always will hold y=z
|
|
AC_SUBST(LIBPULSE_VERSION_INFO, [14:2:14])
|
|
|
|
# A simplified, synchronous, ABI-stable interface for client
|
|
# applications, for the version info x:y:z always will hold y=z
|
|
AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])
|
|
|
|
# The ABI-stable network browsing interface for client applications,
|
|
# for the version info x:y:z always will hold y=z
|
|
AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:1:1])
|
|
|
|
# The ABI-stable GLib adapter for client applications, for the version
|
|
# info x:y:z always will hold y=z
|
|
AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:4:0])
|
|
|
|
AC_CANONICAL_HOST
|
|
AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
|
|
|
|
AC_CHECK_PROG([STOW], [stow], [yes], [no])
|
|
|
|
AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [
|
|
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}"
|
|
])
|
|
|
|
AM_SILENT_RULES([yes])
|
|
|
|
|
|
#### Checks for programs. ####
|
|
|
|
# mkdir -p
|
|
|
|
AC_PROG_MKDIR_P
|
|
|
|
# CC
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_CC_C99
|
|
AM_PROG_CC_C_O
|
|
# Only required if you want the WebRTC canceller -- no runtime dep on
|
|
# libstdc++ otherwise
|
|
AC_PROG_CXX
|
|
AC_PROG_GCC_TRADITIONAL
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
# M4
|
|
|
|
AC_CHECK_PROGS([M4], gm4 m4, no)
|
|
AS_IF([test "x$M4" = "xno"], AC_MSG_ERROR([m4 missing]))
|
|
|
|
# pkg-config
|
|
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
# gettext
|
|
|
|
if test "x$enable_nls" != "xno"; then
|
|
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'
|
|
AX_DEFINE_DIR(PULSE_LOCALEDIR, pulselocaledir, [Gettext locale dir])
|
|
else
|
|
# workaround till an intltool m4 bug is fixed upstream
|
|
# (https://bugs.launchpad.net/intltool/+bug/904647)
|
|
USE_NLS=no
|
|
AC_SUBST(USE_NLS)
|
|
fi
|
|
|
|
|
|
#### Determine host OS ####
|
|
|
|
os_is_linux=0
|
|
os_is_win32=0
|
|
os_is_darwin=0
|
|
|
|
AC_MSG_CHECKING([host operating system])
|
|
case "$host_os" in
|
|
linux*)
|
|
AC_MSG_RESULT([linux])
|
|
os_is_linux=1
|
|
;;
|
|
darwin*)
|
|
AC_MSG_RESULT([darwin])
|
|
os_is_darwin=1
|
|
AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
|
|
;;
|
|
mingw*)
|
|
AC_MSG_RESULT([win32])
|
|
os_is_win32=1
|
|
AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT([unknown])
|
|
;;
|
|
esac
|
|
|
|
AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
|
|
AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
|
|
AC_SUBST([OS_IS_WIN32], [$os_is_win32])
|
|
|
|
# Platform specific hacks
|
|
case "$host_os" in
|
|
darwin* )
|
|
AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
|
|
;;
|
|
mingw* )
|
|
AC_DEFINE([WIN32_LEAN_AND_MEAN], 1, [Needed to avoid including unnecessary headers on Windows])
|
|
;;
|
|
solaris* )
|
|
AC_DEFINE(_XOPEN_SOURCE, 600, [Needed to get declarations for msg_control and msg_controllen on Solaris])
|
|
AC_DEFINE(__EXTENSIONS__, 1, [Needed to get declarations for msg_control and msg_controllen on Solaris])
|
|
;;
|
|
esac
|
|
|
|
|
|
#### Compiler flags ####
|
|
|
|
AX_APPEND_COMPILE_FLAGS(
|
|
[-Wall -W -Wextra -pipe -Wno-long-long -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 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option],
|
|
[], [-pedantic -Werror])
|
|
|
|
# Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh.
|
|
AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [AX_APPEND_FLAG(["-DFASTPATH"], [CPPFLAGS])])
|
|
|
|
|
|
#### Linker flags ####
|
|
|
|
# Check whether the linker supports the -version-script option.
|
|
# The Make variable $(srcdir) needs to be in the LDFLAGS in that form,
|
|
# so that it is expanded the right way in every subdir.
|
|
AX_CHECK_LINK_FLAG(["-Wl,-version-script=${srcdir}/src/map-file"],
|
|
[VERSIONING_LDFLAGS='-Wl,-version-script=$(abs_top_srcdir)/src/map-file'])
|
|
AC_SUBST([VERSIONING_LDFLAGS])
|
|
|
|
# Use immediate (now) bindings; avoids the funky re-call in itself.
|
|
# The -z now syntax is lifted from Sun's linker and works with GNU's too, other linkers might be added later.
|
|
AX_APPEND_LINK_FLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS])
|
|
AC_SUBST([IMMEDIATE_LDFLAGS])
|
|
|
|
# On ELF systems we don't want the libraries to be unloaded since we don't clean them up properly,
|
|
# so we request the nodelete flag to be enabled.
|
|
# On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
|
|
AX_APPEND_LINK_FLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS])
|
|
AC_SUBST([NODELETE_LDFLAGS])
|
|
|
|
# Check for the proper way to build libraries that have no undefined symbols
|
|
case $host in
|
|
# FreeBSD (et al.) does not complete linking for shared objects when pthreads
|
|
# are requested, as different implementations are present.
|
|
*-freebsd* | *-openbsd*) ;;
|
|
*)
|
|
for possible_flag in "-Wl,--no-undefined" "-Wl,-z,defs"; do
|
|
AX_CHECK_LINK_FLAG([$possible_flag], [NOUNDEFINED_LDFLAGS="$possible_flag"; break])
|
|
done
|
|
;;
|
|
esac
|
|
AC_SUBST([NOUNDEFINED_LDFLAGS])
|
|
|
|
|
|
#### Atomic operations ####
|
|
|
|
# Native atomic operation support
|
|
AC_ARG_ENABLE([atomic-arm-linux-helpers],
|
|
AS_HELP_STRING([--disable-atomic-arm-linux-helpers],[use inline asm or libatomic_ops instead]))
|
|
|
|
AC_ARG_ENABLE([atomic-arm-memory-barrier],
|
|
AS_HELP_STRING([--enable-atomic-arm-memory-barrier],[only really needed in SMP arm systems]))
|
|
|
|
if test "x$enable_atomic_arm_memory_barrier" = "xyes"; then
|
|
AC_DEFINE_UNQUOTED(ATOMIC_ARM_MEMORY_BARRIER_ENABLED, 1, [Enable memory barriers])
|
|
fi
|
|
|
|
# If everything else fails use libatomic_ops
|
|
need_libatomic_ops=yes
|
|
|
|
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
|
|
AC_DEFINE([HAVE_ATOMIC_BUILTINS], 1, [Have __sync_bool_compare_and_swap() and friends.])
|
|
need_libatomic_ops=no
|
|
else
|
|
# HW specific atomic ops stuff
|
|
AC_MSG_CHECKING([architecture for native atomic operations])
|
|
case $host in
|
|
arm*)
|
|
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$os_is_linux" = "x1" && test "x$enable_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");
|
|
return (a==1 ? 0 : -1);
|
|
]]),
|
|
[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 ARM atomic instructions.])
|
|
need_libatomic_ops=no
|
|
])
|
|
fi
|
|
;;
|
|
*-netbsdelf5*)
|
|
AC_MSG_RESULT([yes])
|
|
need_libatomic_ops=no
|
|
;;
|
|
*-freebsd*)
|
|
AC_MSG_RESULT([yes])
|
|
need_libatomic_ops=no
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT([unknown])
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
# If we're on ARM, check for the ARMV6 instructions we need */
|
|
case $host in
|
|
arm*)
|
|
AC_CACHE_CHECK([support for required armv6 instructions],
|
|
pulseaudio_cv_support_armv6,
|
|
[AC_COMPILE_IFELSE(
|
|
AC_LANG_PROGRAM([],
|
|
[[volatile int a = -60000, b = 0xaaaabbbb, c = 0xccccdddd;
|
|
asm volatile ("ldr r0, %2 \n"
|
|
"ldr r2, %3 \n"
|
|
"ldr r3, %4 \n"
|
|
"ssat r1, #8, r0 \n"
|
|
"str r1, %0 \n"
|
|
"pkhbt r1, r3, r2, LSL #8 \n"
|
|
"str r1, %1 \n"
|
|
: "=m" (a), "=m" (b)
|
|
: "m" (a), "m" (b), "m" (c)
|
|
: "r0", "r1", "r2", "r3", "cc");
|
|
return (a == -128 && b == 0xaabbdddd) ? 0 : -1;
|
|
]]),
|
|
[pulseaudio_cv_support_armv6=yes],
|
|
[pulseaudio_cv_support_armv6=no])
|
|
])
|
|
AS_IF([test "$pulseaudio_cv_support_armv6" = "yes"], [
|
|
AC_DEFINE([HAVE_ARMV6], 1, [Have ARMv6 instructions.])
|
|
])
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
|
|
|
|
#### libtool stuff ####
|
|
|
|
LT_PREREQ(2.2)
|
|
LT_INIT([dlopen win32-dll disable-static])
|
|
|
|
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
|
|
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
|
|
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],
|
|
[AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])],
|
|
[LIBLTDL=])
|
|
|
|
AS_IF([test "x$LIBLTDL" = "x"],
|
|
[AC_MSG_ERROR([Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed.])])
|
|
AC_SUBST([LIBLTDL])
|
|
|
|
|
|
###################################
|
|
# Basic environment checks #
|
|
###################################
|
|
|
|
#### Checks for header files. ####
|
|
|
|
# ISO
|
|
AC_HEADER_STDC
|
|
|
|
# POSIX
|
|
AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
|
|
netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \
|
|
sys/mman.h sys/select.h sys/socket.h sys/wait.h \
|
|
sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h])
|
|
AC_CHECK_HEADERS([netinet/ip.h], [], [],
|
|
[#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
|
|
])
|
|
AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0])
|
|
AC_SUBST(HAVE_SYS_RESOURCE_H)
|
|
AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
|
|
AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1")
|
|
AC_SUBST(HAVE_AF_UNIX)
|
|
|
|
# Linux
|
|
AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0])
|
|
AM_CONDITIONAL([HAVE_EVDEV], [test "x$HAVE_EVDEV" = "x1"])
|
|
|
|
AC_CHECK_HEADERS_ONCE([sys/prctl.h])
|
|
|
|
# Solaris
|
|
AC_CHECK_HEADERS_ONCE([sys/filio.h])
|
|
|
|
# Windows
|
|
AC_CHECK_HEADERS_ONCE([windows.h winsock2.h ws2tcpip.h])
|
|
|
|
# NetBSD
|
|
AC_CHECK_HEADERS_ONCE([sys/atomic.h])
|
|
|
|
# Other
|
|
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])
|
|
AC_CHECK_HEADERS_ONCE([langinfo.h])
|
|
AC_CHECK_HEADERS_ONCE([regex.h pcreposix.h])
|
|
|
|
|
|
#### Typdefs, structures, etc. ####
|
|
|
|
AC_C_CONST
|
|
AC_C_BIGENDIAN
|
|
AC_TYPE_PID_T
|
|
AC_TYPE_SIZE_T
|
|
AC_CHECK_TYPES(ssize_t, , AC_DEFINE([ssize_t], [signed long], [Define ssize_t if it is not done by the standard libs.]))
|
|
AC_TYPE_OFF_T
|
|
|
|
AC_TYPE_UID_T
|
|
AC_CHECK_DECLS(environ)
|
|
|
|
# SIGXCPU
|
|
AX_CHECK_DEFINE([signal.h], [SIGXCPU], [HAVE_SIGXCPU=1], [HAVE_SIGXCPU=0])
|
|
AS_IF([test "x$HAVE_SIGXCPU" = "x1"], AC_DEFINE([HAVE_SIGXCPU], 1, [Have SIGXCPU?]))
|
|
AM_CONDITIONAL(HAVE_SIGXCPU, test "x$HAVE_SIGXCPU" = "x1")
|
|
|
|
# INADDR_NONE, Solaris lacks this
|
|
AX_CHECK_DEFINE([netinet/in.h], [INADDR_NONE], [],
|
|
[AX_CHECK_DEFINE([winsock2.h], [INADDR_NONE], [],
|
|
[AC_DEFINE([INADDR_NONE], [0xffffffff], [Define INADDR_NONE if not found in <netinet/in.h>])])])
|
|
|
|
|
|
# _Bool
|
|
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])
|
|
])
|
|
|
|
AS_IF([test "$pulseaudio_cv__Bool" = "yes"], AC_DEFINE([HAVE_STD_BOOL], 1, [Have _Bool.]))
|
|
|
|
|
|
#### Thread support ####
|
|
|
|
AX_TLS
|
|
AS_IF([test "$ac_cv_tls" == "__thread"],
|
|
AC_DEFINE([SUPPORT_TLS___THREAD], 1, [Define this if the compiler supports __thread for Thread-Local Storage]))
|
|
|
|
# Win32 build breaks with win32 pthread installed
|
|
AS_IF([test "x$os_is_win32" != "x1"],
|
|
[AX_PTHREAD])
|
|
|
|
AS_IF([test "x$ax_pthread_ok" == "xyes"],
|
|
AC_DEFINE([_POSIX_PTHREAD_SEMANTICS], 1, [Needed on Solaris]))
|
|
|
|
|
|
#### Check for libs ####
|
|
|
|
# ISO
|
|
AC_SEARCH_LIBS([pow], [m])
|
|
|
|
# POSIX
|
|
AC_SEARCH_LIBS([sched_setscheduler], [rt])
|
|
AC_SEARCH_LIBS([dlopen], [dl])
|
|
AC_SEARCH_LIBS([shm_open], [rt])
|
|
AC_SEARCH_LIBS([inet_ntop], [nsl])
|
|
AC_SEARCH_LIBS([timer_create], [rt])
|
|
AC_SEARCH_LIBS([pthread_setaffinity_np], [pthread])
|
|
AC_SEARCH_LIBS([pthread_getname_np], [pthread])
|
|
AC_SEARCH_LIBS([pthread_setname_np], [pthread])
|
|
|
|
# BSD
|
|
AC_SEARCH_LIBS([connect], [socket])
|
|
AC_SEARCH_LIBS([backtrace], [execinfo ubacktrace])
|
|
|
|
# Darwin/OS X
|
|
if test "x$os_is_darwin" = "x1" ; then
|
|
AC_MSG_CHECKING([looking for Apple CoreService Framework])
|
|
# How do I check a framework "library" - AC_CHECK_LIB prob. won't work??, just assign LIBS & hope
|
|
AC_CHECK_HEADER([/Developer/Headers/FlatCarbon/CoreServices.h],
|
|
[LIBS="$LIBS -framework CoreServices"],
|
|
[AC_MSG_ERROR([CoreServices.h header file not found])]
|
|
)
|
|
|
|
AC_MSG_RESULT([ok])
|
|
AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [Using clock_gettime() replacement])
|
|
HAVE_BONJOUR=1
|
|
fi
|
|
|
|
AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
|
|
|
|
# Windows
|
|
AC_SEARCH_LIBS([regexec], [pcreposix])
|
|
# 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 ####
|
|
|
|
# ISO
|
|
AC_CHECK_FUNCS_ONCE([lrintf strtof])
|
|
|
|
# POSIX
|
|
AC_FUNC_FORK
|
|
AC_FUNC_GETGROUPS
|
|
AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
|
|
getpwnam_r getpwuid_r gettimeofday getuid mlock nanosleep \
|
|
pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
|
|
sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np])
|
|
AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
|
|
AC_SUBST(HAVE_MKFIFO)
|
|
AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
|
|
|
|
# X/OPEN
|
|
AC_CHECK_FUNCS_ONCE([readlink])
|
|
|
|
# SUSv2
|
|
AC_CHECK_FUNCS_ONCE([ctime_r usleep])
|
|
|
|
# SUSv3
|
|
AC_CHECK_FUNCS_ONCE([strerror_r])
|
|
|
|
# BSD
|
|
AC_CHECK_FUNCS_ONCE([lstat])
|
|
|
|
# Non-standard
|
|
AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
|
|
|
|
AC_FUNC_ALLOCA
|
|
|
|
AC_CHECK_FUNCS([regexec], [HAVE_REGEX=1], [HAVE_REGEX=0])
|
|
AM_CONDITIONAL(HAVE_REGEX, [test "x$HAVE_REGEX" = "x1"])
|
|
|
|
# Large File-Support (LFS)
|
|
AC_SYS_LARGEFILE
|
|
# Check for open64 to know if the current system does have open64() and similar functions
|
|
AC_CHECK_FUNCS_ONCE([open64])
|
|
|
|
|
|
###################################
|
|
# External libraries #
|
|
###################################
|
|
|
|
#### [lib]iconv ####
|
|
|
|
AM_ICONV
|
|
|
|
#### X11 (optional) ####
|
|
|
|
AC_ARG_ENABLE([x11],
|
|
AS_HELP_STRING([--disable-x11],[Disable optional X11 support]))
|
|
|
|
AS_IF([test "x$enable_x11" != "xno"],
|
|
[PKG_CHECK_MODULES(X11, [ x11-xcb xcb >= 1.6 ice sm xtst ], HAVE_X11=1, HAVE_X11=0)],
|
|
HAVE_X11=0)
|
|
|
|
AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"],
|
|
[AC_MSG_ERROR([*** X11 not found])])
|
|
|
|
AC_SUBST(X11_CFLAGS)
|
|
AC_SUBST(X11_LIBS)
|
|
AC_SUBST(HAVE_X11)
|
|
AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1])
|
|
AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?]))
|
|
|
|
#### Capabilities (optional) ####
|
|
|
|
CAP_LIBS=''
|
|
|
|
AC_ARG_WITH([caps],
|
|
AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.]))
|
|
|
|
if test "x${with_caps}" != "xno"; then
|
|
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])
|
|
fi
|
|
|
|
#### Valgrind (optional) ####
|
|
|
|
AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
|
|
|
|
#### check test framework ####
|
|
|
|
PKG_CHECK_MODULES(LIBCHECK, [ check ])
|
|
AC_SUBST(LIBCHECK_CFLAGS)
|
|
AC_SUBST(LIBCHECK_LIBS)
|
|
|
|
#### json parsing ####
|
|
|
|
PKG_CHECK_MODULES(LIBJSON, [ json >= 0.9 ])
|
|
AC_SUBST(LIBJSON_CFLAGS)
|
|
AC_SUBST(LIBJSON_LIBS)
|
|
|
|
#### Sound file ####
|
|
|
|
PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.20 ])
|
|
AC_SUBST(LIBSNDFILE_CFLAGS)
|
|
AC_SUBST(LIBSNDFILE_LIBS)
|
|
|
|
#### atomic-ops ####
|
|
|
|
AC_MSG_CHECKING([whether we need libatomic_ops])
|
|
if test "x$need_libatomic_ops" = "xyes"; then
|
|
AC_MSG_RESULT([yes])
|
|
AC_CHECK_HEADERS([atomic_ops.h],
|
|
[CFLAGS="$CFLAGS -DAO_REQUIRE_CAS"],
|
|
[AC_MSG_ERROR([*** libatomic-ops headers not found])])
|
|
|
|
# Win32 does not need the lib and breaks horribly if we try to include it
|
|
AS_IF([test "x$os_is_win32" != "x1"], [LIBS="$LIBS -latomic_ops"])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
#### Libsamplerate support (optional) ####
|
|
|
|
AC_ARG_ENABLE([samplerate],
|
|
AS_HELP_STRING([--disable-samplerate],[Disable optional libsamplerate support]))
|
|
|
|
AS_IF([test "x$enable_samplerate" != "xno"],
|
|
[PKG_CHECK_MODULES(LIBSAMPLERATE, [ samplerate >= 0.1.0 ], HAVE_LIBSAMPLERATE=1, HAVE_LIBSAMPLERATE=0)],
|
|
HAVE_LIBSAMPLERATE=0)
|
|
|
|
AS_IF([test "x$enable_samplerate" = "xyes" && test "x$HAVE_LIBSAMPLERATE" = "x0"],
|
|
[AC_MSG_ERROR([*** Libsamplerate not found])])
|
|
|
|
AC_SUBST(LIBSAMPLERATE_CFLAGS)
|
|
AC_SUBST(LIBSAMPLERATE_LIBS)
|
|
AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])
|
|
AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], AC_DEFINE([HAVE_LIBSAMPLERATE], 1, [Have libsamplerate?]))
|
|
|
|
#### Database support ####
|
|
|
|
AC_ARG_WITH([database],
|
|
AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
|
|
|
|
|
|
AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xtdb"],
|
|
[PKG_CHECK_MODULES(TDB, [ tdb ], HAVE_TDB=1, HAVE_TDB=0)],
|
|
HAVE_TDB=0)
|
|
AS_IF([test "x$HAVE_TDB" = "x1"], with_database=tdb)
|
|
|
|
AS_IF([test "x$with_database" = "xtdb" && test "x$HAVE_TDB" = "x0"],
|
|
[AC_MSG_ERROR([*** tdb not found])])
|
|
|
|
|
|
AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xgdbm"],
|
|
[
|
|
HAVE_GDBM=1
|
|
AC_CHECK_LIB(gdbm, gdbm_open, [], HAVE_GDBM=0)
|
|
AC_CHECK_HEADERS(gdbm.h, [], HAVE_GDBM=0)
|
|
],
|
|
HAVE_GDBM=0)
|
|
AS_IF([test "x$HAVE_GDBM" = "x1"],
|
|
[
|
|
with_database=gdbm
|
|
GDBM_CFLAGS=
|
|
GDBM_LIBS=-lgdbm
|
|
])
|
|
|
|
AS_IF([test "x$with_database" = "xgdbm" && test "x$HAVE_GDBM" = "x0"],
|
|
[AC_MSG_ERROR([*** gdbm not found])])
|
|
|
|
|
|
AS_IF([test "x$with_database" = "xauto" -o "x$with_database" = "xsimple"],
|
|
HAVE_SIMPLEDB=1,
|
|
HAVE_SIMPLEDB=0)
|
|
AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], with_database=simple)
|
|
|
|
AS_IF([test "x$HAVE_TDB" != x1 -a "x$HAVE_GDBM" != x1 -a "x$HAVE_SIMPLEDB" != x1],
|
|
AC_MSG_ERROR([*** missing database backend]))
|
|
|
|
|
|
AC_SUBST(TDB_CFLAGS)
|
|
AC_SUBST(TDB_LIBS)
|
|
AM_CONDITIONAL([HAVE_TDB], [test "x$HAVE_TDB" = x1])
|
|
AS_IF([test "x$HAVE_TDB" = "x1"], AC_DEFINE([HAVE_TDB], 1, [Have tdb?]))
|
|
|
|
AC_SUBST(GDBM_CFLAGS)
|
|
AC_SUBST(GDBM_LIBS)
|
|
AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
|
|
AS_IF([test "x$HAVE_GDBM" = "x1"], AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?]))
|
|
|
|
AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
|
|
AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]))
|
|
|
|
#### OSS support (optional) ####
|
|
|
|
AC_ARG_ENABLE([oss-output],
|
|
AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]))
|
|
|
|
AC_ARG_ENABLE([oss-wrapper],
|
|
AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]))
|
|
|
|
AS_IF([test "x$enable_oss_output" != "xno" -o "x$enable_oss_wrapper" != "xno"],
|
|
[AC_CHECK_HEADERS([sys/soundcard.h], HAVE_OSS=1, HAVE_OSS=0)],
|
|
HAVE_OSS=0)
|
|
|
|
AS_IF([test "x$enable_oss_output" = "xyes" -o "x$enable_oss_wrapper" = "xyes" && test "x$HAVE_OSS" = "x0"],
|
|
[AC_MSG_ERROR([*** OSS support not found])])
|
|
|
|
AS_IF([test "x$enable_oss_output" != "xno"],
|
|
[AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_OUTPUT=1, HAVE_OSS_OUTPUT=0)],
|
|
HAVE_OSS_OUTPUT=0)
|
|
|
|
AS_IF([test "x$enable_oss_wrapper" != "xno"],
|
|
[AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)],
|
|
HAVE_OSS_WRAPPER=0)
|
|
|
|
AC_SUBST(HAVE_OSS_OUTPUT)
|
|
AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"])
|
|
AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"])
|
|
AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]))
|
|
AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]))
|
|
|
|
#### CoreAudio support (optional) ####
|
|
|
|
AC_ARG_ENABLE([coreaudio-output],
|
|
AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]))
|
|
|
|
AS_IF([test "x$enable_coreaudio_output" != "xno"],
|
|
[AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1, HAVE_COREAUDIO=0)],
|
|
HAVE_COREAUDIO=0)
|
|
|
|
AS_IF([test "x$enable_coreaudio_output" = "xyes" && test "x$HAVE_COREAUDIO" = "x0"],
|
|
[AC_MSG_ERROR([*** CoreAudio output support not found])])
|
|
|
|
AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = "x1" && test "x$enable_coreaudio_output" != "xno"])
|
|
|
|
#### ALSA support (optional) ####
|
|
|
|
AC_ARG_ENABLE([alsa],
|
|
AS_HELP_STRING([--disable-alsa],[Disable optional ALSA support]))
|
|
|
|
AS_IF([test "x$enable_alsa" != "xno"],
|
|
[PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ], HAVE_ALSA=1, HAVE_ALSA=0)],
|
|
HAVE_ALSA=0)
|
|
|
|
AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
|
|
[AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])])
|
|
|
|
AC_SUBST(ASOUNDLIB_CFLAGS)
|
|
AC_SUBST(ASOUNDLIB_LIBS)
|
|
AC_SUBST(HAVE_ALSA)
|
|
AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1])
|
|
AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?]))
|
|
|
|
#### EsounD support (optional) ####
|
|
|
|
AC_ARG_ENABLE([esound],
|
|
AS_HELP_STRING([--disable-esound],[Disable optional EsounD support]))
|
|
AM_CONDITIONAL([HAVE_ESOUND], [test "x$enable_esound" != "xno"])
|
|
AS_IF([test "x$enable_esound" != "xno"], [HAVE_ESOUND=1])
|
|
|
|
#### Solaris audio support (optional) ####
|
|
|
|
AC_ARG_ENABLE([solaris],
|
|
AS_HELP_STRING([--disable-solaris],[Disable optional Solaris audio support]))
|
|
|
|
AS_IF([test "x$enable_solaris" != "xno"],
|
|
[AC_CHECK_HEADERS([sys/audio.h], HAVE_SOLARIS=1, HAVE_SOLARIS=0)],
|
|
HAVE_SOLARIS=0)
|
|
|
|
AS_IF([test "x$enable_solaris" = "xyes" && test "x$HAVE_SOLARIS" = "x0"],
|
|
[AC_MSG_ERROR([*** Solaris audio support not found])])
|
|
|
|
AM_CONDITIONAL([HAVE_SOLARIS], [test "x$HAVE_SOLARIS" = x1])
|
|
AS_IF([test "x$HAVE_SOLARIS" = "x1"], AC_DEFINE([HAVE_SOLARIS], 1, [Have Solaris audio?]))
|
|
|
|
#### WaveOut audio support (optional) ####
|
|
|
|
AC_ARG_ENABLE([waveout],
|
|
AS_HELP_STRING([--disable-waveout],[Disable optional WaveOut audio support]))
|
|
|
|
AS_IF([test "x$enable_waveout" != "xno"],
|
|
[AC_CHECK_HEADERS([mmsystem.h], HAVE_WAVEOUT=1, HAVE_WAVEOUT=0, [#include <windows.h>])],
|
|
HAVE_WAVEOUT=0)
|
|
|
|
AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"],
|
|
[AC_MSG_ERROR([*** WaveOut audio support not found])])
|
|
|
|
AC_SUBST(HAVE_WAVEOUT)
|
|
AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1])
|
|
AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?]))
|
|
|
|
#### GLib 2 support (optional) ####
|
|
|
|
AC_ARG_ENABLE([glib2],
|
|
AS_HELP_STRING([--disable-glib2],[Disable optional GLib 2 support]))
|
|
|
|
AS_IF([test "x$enable_glib2" != "xno"],
|
|
[PKG_CHECK_MODULES(GLIB20, [ glib-2.0 >= 2.4.0 ], HAVE_GLIB20=1, HAVE_GLIB20=0)],
|
|
HAVE_GLIB20=0)
|
|
|
|
AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
|
|
[AC_MSG_ERROR([*** GLib 2 support not found])])
|
|
|
|
AC_SUBST(GLIB20_CFLAGS)
|
|
AC_SUBST(GLIB20_LIBS)
|
|
AC_SUBST(HAVE_GLIB20)
|
|
AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
|
|
AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
|
|
|
|
#### GTK2 support (optional) ####
|
|
|
|
AC_ARG_ENABLE([gtk2],
|
|
AS_HELP_STRING([--disable-gtk2],[Disable optional Gtk+ 2 support]))
|
|
|
|
AS_IF([test "x$enable_gtk2" != "xno"],
|
|
[PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ], HAVE_GTK20=1, HAVE_GTK20=0)],
|
|
HAVE_GTK20=0)
|
|
|
|
AS_IF([test "x$enable_gtk2" = "xyes" && test "x$HAVE_GTK20" = "x0"],
|
|
[AC_MSG_ERROR([*** Gtk+ 2 support not found])])
|
|
|
|
AC_SUBST(GTK20_CFLAGS)
|
|
AC_SUBST(GTK20_LIBS)
|
|
AM_CONDITIONAL([HAVE_GTK20], [test "x$HAVE_GTK20" = x1])
|
|
AS_IF([test "x$HAVE_GTK20" = "x1"], AC_DEFINE([HAVE_GTK], 1, [Have GTK?]))
|
|
|
|
#### GConf support (optional) ####
|
|
|
|
AC_ARG_ENABLE([gconf],
|
|
AS_HELP_STRING([--disable-gconf],[Disable optional GConf support]))
|
|
|
|
AS_IF([test "x$enable_gconf" != "xno"],
|
|
[PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ], HAVE_GCONF=1, HAVE_GCONF=0)],
|
|
HAVE_GCONF=0)
|
|
|
|
AS_IF([test "x$enable_gconf" = "xyes" && test "x$HAVE_GCONF" = "x0"],
|
|
[AC_MSG_ERROR([*** GConf support not found])])
|
|
|
|
AC_SUBST(GCONF_CFLAGS)
|
|
AC_SUBST(GCONF_LIBS)
|
|
AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
|
|
|
|
#### Avahi support (optional) ####
|
|
|
|
AC_ARG_ENABLE([avahi],
|
|
AS_HELP_STRING([--disable-avahi],[Disable optional Avahi support]))
|
|
|
|
AS_IF([test "x$enable_avahi" != "xno"],
|
|
[PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6.0 ], HAVE_AVAHI=1, HAVE_AVAHI=0)],
|
|
HAVE_AVAHI=0)
|
|
|
|
AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"],
|
|
[AC_MSG_ERROR([*** Avahi support not found])])
|
|
|
|
AC_SUBST(AVAHI_CFLAGS)
|
|
AC_SUBST(AVAHI_LIBS)
|
|
AC_SUBST(HAVE_AVAHI)
|
|
AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
|
|
|
|
#### JACK (optional) ####
|
|
|
|
AC_ARG_ENABLE([jack],
|
|
AS_HELP_STRING([--disable-jack],[Disable optional JACK support]))
|
|
|
|
AS_IF([test "x$enable_jack" != "xno"],
|
|
[PKG_CHECK_MODULES(JACK, [ jack >= 0.117.0 ], HAVE_JACK=1, HAVE_JACK=0)],
|
|
HAVE_JACK=0)
|
|
|
|
AS_IF([test "x$enable_jack" = "xyes" && test "x$HAVE_JACK" = "x0"],
|
|
[AC_MSG_ERROR([*** JACK support not found])])
|
|
|
|
AC_SUBST(JACK_CFLAGS)
|
|
AC_SUBST(JACK_LIBS)
|
|
AM_CONDITIONAL([HAVE_JACK], [test "x$HAVE_JACK" = x1])
|
|
|
|
#### Async DNS support (optional) ####
|
|
|
|
AC_ARG_ENABLE([asyncns],
|
|
AS_HELP_STRING([--disable-asyncns],[Disable optional Async DNS support]))
|
|
|
|
AS_IF([test "x$enable_asyncns" != "xno"],
|
|
[PKG_CHECK_MODULES(LIBASYNCNS, [ libasyncns >= 0.1 ], HAVE_LIBASYNCNS=1, HAVE_LIBASYNCNS=0)],
|
|
HAVE_LIBASYNCNS=0)
|
|
|
|
AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
|
|
[AC_MSG_ERROR([*** Async DNS support not found])])
|
|
|
|
AC_SUBST(LIBASYNCNS_CFLAGS)
|
|
AC_SUBST(LIBASYNCNS_LIBS)
|
|
AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
|
|
AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
|
|
|
|
#### TCP wrappers (optional) ####
|
|
|
|
AC_ARG_ENABLE([tcpwrap],
|
|
AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]))
|
|
|
|
AS_IF([test "x$enable_tcpwrap" != "xno"],
|
|
[
|
|
ACX_LIBWRAP
|
|
AS_IF([test "x$LIBWRAP_LIBS" != "x"], HAVE_TCPWRAP=1, HAVE_TCPWRAP=0)
|
|
],
|
|
HAVE_TCPWRAP=0)
|
|
|
|
AS_IF([test "x$enable_tcpwrap" = "xyes" && test "x$HAVE_TCPWRAP" = "x0"],
|
|
[AC_MSG_ERROR([*** TCP wrappers support not found])])
|
|
|
|
AC_SUBST(LIBWRAP_LIBS)
|
|
|
|
#### LIRC support (optional) ####
|
|
|
|
AC_ARG_ENABLE([lirc],
|
|
AS_HELP_STRING([--disable-lirc],[Disable optional LIRC support]))
|
|
|
|
LIRC_CFLAGS=
|
|
LIRC_LIBS=
|
|
|
|
AS_IF([test "x$enable_lirc" != "xno"],
|
|
[
|
|
HAVE_LIRC=1
|
|
AC_CHECK_HEADER(lirc/lirc_client.h, [], [HAVE_LIRC=0])
|
|
AC_CHECK_LIB(lirc_client, lirc_init, [LIRC_LIBS=-llirc_client], [HAVE_LIRC=0])
|
|
],
|
|
HAVE_LIRC=0)
|
|
|
|
AS_IF([test "x$enable_lirc" = "xyes" && test "x$HAVE_LIRC" = "x0"],
|
|
[AC_MSG_ERROR([*** LIRC support not found])])
|
|
|
|
AC_SUBST(LIRC_CFLAGS)
|
|
AC_SUBST(LIRC_LIBS)
|
|
AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
|
|
|
|
#### D-Bus support (optional) ####
|
|
|
|
AC_ARG_ENABLE([dbus],
|
|
AS_HELP_STRING([--disable-dbus],[Disable optional D-Bus support]))
|
|
|
|
AS_IF([test "x$enable_dbus" != "xno"],
|
|
[PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.3.0 ], HAVE_DBUS=1, HAVE_DBUS=0)],
|
|
HAVE_DBUS=0)
|
|
|
|
AS_IF([test "x$enable_dbus" = "xyes" && test "x$HAVE_DBUS" = "x0"],
|
|
[AC_MSG_ERROR([*** D-Bus (1.3.0+) support not found])])
|
|
|
|
AS_IF([test "x$HAVE_DBUS" = "x1"],
|
|
[
|
|
save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS $DBUS_CFLAGS"
|
|
save_LIBS="$LIBS"; LIBS="$LIBS $DBUS_LIBS"
|
|
AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
|
|
CFLAGS="$save_CFLAGS"
|
|
LIBS="$save_LIBS"
|
|
])
|
|
|
|
AC_SUBST(DBUS_CFLAGS)
|
|
AC_SUBST(DBUS_LIBS)
|
|
AC_SUBST(HAVE_DBUS)
|
|
AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1])
|
|
AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
|
|
|
|
PA_MACHINE_ID="${sysconfdir}/machine-id"
|
|
AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
|
|
PA_MACHINE_ID_FALLBACK="${localstatedir}/lib/dbus/machine-id"
|
|
AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
|
|
[Fallback machine-id file])
|
|
|
|
#### BlueZ support (optional, dependant on D-Bus) ####
|
|
|
|
AC_ARG_ENABLE([bluez],
|
|
AS_HELP_STRING([--disable-bluez],[Disable optional BlueZ support]))
|
|
|
|
AS_IF([test "x$enable_bluez" != "xno"],
|
|
[PKG_CHECK_MODULES(BLUEZ, [ bluez >= 3.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
|
|
HAVE_BLUEZ=0)
|
|
AS_IF([test "x$enable_bluez" != "xno"],
|
|
[PKG_CHECK_MODULES(SBC, [ sbc >= 1.0 ], HAVE_BLUEZ=1, HAVE_BLUEZ=0)],
|
|
HAVE_BLUEZ=0)
|
|
AS_IF([test "x$HAVE_DBUS" != "x1"], HAVE_BLUEZ=0)
|
|
|
|
AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"],
|
|
[AC_MSG_ERROR([*** BLUEZ support not found (requires D-Bus)])])
|
|
|
|
AC_SUBST(BLUEZ_CFLAGS)
|
|
AC_SUBST(BLUEZ_LIBS)
|
|
AC_SUBST(HAVE_BLUEZ)
|
|
AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
|
|
|
|
#### UDEV support (optional) ####
|
|
|
|
AC_ARG_ENABLE([udev],
|
|
AS_HELP_STRING([--disable-udev],[Disable optional UDEV support]))
|
|
|
|
AS_IF([test "x$enable_udev" != "xno" -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \)],
|
|
[PKG_CHECK_MODULES(UDEV, [ libudev >= 143 ], HAVE_UDEV=1, HAVE_UDEV=0)],
|
|
HAVE_UDEV=0)
|
|
|
|
AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"],
|
|
[AC_MSG_ERROR([*** UDEV support not found])])
|
|
|
|
AC_SUBST(UDEV_CFLAGS)
|
|
AC_SUBST(UDEV_LIBS)
|
|
AC_SUBST(HAVE_UDEV)
|
|
AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1])
|
|
AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.]))
|
|
|
|
#### HAL compat support (optional, dependant on UDEV) ####
|
|
|
|
AC_ARG_ENABLE([hal-compat],
|
|
AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]))
|
|
|
|
AS_IF([test "x$enable_hal_compat" != "xno"],
|
|
[AS_IF([test "x$HAVE_UDEV" = "x1"], HAVE_HAL_COMPAT=1, HAVE_HAL_COMPAT=0)],
|
|
HAVE_HAL_COMPAT=0)
|
|
|
|
AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
|
|
AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]))
|
|
|
|
#### IPv6 connection support (optional) ####
|
|
|
|
AC_ARG_ENABLE([ipv6],
|
|
AS_HELP_STRING([--disable-ipv6],[Disable optional IPv6 support]))
|
|
|
|
AS_IF([test "x$enable_ipv6" != "xno"], [HAVE_IPV6=1], [HAVE_IPV6=0])
|
|
|
|
AS_IF([test "x$HAVE_IPV6" = "x1"], AC_DEFINE([HAVE_IPV6], 1, [Define this to enable IPv6 connection support]))
|
|
|
|
#### OpenSSL support (optional) ####
|
|
|
|
AC_ARG_ENABLE([openssl],
|
|
AS_HELP_STRING([--disable-openssl],[Disable OpenSSL support (used for Airtunes/RAOP)]))
|
|
|
|
AS_IF([test "x$enable_openssl" != "xno"],
|
|
[PKG_CHECK_MODULES(OPENSSL, [ openssl > 0.9 ], HAVE_OPENSSL=1, HAVE_OPENSSL=0)],
|
|
HAVE_OPENSSL=0)
|
|
|
|
AS_IF([test "x$enable_openssl" = "xyes" && test "x$HAVE_OPENSSL" = "x0"],
|
|
[AC_MSG_ERROR([*** OpenSSL support not found])])
|
|
|
|
AC_SUBST(OPENSSL_CFLAGS)
|
|
AC_SUBST(OPENSSL_LIBS)
|
|
AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
|
|
AS_IF([test "x$HAVE_OPENSSL" = "x1"], AC_DEFINE([HAVE_OPENSSL], 1, [Have OpenSSL]))
|
|
|
|
#### FFTW (optional) ####
|
|
|
|
AC_ARG_WITH([fftw],
|
|
AS_HELP_STRING([--without-fftw],[Omit FFTW-using modules (equalizer)]))
|
|
|
|
AS_IF([test "x$with_fftw" != "xno"],
|
|
[PKG_CHECK_MODULES(FFTW, [ fftw3f ], HAVE_FFTW=1, HAVE_FFTW=0)],
|
|
HAVE_FFTW=0)
|
|
|
|
AS_IF([test "x$with_fftw" = "xyes" && test "x$HAVE_FFTW" = "x0"],
|
|
[AC_MSG_ERROR([*** FFTW support not found])])
|
|
|
|
AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
|
|
|
|
#### speex (optional) ####
|
|
|
|
AC_ARG_WITH([speex],
|
|
AS_HELP_STRING([--without-speex],[Omit speex (resampling, AEC)]))
|
|
|
|
AS_IF([test "x$with_speex" != "xno"],
|
|
[PKG_CHECK_MODULES(LIBSPEEX, [ speexdsp >= 1.2 ], HAVE_SPEEX=1, HAVE_SPEEX=0)],
|
|
HAVE_SPEEX=0)
|
|
|
|
AS_IF([test "x$with_speex" = "xyes" && test "x$HAVE_SPEEX" = "x0"],
|
|
[AC_MSG_ERROR([*** speex support not found])])
|
|
|
|
AM_CONDITIONAL([HAVE_SPEEX], [test "x$HAVE_SPEEX" = "x1"])
|
|
AS_IF([test "x$HAVE_SPEEX" = "x1"], AC_DEFINE([HAVE_SPEEX], 1, [Have speex]))
|
|
|
|
AC_SUBST(LIBSPEEX_CFLAGS)
|
|
AC_SUBST(LIBSPEEX_LIBS)
|
|
|
|
#### Xen support (optional) ####
|
|
|
|
AC_ARG_ENABLE([xen],
|
|
AS_HELP_STRING([--disable-xen],[Disable optional Xen paravirtualized driver]))
|
|
|
|
XEN_CFLAGS=
|
|
XEN_LIBS=
|
|
|
|
AS_IF([test "x$enable_xen" != "xno"],
|
|
[
|
|
HAVE_XEN=1
|
|
AC_CHECK_HEADER(xenctrl.h, [], [HAVE_XEN=0])
|
|
AC_CHECK_HEADER(xs.h, [], [HAVE_XEN=0])
|
|
AC_CHECK_LIB(xenctrl, xc_interface_open, [XEN_LIBS="$XEN_LIBS -lxenctrl"], [HAVE_XEN=0])
|
|
AC_CHECK_LIB(xenstore, xs_domain_open, [XEN_LIBS="$XEN_LIBS -lxenstore"], [HAVE_XEN=0])
|
|
],
|
|
HAVE_XEN=0)
|
|
|
|
AS_IF([test "x$enable_xen" = "xyes" && test "x$HAVE_XEN" = "x0"],
|
|
[AC_MSG_ERROR([*** Xen development headers or libraries not found])])
|
|
|
|
AC_SUBST(XEN_CFLAGS)
|
|
AC_SUBST(XEN_LIBS)
|
|
AM_CONDITIONAL([HAVE_XEN], [test "x$HAVE_XEN" = x1])
|
|
|
|
#### gcov support (optional) #####
|
|
|
|
AC_ARG_ENABLE([gcov],
|
|
AS_HELP_STRING([--enable-gcov],[Enable optional gcov coverage analysis]))
|
|
|
|
GCOV_CFLAGS=
|
|
GCOV_LIBS=" -lgcov"
|
|
|
|
AS_IF([test "x$enable_gcov" = "xyes"],
|
|
[
|
|
HAVE_GCOV=1
|
|
GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs -ftest-coverage"
|
|
GCOV_LIBS="$GCOV_LIBS -fprofile-arcs"
|
|
],
|
|
HAVE_GCOV=0)
|
|
|
|
AC_SUBST(GCOV_CFLAGS)
|
|
AC_SUBST(GCOV_LIBS)
|
|
AM_CONDITIONAL([HAVE_GCOV], [test "x$HAVE_GCOV" = x1])
|
|
|
|
#### ORC (optional) ####
|
|
|
|
ORC_CHECK([0.4.11])
|
|
|
|
#### systemd support (optional) ####
|
|
|
|
AC_ARG_ENABLE([systemd],
|
|
AS_HELP_STRING([--disable-systemd],[Disable optional systemd support]))
|
|
|
|
AS_IF([test "x$enable_systemd" != "xno"],
|
|
[PKG_CHECK_MODULES(SYSTEMD, [ libsystemd-login libsystemd-daemon ], HAVE_SYSTEMD=1, HAVE_SYSTEMD=0)],
|
|
HAVE_SYSTEMD=0)
|
|
|
|
AS_IF([test "x$enable_systemd" = "xyes" && test "x$HAVE_SYSTEMD" = "x0"],
|
|
[AC_MSG_ERROR([*** Needed systemd support not found])])
|
|
|
|
AC_SUBST(HAVE_SYSTEMD)
|
|
AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$HAVE_SYSTEMD" = x1])
|
|
AS_IF([test "x$HAVE_SYSTEMD" = "x1"], AC_DEFINE([HAVE_SYSTEMD], 1, [Have SYSTEMD?]))
|
|
|
|
#### Build and Install man pages ####
|
|
|
|
AC_ARG_ENABLE([manpages],
|
|
AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]))
|
|
|
|
AM_CONDITIONAL([BUILD_MANPAGES], [test "x$enable_manpages" != "xno"])
|
|
|
|
#### 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])
|
|
|
|
AC_ARG_ENABLE([per-user-esound-socket],
|
|
AS_HELP_STRING([--disable-per-user-esound-socket],[Use global esound socket directory /tmp/.esd/socket.]))
|
|
|
|
if test "x$enable_per_user_esound_socket" != "xno"; then
|
|
USE_PER_USER_ESOUND_SOCKET=1
|
|
AC_DEFINE([USE_PER_USER_ESOUND_SOCKET], [1], [Define this if you want per-user esound socket directories])
|
|
else
|
|
USE_PER_USER_ESOUND_SOCKET=0
|
|
fi
|
|
|
|
#### PulseAudio system runtime dir ####
|
|
|
|
PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
|
|
AX_DEFINE_DIR(PA_SYSTEM_RUNTIME_PATH, PA_SYSTEM_RUNTIME_PATH, [System runtime dir])
|
|
PA_SYSTEM_CONFIG_PATH="${localstatedir}/lib/pulse"
|
|
AX_DEFINE_DIR(PA_SYSTEM_CONFIG_PATH, PA_SYSTEM_CONFIG_PATH, [System config dir])
|
|
PA_SYSTEM_STATE_PATH="${localstatedir}/lib/pulse"
|
|
AX_DEFINE_DIR(PA_SYSTEM_STATE_PATH, PA_SYSTEM_STATE_PATH, [System state dir])
|
|
|
|
PA_BINARY=${bindir}/pulseaudio${EXEEXT}
|
|
AX_DEFINE_DIR(PA_BINARY, PA_BINARY, [Location of pulseaudio binary])
|
|
|
|
PACTL_BINARY=${bindir}/pactl${EXEEXT}
|
|
AX_DEFINE_DIR(PACTL_BINARY, PACTL_BINARY, [Location of pactl binary])
|
|
|
|
AC_SUBST(PA_SOEXT, [.so])
|
|
|
|
AC_SUBST(pulseconfdir, ["${sysconfdir}/pulse"])
|
|
AX_DEFINE_DIR(PA_DEFAULT_CONFIG_DIR, pulseconfdir, [Location of configuration files])
|
|
|
|
AC_DEFINE_UNQUOTED(PA_BUILDDIR, "${ac_pwd}/src", [Location of uninstalled binaries])
|
|
|
|
#### Mac OSX specific stuff #####
|
|
|
|
AC_ARG_ENABLE(mac-universal,
|
|
AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]),
|
|
enable_mac_universal=$enableval, enable_mac_universal="no")
|
|
|
|
AC_ARG_WITH(mac-version-min,
|
|
AS_HELP_STRING([--with-mac-version-min=<version>], [Defines the earliest version of MacOS X that the executables will run on.]),
|
|
mac_version_min=$withval, mac_version_min="10.5")
|
|
|
|
AC_ARG_WITH(mac-sysroot,
|
|
AS_HELP_STRING([--with-mac-sysroot=<path>], [SDK basedir to use as the logical root directory for headers and libraries.]),
|
|
mac_sysroot=$withval, mac_sysroot="/Developer/SDKs/MacOSX10.5.sdk")
|
|
|
|
if test "x$os_is_darwin" = "x1" ; then
|
|
LDFLAGS="$LDFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
|
|
CFLAGS="$CFLAGS -isysroot $mac_sysroot -mmacosx-version-min=$mac_version_min"
|
|
|
|
if test "x$enable_mac_universal" = "xyes" ; then
|
|
mac_arches="-arch i386 -arch x86_64"
|
|
LDFLAGS="$LDFLAGS $mac_arches"
|
|
CFLAGS="$CFLAGS $mac_arches"
|
|
fi
|
|
fi
|
|
|
|
AC_ARG_ENABLE([webrtc-aec],
|
|
AS_HELP_STRING([--enable-webrtc-aec], [Enable the optional WebRTC-based echo canceller]))
|
|
|
|
AS_IF([test "x$enable_webrtc_aec" != "xno"],
|
|
[PKG_CHECK_MODULES(WEBRTC, [ webrtc-audio-processing ], [HAVE_WEBRTC=1], [HAVE_WEBRTC=0])],
|
|
[HAVE_WEBRTC=0])
|
|
|
|
AS_IF([test "x$enable_webrtc_aec" = "xyes" && test "x$HAVE_WEBRTC" = "x0"],
|
|
[AC_MSG_ERROR([*** webrtc-audio-processing library not found])])
|
|
|
|
AC_SUBST(WEBRTC_CFLAGS)
|
|
AC_SUBST(WEBRTC_LIBS)
|
|
AM_CONDITIONAL([HAVE_WEBRTC], [test "x$HAVE_WEBRTC" = "x1"])
|
|
|
|
AC_ARG_ENABLE([adrian-aec],
|
|
AS_HELP_STRING([--enable-adrian-aec], [Enable Adrian's optional echo canceller]))
|
|
AS_IF([test "x$enable_adrian_aec" != "xno"],
|
|
[HAVE_ADRIAN_EC=1])
|
|
AM_CONDITIONAL([HAVE_ADRIAN_EC], [test "x$HAVE_ADRIAN_EC" = "x1"])
|
|
|
|
|
|
|
|
###################################
|
|
# Output #
|
|
###################################
|
|
|
|
AC_DEFINE_UNQUOTED(PA_CFLAGS, "$CFLAGS", [The CFLAGS used during compilation])
|
|
|
|
# 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]))
|
|
AM_CONDITIONAL([BUILD_TESTS_DEFAULT], [test "x$enable_default_build_tests" != "xno"])
|
|
|
|
AC_ARG_ENABLE([legacy-database-entry-format],
|
|
AS_HELP_STRING([--disable-legacy-database-entry-format], [Try to load legacy (< 1.0) database files (card, device and volume restore).]))
|
|
if test "x$enable_legacy_database_entry_format" != "xno" ; then
|
|
AC_DEFINE(ENABLE_LEGACY_DATABASE_ENTRY_FORMAT, [1], [Legacy database entry format])
|
|
fi
|
|
AC_DEFINE([WIBBLE], 1, [Just a test.])
|
|
|
|
AC_ARG_ENABLE([static-bins],
|
|
AS_HELP_STRING([--enable-static-bins],[Statically link executables.]))
|
|
AM_CONDITIONAL([STATIC_BINS], [test "x$enable_static_bins" = "xyes"])
|
|
|
|
AC_ARG_WITH(
|
|
[preopen-mods],
|
|
AS_HELP_STRING([--with-preopen-mods],[Modules to preopen in daemon (default: all).]),
|
|
[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)
|
|
fi
|
|
|
|
AC_ARG_WITH(
|
|
[module-dir],
|
|
AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${libdir}/pulse-${PA_MAJORMINOR}/modules]),
|
|
[modlibexecdir=$withval], [modlibexecdir="${libdir}/pulse-${PA_MAJORMINOR}/modules"])
|
|
|
|
AC_SUBST(modlibexecdir)
|
|
AX_DEFINE_DIR(PA_DLSEARCHPATH, modlibexecdir, [Modules dir])
|
|
|
|
AC_ARG_WITH(
|
|
[udev-rules-dir],
|
|
AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
|
|
[udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
|
|
|
|
AC_SUBST(udevrulesdir)
|
|
|
|
AC_ARG_ENABLE([force-preopen],
|
|
AS_HELP_STRING([--enable-force-preopen],[Preopen modules, even when dlopen() is supported.]))
|
|
|
|
if test "x$enable_force_preopen" = "xyes"; then
|
|
FORCE_PREOPEN=yes
|
|
else
|
|
FORCE_PREOPEN=no
|
|
fi
|
|
|
|
AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "xyes"])
|
|
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
src/Makefile
|
|
man/Makefile
|
|
libpulse.pc
|
|
libpulse-simple.pc
|
|
libpulse-mainloop-glib.pc
|
|
doxygen/Makefile
|
|
doxygen/doxygen.conf
|
|
src/pulse/version.h
|
|
po/Makefile.in
|
|
man/pulseaudio.1.xml
|
|
man/esdcompat.1.xml
|
|
man/pax11publish.1.xml
|
|
man/paplay.1.xml
|
|
man/pacat.1.xml
|
|
man/pacmd.1.xml
|
|
man/pactl.1.xml
|
|
man/pasuspender.1.xml
|
|
man/padsp.1.xml
|
|
man/pulse-daemon.conf.5.xml
|
|
man/pulse-client.conf.5.xml
|
|
man/default.pa.5.xml
|
|
man/pulse-cli-syntax.5.xml
|
|
man/start-pulseaudio-kde.1.xml
|
|
man/start-pulseaudio-x11.1.xml
|
|
])
|
|
|
|
AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat])
|
|
AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
|
|
AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
|
|
AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
|
|
AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
|
|
[m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
|
|
AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
|
|
[m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
|
|
AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
|
|
[m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
|
|
|
|
# CMake related ProjectConfig files
|
|
PA_LIBDIR="$libdir"
|
|
AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
|
|
PA_INCDIR="$includedir"
|
|
AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
|
|
|
|
AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
|
|
[m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
|
|
AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
|
|
|
|
AC_OUTPUT
|
|
|
|
# ==========================================================================
|
|
|
|
AS_IF([test "x$HAVE_X11" = "x1"], ENABLE_X11=yes, ENABLE_X11=no)
|
|
AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], ENABLE_OSS_OUTPUT=yes, ENABLE_OSS_OUTPUT=no)
|
|
AS_IF([test "x$HAVE_OSS_WRAPPER" = "x1"], ENABLE_OSS_WRAPPER=yes, ENABLE_OSS_WRAPPER=no)
|
|
AS_IF([test "x$HAVE_ALSA" = "x1"], ENABLE_ALSA=yes, ENABLE_ALSA=no)
|
|
AS_IF([test "x$HAVE_COREAUDIO" = "x1"], ENABLE_COREAUDIO=yes, ENABLE_COREAUDIO=no)
|
|
AS_IF([test "x$HAVE_SOLARIS" = "x1"], ENABLE_SOLARIS=yes, ENABLE_SOLARIS=no)
|
|
AS_IF([test "x$HAVE_WAVEOUT" = "x1"], ENABLE_WAVEOUT=yes, ENABLE_WAVEOUT=no)
|
|
AS_IF([test "x$HAVE_GLIB20" = "x1"], ENABLE_GLIB20=yes, ENABLE_GLIB20=no)
|
|
AS_IF([test "x$HAVE_GTK20" = "x1"], ENABLE_GTK20=yes, ENABLE_GTK20=no)
|
|
AS_IF([test "x$HAVE_GCONF" = "x1"], ENABLE_GCONF=yes, ENABLE_GCONF=no)
|
|
AS_IF([test "x$HAVE_AVAHI" = "x1"], ENABLE_AVAHI=yes, ENABLE_AVAHI=no)
|
|
AS_IF([test "x$HAVE_JACK" = "x1"], ENABLE_JACK=yes, ENABLE_JACK=no)
|
|
AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], ENABLE_LIBASYNCNS=yes, ENABLE_LIBASYNCNS=no)
|
|
AS_IF([test "x$HAVE_LIRC" = "x1"], ENABLE_LIRC=yes, ENABLE_LIRC=no)
|
|
AS_IF([test "x$HAVE_XEN" = "x1"], ENABLE_XEN=yes, ENABLE_XEN=no)
|
|
AS_IF([test "x$HAVE_DBUS" = "x1"], ENABLE_DBUS=yes, ENABLE_DBUS=no)
|
|
AS_IF([test "x$HAVE_UDEV" = "x1"], ENABLE_UDEV=yes, ENABLE_UDEV=no)
|
|
AS_IF([test "x$HAVE_SYSTEMD" = "x1"], ENABLE_SYSTEMD=yes, ENABLE_SYSTEMD=no)
|
|
AS_IF([test "x$HAVE_BLUEZ" = "x1"], ENABLE_BLUEZ=yes, ENABLE_BLUEZ=no)
|
|
AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no)
|
|
AS_IF([test "x$HAVE_TCPWRAP" = "x1"], ENABLE_TCPWRAP=yes, ENABLE_TCPWRAP=no)
|
|
AS_IF([test "x$HAVE_LIBSAMPLERATE" = "x1"], ENABLE_LIBSAMPLERATE=yes, ENABLE_LIBSAMPLERATE=no)
|
|
AS_IF([test "x$HAVE_IPV6" = "x1"], ENABLE_IPV6=yes, ENABLE_IPV6=no)
|
|
AS_IF([test "x$HAVE_OPENSSL" = "x1"], ENABLE_OPENSSL=yes, ENABLE_OPENSSL=no)
|
|
AS_IF([test "x$HAVE_FFTW" = "x1"], ENABLE_FFTW=yes, ENABLE_FFTW=no)
|
|
AS_IF([test "x$HAVE_ORC" = "xyes"], ENABLE_ORC=yes, ENABLE_ORC=no)
|
|
AS_IF([test "x$HAVE_ADRIAN_EC" = "x1"], ENABLE_ADRIAN_EC=yes, ENABLE_ADRIAN_EC=no)
|
|
AS_IF([test "x$HAVE_SPEEX" = "x1"], ENABLE_SPEEX=yes, ENABLE_SPEEX=no)
|
|
AS_IF([test "x$HAVE_WEBRTC" = "x1"], ENABLE_WEBRTC=yes, ENABLE_WEBRTC=no)
|
|
AS_IF([test "x$HAVE_TDB" = "x1"], ENABLE_TDB=yes, ENABLE_TDB=no)
|
|
AS_IF([test "x$HAVE_GDBM" = "x1"], ENABLE_GDBM=yes, ENABLE_GDBM=no)
|
|
AS_IF([test "x$HAVE_SIMPLEDB" = "x1"], ENABLE_SIMPLEDB=yes, ENABLE_SIMPLEDB=no)
|
|
AS_IF([test "x$HAVE_ESOUND" = "x1"], ENABLE_ESOUND=yes, ENABLE_ESOUND=no)
|
|
AS_IF([test "x$HAVE_ESOUND" = "x1" -a "x$USE_PER_USER_ESOUND_SOCKET" = "x1"], ENABLE_PER_USER_ESOUND_SOCKET=yes, ENABLE_PER_USER_ESOUND_SOCKET=no)
|
|
AS_IF([test "x$HAVE_GCOV" = "x1"], ENABLE_GCOV=yes, ENABLE_GCOV=no)
|
|
AS_IF([test "x$enable_legacy_database_entry_format" != "xno"], ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=yes, ENABLE_LEGACY_DATABASE_ENTRY_FORMAT=no)
|
|
|
|
echo "
|
|
---{ $PACKAGE_NAME $VERSION }---
|
|
|
|
prefix: ${prefix}
|
|
sysconfdir: ${sysconfdir}
|
|
localstatedir: ${localstatedir}
|
|
modlibexecdir: ${modlibexecdir}
|
|
System Runtime Path: ${PA_SYSTEM_RUNTIME_PATH}
|
|
System State Path: ${PA_SYSTEM_STATE_PATH}
|
|
System Config Path: ${PA_SYSTEM_CONFIG_PATH}
|
|
Compiler: ${CC}
|
|
CFLAGS: ${CFLAGS}
|
|
LIBS: ${LIBS}
|
|
|
|
Enable X11: ${ENABLE_X11}
|
|
Enable OSS Output: ${ENABLE_OSS_OUTPUT}
|
|
Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
|
|
Enable EsounD: ${ENABLE_ESOUND}
|
|
Enable Alsa: ${ENABLE_ALSA}
|
|
Enable CoreAudio: ${ENABLE_COREAUDIO}
|
|
Enable Solaris: ${ENABLE_SOLARIS}
|
|
Enable WaveOut: ${ENABLE_WAVEOUT}
|
|
Enable GLib 2.0: ${ENABLE_GLIB20}
|
|
Enable Gtk+ 2.0: ${ENABLE_GTK20}
|
|
Enable GConf: ${ENABLE_GCONF}
|
|
Enable Avahi: ${ENABLE_AVAHI}
|
|
Enable Jack: ${ENABLE_JACK}
|
|
Enable Async DNS: ${ENABLE_LIBASYNCNS}
|
|
Enable LIRC: ${ENABLE_LIRC}
|
|
Enable Xen PV driver: ${ENABLE_XEN}
|
|
Enable D-Bus: ${ENABLE_DBUS}
|
|
Enable BlueZ: ${ENABLE_BLUEZ}
|
|
Enable udev: ${ENABLE_UDEV}
|
|
Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
|
|
Enable systemd login: ${ENABLE_SYSTEMD}
|
|
Enable TCP Wrappers: ${ENABLE_TCPWRAP}
|
|
Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
|
|
Enable IPv6: ${ENABLE_IPV6}
|
|
Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
|
|
Enable fftw: ${ENABLE_FFTW}
|
|
Enable orc: ${ENABLE_ORC}
|
|
Enable Adrian echo canceller: ${ENABLE_ADRIAN_EC}
|
|
Enable speex (resampler, AEC): ${ENABLE_SPEEX}
|
|
Enable WebRTC echo canceller: ${ENABLE_WEBRTC}
|
|
Enable gcov coverage: ${ENABLE_GCOV}
|
|
Database
|
|
tdb: ${ENABLE_TDB}
|
|
gdbm: ${ENABLE_GDBM}
|
|
simple database: ${ENABLE_SIMPLEDB}
|
|
|
|
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}
|
|
Force preopen: ${FORCE_PREOPEN}
|
|
Preopened modules: ${PREOPEN_MODS}
|
|
|
|
Legacy Database Entry Support: ${ENABLE_LEGACY_DATABASE_ENTRY_FORMAT}
|
|
"
|
|
|
|
if test "${ENABLE_SPEEX}" = "no" && test "${ENABLE_WEBRTC}" = "no" && test "${ENABLE_ADRIAN_EC}" = "no" ; then
|
|
AC_MSG_ERROR([At least one echo canceller implementation must be available.])
|
|
fi
|
|
|
|
if test "${ENABLE_DBUS}" = "no" && test "x$os_is_win32" != "x1" ; then
|
|
echo "
|
|
===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
|
|
You do not have D-Bus support enabled. It is strongly recommended
|
|
that you enable D-Bus support if your platform supports it.
|
|
Many parts of PulseAudio use D-Bus, from ConsoleKit interaction
|
|
to the Device Reservation Protocol to speak to JACK, Bluetooth
|
|
support and even a native control protocol for communicating and
|
|
controling the PulseAudio daemon itself.
|
|
===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
|
|
"
|
|
fi
|
|
|
|
if test "${ENABLE_UDEV}" = "no" && test "x$os_is_win32" != "x1" ; then
|
|
echo "
|
|
===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
|
|
You do not have udev support enabled. It is strongly recommended
|
|
that you enable udev support if your platform supports it as it is
|
|
the primary method used to detect hardware audio devices (on Linux)
|
|
and is thus a critical part of PulseAudio on that platform.
|
|
===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
|
|
"
|
|
fi
|
|
|
|
if test "${ENABLE_SPEEX}" = "no" && test "x$os_is_win32" != "x1" ; then
|
|
echo "
|
|
===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
|
|
You do not have speex support enabled. It is strongly recommended
|
|
that you enable speex support if your platform supports it as it is
|
|
the primary method used for audio resampling and is thus a critical
|
|
part of PulseAudio on that platform.
|
|
===== WARNING WARNING WARNING WARNING WARNING WARNING WARNING =====
|
|
"
|
|
fi
|