]> code.delx.au - pulseaudio/blobdiff - configure.ac
Handle when ALSA tweaks our sample spec so much that the frame size changes.
[pulseaudio] / configure.ac
index a36ee5a04cf2b07c1cd20a53d17e8c92699b734f..68ad672789852786b467cfbe6418b64d8a5342f8 100644 (file)
@@ -5,6 +5,9 @@
 
 # This file is part of PulseAudio.
 #
+# Copyright 2004-2006 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
@@ -23,7 +26,7 @@ AC_PREREQ(2.57)
 
 m4_define(PA_MAJOR, [0])
 m4_define(PA_MINOR, [9])
-m4_define(PA_MICRO, [2])
+m4_define(PA_MICRO, [5])
 
 AC_INIT([pulseaudio], PA_MAJOR.PA_MINOR.PA_MICRO,[mzcbylcnhqvb (at) 0pointer (dot) de])
 AC_CONFIG_SRCDIR([src/daemon/main.c])
@@ -33,14 +36,16 @@ AM_INIT_AUTOMAKE([foreign -Wall])
 AC_SUBST(PA_MAJORMINOR, "PA_MAJOR.PA_MINOR")
 AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/pulseaudio/])
 
-AC_SUBST(PA_API_VERSION, 9)
-AC_SUBST(PA_PROTOCOL_VERSION, 9)
+AC_SUBST(PA_API_VERSION, 10)
+AC_SUBST(PA_PROTOCOL_VERSION, 10)
 
-AC_SUBST(LIBPULSE_VERSION_INFO, [0:0:0])
-AC_SUBST(LIBPULSECORE_VERSION_INFO, [0:1:0])
+AC_SUBST(LIBPULSE_VERSION_INFO, [1:0:1])
+AC_SUBST(LIBPULSECORE_VERSION_INFO, [2:0:0])
 AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:0:0])
-AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [0:0:0])
-AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:0:0])
+AC_SUBST(LIBPULSE_BROWSE_VERSION_INFO, [1:0:1])
+AC_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:2:0])
+
+AC_CANONICAL_HOST
 
 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} ***])
@@ -143,9 +148,18 @@ AC_HEADER_STDC
 
 # POSIX
 AC_CHECK_HEADERS([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \
-    netinet/in_systm.h netinet/ip.h netinet/tcp.h pwd.h sched.h \
-    sys/resource.h sys/select.h sys/socket.h sys/wait.h \
+    netinet/in_systm.h netinet/tcp.h pwd.h sched.h \
+    sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \
     syslog.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([regex.h], [HAVE_REGEX=1], [HAVE_REGEX=0])
 AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0])
 
@@ -202,6 +216,7 @@ AC_SEARCH_LIBS([pow], [m])
 # POSIX
 AC_SEARCH_LIBS([sched_setscheduler], [rt])
 AC_SEARCH_LIBS([dlopen], [dl])
+AC_SEARCH_LIBS([shm_open], [rt])
 
 # BSD
 AC_SEARCH_LIBS([connect], [socket])
@@ -219,7 +234,8 @@ AC_FUNC_FORK
 AC_FUNC_GETGROUPS
 AC_FUNC_SELECT_ARGTYPES
 AC_CHECK_FUNCS([chmod chown getaddrinfo getgrgid_r getpwuid_r gettimeofday \
-    getuid inet_ntop inet_pton nanosleep pipe setpgid setsid sigaction sleep])
+    getuid inet_ntop inet_pton nanosleep pipe posix_memalign setpgid setsid \
+    shm_open sigaction sleep sysconf])
 AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0])
 
 AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1")
@@ -238,8 +254,7 @@ AC_CHECK_FUNCS([lstat])
 
 # Non-standard
 
-AC_CHECK_FUNCS(setresuid)
-AC_CHECK_FUNCS(setreuid)
+AC_CHECK_FUNCS([setresuid setresgid setreuid setregid seteuid setegid])
 
 #### POSIX threads ####
 
@@ -249,6 +264,9 @@ ACX_PTHREAD
 
 AC_SYS_LARGEFILE
 
+# Check for open64 to know if the current system does have open64() and similar functions
+AC_CHECK_FUNCS([open64])
+
 #### [lib]iconv ####
 
 AM_ICONV
@@ -316,6 +334,17 @@ PKG_CHECK_MODULES(LIBSNDFILE, [ sndfile >= 1.0.10 ])
 AC_SUBST(LIBSNDFILE_CFLAGS)
 AC_SUBST(LIBSNDFILE_LIBS)
 
+#### atomic-ops ###
+
+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
+
 #### OSS support (optional) ####
 
 AC_ARG_ENABLE([oss], 
@@ -446,36 +475,36 @@ AC_SUBST(GLIB20_LIBS)
 AC_SUBST(HAVE_GLIB20)
 AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
 
-#### GLib 1 support (optional) ####
+#### GConf support (optional) ####
 
-AC_ARG_ENABLE([glib1], 
-    AC_HELP_STRING([--disable-glib1], [Disable optional GLib 1 support]), 
+AC_ARG_ENABLE([gconf], 
+    AC_HELP_STRING([--disable-gconf], [Disable optional GConf support]), 
         [
             case "${enableval}" in
-                yes) glib1=yes ;;
-                no) glib1=no ;;
-                *) AC_MSG_ERROR(bad value ${enableval} for --disable-glib1) ;;
+                yes) gconf=yes ;;
+                no) gconf=no ;;
+                *) AC_MSG_ERROR(bad value ${enableval} for --disable-gconf) ;;
             esac
         ],
-        [glib1=auto])
+        [glib=auto])
 
-if test "x${glib1}" != xno ; then
-    PKG_CHECK_MODULES(GLIB12, [ glib >= 1.2.0 ],
-        HAVE_GLIB12=1,
+if test "x${gconf}" != xno ; then
+    PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
+        HAVE_GCONF=1,
         [
-            HAVE_GLIB12=0
-            if test "x$glib1" = xyes ; then
-                AC_MSG_ERROR([*** GLib 1 support not found])
+            HAVE_GCONF=0
+            if test "x$gconf" = xyes ; then
+                AC_MSG_ERROR([*** GConf support not found])
             fi
         ])
 else
-    HAVE_GLIB12=0
+    HAVE_GCONF=0
 fi
 
-AC_SUBST(GLIB12_CFLAGS)
-AC_SUBST(GLIB12_LIBS)
-AC_SUBST(HAVE_GLIB12)
-AM_CONDITIONAL([HAVE_GLIB12], [test "x$HAVE_GLIB12" = x1])
+AC_SUBST(GCONF_CFLAGS)
+AC_SUBST(GCONF_LIBS)
+AC_SUBST(HAVE_GCONF)
+AM_CONDITIONAL([HAVE_GCONF], [test "x$HAVE_GCONF" = x1])
 
 #### Avahi support (optional) ####
 
@@ -630,6 +659,79 @@ AC_SUBST(LIRC_CFLAGS)
 AC_SUBST(LIRC_LIBS)
 AM_CONDITIONAL([HAVE_LIRC], [test "x$HAVE_LIRC" = x1])
 
+#### HAL support (optional) ####
+
+AC_ARG_ENABLE([hal], 
+    AC_HELP_STRING([--disable-hal], [Disable optional HAL support]), 
+        [
+            case "${enableval}" in
+                yes) hal=yes ;;
+                no) hal=no ;;
+                *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal) ;;
+            esac
+        ],
+        [hal=auto])
+
+if test "x${hal}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
+    PKG_CHECK_MODULES(HAL, [ hal >= 0.5.7 ],
+        HAVE_HAL=1,
+        [
+            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])
+
+#### 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(realtime_group,AS_HELP_STRING([--with-realtime-group=<group>],[Group for users that are allowed to start the PulseAudio daemon with realtime scheduling (realtime)]))
+if test -z "$with_realtime_group" ; then
+    PA_REALTIME_GROUP=pulse-rt
+else
+    PA_REALTIME_GROUP=$with_realtime_group
+fi
+AC_SUBST(PA_REALTIME_GROUP)
+AC_DEFINE_UNQUOTED(PA_REALTIME_GROUP,"$PA_REALTIME_GROUP", [Realtime group])
+
+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])
+
+#### PulseAudio system runtime dir ####
+PA_SYSTEM_RUNTIME_PATH="${localstatedir}/run/pulse"
+AC_SUBST(PA_SYSTEM_RUNTIME_PATH)
+
 ###################################
 #            Output               #
 ###################################
@@ -670,13 +772,101 @@ AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "x1"])
 AC_CONFIG_FILES([
 Makefile
 src/Makefile
+po/Makefile.in
 libpulse.pc
 libpulse-simple.pc
 libpulse-browse.pc
 libpulse-mainloop-glib.pc
-libpulse-mainloop-glib12.pc
 doxygen/Makefile
 doxygen/doxygen.conf
 src/pulse/version.h
 ])
 AC_OUTPUT
+
+# ==========================================================================
+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
+
+ENABLE_GLIB20=no
+if test "x$HAVE_GLIB20" = "x1" ; then
+   ENABLE_GLIB20=yes
+fi
+
+ENABLE_GCONF=no
+if test "x$HAVE_GCONF" = "x1" ; then
+   ENABLE_GCONF=yes
+fi
+
+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
+
+ENABLE_HAL=no
+if test "x$HAVE_HAL" = "x1" ; then
+   ENABLE_HAL=yes
+fi
+
+ENABLE_TCPWRAP=no
+if test "x${LIBWRAP_LIBS}" != x ; then
+   ENABLE_TCPWRAP=yes
+fi
+
+echo "
+ ---{ $PACKAGE_NAME $VERSION }---
+
+    prefix:                 ${prefix}
+    sysconfdir:             ${sysconfdir}
+    localstatedir:          ${localstatedir}
+    System Runtime Path:    ${PA_SYSTEM_RUNTIME_PATH}
+    Compiler:               ${CC}
+    CFLAGS:                 ${CFLAGS}
+    Have X11:               ${ENABLE_X11}
+    Enable OSS:             ${ENABLE_OSS}
+    Enable Alsa:            ${ENABLE_ALSA}
+    Enable Solaris:         ${ENABLE_SOLARIS}
+    Enable GLib 2.0:        ${ENABLE_GLIB20}
+    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}
+    Enable TCP Wrappers:    ${ENABLE_TCPWRAP}
+    System User:            ${PA_SYSTEM_USER}
+    System Group:           ${PA_SYSTEM_GROUP}
+    Realtime Group:         ${PA_REALTIME_GROUP}
+    Access Group:           ${PA_ACCESS_GROUP}
+"