AC_PREREQ(2.63)
-AC_INIT([pulseaudio], m4_esyscmd([./git-version-gen .tarball-version]),
- [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])
AC_SUBST(PACKAGE_URL, [http://pulseaudio.org/])
AC_SUBST(PA_API_VERSION, 12)
-AC_SUBST(PA_PROTOCOL_VERSION, 16)
+AC_SUBST(PA_PROTOCOL_VERSION, 17)
# The stable ABI for client applications, for the version info x:y:z
# always will hold y=z
-AC_SUBST(LIBPULSE_VERSION_INFO, [8:0:8])
+AC_SUBST(LIBPULSE_VERSION_INFO, [12:0:12])
# 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:2:0])
+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_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)
;;
+ *-*-darwin* )
+ AC_DEFINE([_POSIX_C_SOURCE], [200112L], [Needed to get clock_gettime on Mac OS X])
+ AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X])
+ ;;
esac
AM_SILENT_RULES([yes])
# Non-standard
-AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l])
+AC_CHECK_FUNCS_ONCE([setresuid setresgid setreuid setregid seteuid setegid ppoll strsignal sig2str strtof_l pipe2 accept4])
AC_FUNC_ALLOCA
HAVE_TDB=0
HAVE_GDBM=0
+HAVE_SIMPLEDB=0
AC_ARG_WITH(
[database],
- AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto])
+ AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])
if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then
PKG_CHECK_MODULES(TDB, [ tdb ],
fi
fi
-if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then
+if test "x${with_database}" = "xauto" -o "x${with_database}" = "xsimple" ; then
+ HAVE_SIMPLEDB=1
+ with_database=simple
+fi
+
+if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1 -a "x${HAVE_SIMPLEDB}" != x1; then
AC_MSG_ERROR([*** missing database backend])
fi
AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])
fi
+if test "x${HAVE_SIMPLEDB}" = x1 ; then
+ AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?])
+fi
+
AC_SUBST(TDB_CFLAGS)
AC_SUBST(TDB_LIBS)
AC_SUBST(HAVE_TDB)
AC_SUBST(HAVE_GDBM)
AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1])
+AC_SUBST(HAVE_SIMPLEDB)
+AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1])
+
#### OSS support (optional) ####
-AC_ARG_ENABLE([oss],
- AS_HELP_STRING([--disable-oss],[Disable optional OSS support]),
+AC_ARG_ENABLE([oss-output],
+ AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]),
[
case "${enableval}" in
- yes) oss=yes ;;
- no) oss=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;;
+ yes) oss_output=yes ;;
+ no) oss_output=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-output) ;;
esac
],
- [oss=auto])
+ [oss_output=auto])
-if test "x${oss}" != xno ; then
+AC_ARG_ENABLE([oss-wrapper],
+ AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]),
+ [
+ case "${enableval}" in
+ yes) oss_wrapper=yes ;;
+ no) oss_wrapper=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-wrapper) ;;
+ esac
+ ],
+ [oss_wrapper=auto])
+
+if test "x${oss_output}" != xno || test "x${oss_wrapper}" != "xno"; then
AC_CHECK_HEADERS([sys/soundcard.h],
[
+ if test "x${oss_output}" != "xno"; then
+ AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])
+ fi
+ if test "x${oss_wrapper}" != "xno"; then
+ AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?])
+ fi
HAVE_OSS=1
- AC_DEFINE([HAVE_OSS], 1, [Have OSS?])
],
[
HAVE_OSS=0
- if test "x$oss" = xyes ; then
+ if test "x$oss_output" = xyes || test "x$oss_wrapper" = "xyes"; then
AC_MSG_ERROR([*** OSS support not found])
fi
])
fi
AC_SUBST(HAVE_OSS)
-AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1])
+AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"])
+AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])
+
+#### CoreAudio support (optional) ####
+AC_ARG_ENABLE([coreaudio-output],
+ AS_HELP_STRING([--disable-coreaudio-output],[Disable optional CoreAudio output support]),
+ [
+ case "${enableval}" in
+ yes) coreaudio_enabled=yes ;;
+ no) coreaudio_enabled=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-coreaudio-output) ;;
+ esac
+ ],
+ [coreaudio_enabled=auto])
+
+if test "x${coreaudio_enabled}" != xno ; then
+ AC_CHECK_HEADERS([CoreAudio/CoreAudio.h], HAVE_COREAUDIO=1)
+else
+ HAVE_COREAUDIO=0
+fi
+
+AC_SUBST(HAVE_COREAUDIO)
+AM_CONDITIONAL([HAVE_COREAUDIO], [test "x$HAVE_COREAUDIO" = x1 && test "x${coreaudio_enabled}" != "xno"])
#### ALSA support (optional) ####
AC_SUBST(HAVE_AVAHI)
AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1])
-### LIBOIL ####
-
-PKG_CHECK_MODULES(LIBOIL, [ liboil-0.3 >= 0.3.0 ])
-AC_SUBST(LIBOIL_CFLAGS)
-AC_SUBST(LIBOIL_LIBS)
-
### JACK (optional) ####
AC_ARG_ENABLE([jack],
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.])
+#### HAL compat support (optional) ####
+
+AC_ARG_ENABLE([hal-compat],
+ AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]),
+ [
+ case "${enableval}" in
+ yes) halcompat=yes ;;
+ no) halcompat=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal-compat) ;;
+ esac
+ ],
+ [halcompat=auto])
+if test "x${halcompat}" != xno -a "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1" ; then
+ HAVE_HAL_COMPAT=1
+ AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.])
+else
+ HAVE_HAL_COMPAT=0
+fi
+
+AC_SUBST(HAVE_HAL_COMPAT)
+AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])
#### BlueZ support (optional) ####
HAVE_DBUS=1
saved_LIBS="$LIBS"
LIBS="$LIBS $DBUS_LIBS"
+ CFLAGS="$CFLAGS $DBUS_CFLAGS"
AC_CHECK_FUNCS(dbus_watch_get_unix_fd)
LIBS="$saved_LIBS"
AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])
AC_SUBST(HAVE_OPENSSL)
AM_CONDITIONAL([HAVE_OPENSSL], [test "x$HAVE_OPENSSL" = x1])
+#### FFTW (optional) ####
+AC_ARG_WITH(
+ [fftw],
+ AS_HELP_STRING([--without-fftw], [Omit FFTW-using modules (equalizer)]))
+
+if test "x${with_fftw}" != "xno"; then
+ PKG_CHECK_MODULES([FFTW], [fftw3f], [HAVE_FFTW=1], [HAVE_FFTW=0])
+fi
+AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
+
### Build and Install man pages ###
AC_ARG_ENABLE(manpages,
AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
ENABLE_X11=yes
fi
-ENABLE_OSS=no
+ENABLE_OSS_OUTPUT=no
+ENABLE_OSS_WRAPPER=no
if test "x$HAVE_OSS" = "x1" ; then
- ENABLE_OSS=yes
+ if test "x$enable_oss_output" != "xno"; then
+ ENABLE_OSS_OUTPUT=yes
+ fi
+ if test "x$enable_oss_wrapper" != "xno"; then
+ ENABLE_OSS_WRAPPER=yes
+ fi
+fi
+
+ENABLE_COREAUDIO=no
+if test "x$HAVE_COREAUDIO" = "x1" ; then
+ ENABLE_COREAUDIO=yes
fi
ENABLE_ALSA=no
ENABLE_UDEV=yes
fi
+ENABLE_HAL_COMPAT=no
+if test "x$HAVE_HAL_COMPAT" = "x1" ; then
+ ENABLE_HAL_COMPAT=yes
+fi
+
ENABLE_TCPWRAP=no
if test "x${LIBWRAP_LIBS}" != x ; then
ENABLE_TCPWRAP=yes
ENABLE_TDB=yes
fi
+ENABLE_SIMPLEDB=no
+if test "x${HAVE_SIMPLEDB}" = "x1" ; then
+ ENABLE_SIMPLEDB=yes
+fi
+
+ENABLE_FFTW=no
+if test "x${HAVE_FFTW}" = "x1" ; then
+ ENABLE_FFTW=yes
+fi
+
ENABLE_OPENSSL=no
if test "x${HAVE_OPENSSL}" = "x1" ; then
ENABLE_OPENSSL=yes
CFLAGS: ${CFLAGS}
Have X11: ${ENABLE_X11}
- Enable OSS: ${ENABLE_OSS}
+ Enable OSS Output: ${ENABLE_OSS_OUTPUT}
+ Enable OSS Wrapper: ${ENABLE_OSS_WRAPPER}
+ Enable CoreAudio: ${ENABLE_COREAUDIO}
Enable Alsa: ${ENABLE_ALSA}
Enable Solaris: ${ENABLE_SOLARIS}
Enable GLib 2.0: ${ENABLE_GLIB20}
Enable LIRC: ${ENABLE_LIRC}
Enable HAL: ${ENABLE_HAL}
Enable udev: ${ENABLE_UDEV}
+ Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
Enable BlueZ: ${ENABLE_BLUEZ}
Enable TCP Wrappers: ${ENABLE_TCPWRAP}
Enable libsamplerate: ${ENABLE_LIBSAMPLERATE}
Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}
Enable tdb: ${ENABLE_TDB}
Enable gdbm: ${ENABLE_GDBM}
+ Enable simple database: ${ENABLE_SIMPLEDB}
+ Enable fftw: ${ENABLE_FFTW}
System User: ${PA_SYSTEM_USER}
System Group: ${PA_SYSTEM_GROUP}