AC_PREREQ(2.63)
-m4_define(PA_MAJOR, [0])
-m4_define(PA_MINOR, [9])
-m4_define(PA_MICRO, [15])
-
-AC_INIT([pulseaudio],[PA_MAJOR.PA_MINOR.PA_MICRO],[mzchyfrnhqvb (at) 0pointer (dot) net])
+AC_INIT([pulseaudio], m4_esyscmd([./git-version-gen .tarball-version]),
+ [mzchyfrnhqvb (at) 0pointer (dot) net])
AC_CONFIG_SRCDIR([src/daemon/main.c])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
-AM_INIT_AUTOMAKE([foreign 1.10 -Wall])
+AM_INIT_AUTOMAKE([foreign 1.10 -Wall -Wno-portability])
+
+m4_define(pa_major, `echo $VERSION | cut -d. -f 1`)
+m4_define(pa_minor, `echo $VERSION | cut -d. -f 2`)
+m4_define(pa_micro, `echo $VERSION | cut -d. -f 3`)
-AC_SUBST(PA_MAJORMINOR, PA_MAJOR.PA_MINOR)
-AC_SUBST(PA_MAJORMINORMICRO, PA_MAJOR.PA_MINOR.PA_MICRO)
+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)
AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
AC_SUBST(PA_API_VERSION, 12)
# The stable ABI for client applications, for the version info x:y:z
# always will hold y=z
-AC_SUBST(LIBPULSE_VERSION_INFO, [7:1:7])
+AC_SUBST(LIBPULSE_VERSION_INFO, [8:0:8])
# A simplified, synchronous, ABI-stable interface for client
# applications, for the version info x:y:z always will hold y=z
case $host in
*-*-solaris* )
- AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
- AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on 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
# M4
-AC_PATH_PROG([M4], [m4 gm4], [no])
+AC_CHECK_PROGS([M4], gm4 m4, no)
if test "x$M4" = xno ; then
AC_MSG_ERROR([m4 missing])
fi
dnl Compiler flags
-DESIRED_FLAGS="-Wall -W -Wextra -pedantic -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wpacked -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"
+DESIRED_FLAGS="-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option"
for flag in $DESIRED_FLAGS ; do
CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"])
done
+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])
+
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]))
[x11=auto])
if test "x${x11}" != xno ; then
- PKG_CHECK_MODULES(X11, [ x11 ice sm ],
+ PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
HAVE_X11=1,
[
HAVE_X11=0
[alsa=auto])
if test "x${alsa}" != xno ; then
- PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.17 ],
+ PKG_CHECK_MODULES(ASOUNDLIB, [ alsa >= 1.0.19 ],
[
HAVE_ALSA=1
AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])
[
HAVE_ALSA=0
if test "x$alsa" = xyes ; then
- AC_MSG_ERROR([*** Needed alsa >= 1.0.17 support not found])
+ AC_MSG_ERROR([*** Needed alsa >= 1.0.19 support not found])
fi
])
else
AC_SUBST(HAVE_GLIB20)
AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
+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
+
#### GConf support (optional) ####
AC_ARG_ENABLE([gconf],
[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.11 ],
- HAVE_HAL=1,
+ [
+ HAVE_HAL=1
+ AC_DEFINE([HAVE_HAL], 1, [Have HAL.])
+ ],
[
HAVE_HAL=0
if test "x$hal" = xyes ; then
AC_SUBST(HAVE_HAL)
AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1])
+#### 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
+ PKG_CHECK_MODULES(UDEV, [ libudev >= 137 ],
+ [
+ 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.])
+
#### BlueZ support (optional) ####
AC_ARG_ENABLE([bluez],
dbus=yes
fi
-if test "x${dbus}" != xno || test "x${bluez}" != xno || "x${hal}" != xno ; then
+if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
[
AC_SUBST(HAVE_POLKIT)
AM_CONDITIONAL([HAVE_POLKIT], [test "x$HAVE_POLKIT" = x1])
+
+### 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
+
#### OpenSSL support (optional) ####
AC_ARG_ENABLE([openssl],
# Output #
###################################
+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
+
AC_ARG_ENABLE(
[static-bins],
AS_HELP_STRING([--enable-static-bins],[Statically link executables.]),
AC_CONFIG_FILES([
Makefile
+shave
+shave-libtool
src/Makefile
man/Makefile
libpulse.pc
src/pulse/version.h
po/Makefile.in
])
+
+SHAVE_INIT
AC_OUTPUT
+SHAVE_OUTPUT
# ==========================================================================
ENABLE_X11=no
ENABLE_SOLARIS=yes
fi
+ENABLE_GTK20=no
+if test "x$HAVE_GTK20" = "x1" ; then
+ ENABLE_GTK20=yes
+fi
+
ENABLE_GLIB20=no
if test "x$HAVE_GLIB20" = "x1" ; then
ENABLE_GLIB20=yes
ENABLE_HAL=yes
fi
+ENABLE_UDEV=no
+if test "x$HAVE_UDEV" = "x1" ; then
+ ENABLE_UDEV=yes
+fi
+
ENABLE_TCPWRAP=no
if test "x${LIBWRAP_LIBS}" != x ; then
ENABLE_TCPWRAP=yes
ENABLE_OPENSSL=yes
fi
+ENABLE_IPV6=no
+if test "x${HAVE_IPV6}" = "x1" ; then
+ ENABLE_IPV6=yes
+fi
+
ENABLE_PER_USER_ESOUND_SOCKET=no
if test "x$per_user_esound_socket" = "x1" ; then
ENABLE_PER_USER_ESOUND_SOCKET=yes
Enable Alsa: ${ENABLE_ALSA}
Enable Solaris: ${ENABLE_SOLARIS}
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 HAL: ${ENABLE_HAL}
+ Enable udev: ${ENABLE_UDEV}
Enable BlueZ: ${ENABLE_BLUEZ}
Enable TCP Wrappers: ${ENABLE_TCPWRAP}
Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
Enable PolicyKit: ${ENABLE_POLKIT}
+ Enable IPv6: ${ENABLE_IPV6}
Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
System User: ${PA_SYSTEM_USER}