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`)
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)
-AC_SUBST(PA_PROTOCOL_VERSION, 17)
+AC_SUBST(PA_PROTOCOL_VERSION, 19)
# The stable ABI for client applications, for the version info x:y:z
# always will hold y=z
-AC_SUBST(LIBPULSE_VERSION_INFO, [12:0:12])
+AC_SUBST(LIBPULSE_VERSION_INFO, [12:3:12])
# A simplified, synchronous, ABI-stable interface for client
# applications, for the version info x:y:z always will hold y=z
AC_MSG_RESULT([linux])
pulse_target_os=linux
;;
+ *-*-darwin*)
+ AC_MSG_RESULT([darwin])
+ pulse_target_os=darwin
+ ;;
*)
AC_MSG_RESULT([unknown])
pulse_target_os=unknown
[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.])
+ AC_DEFINE([ATOMIC_ARM_INLINE_ASM], 1, [Have ARM atomic instructions.])
need_libatomic_ops=no
])
fi
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
+
CC_CHECK_TLS
AC_CACHE_CHECK([whether $CC knows _Bool],
#### Determine build environment ####
os_is_win32=0
+os_is_darwin=0
case "$host_os" in
mingw*)
AC_DEFINE([OS_IS_WIN32], 1, [Build target is Windows.])
os_is_win32=1
;;
+ darwin*)
+ AC_DEFINE([OS_IS_DARWIN], 1, [Build target is Darwin.])
+ os_is_darwin=1
+ ;;
esac
AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
+AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
###################################
# Basic environment checks #
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])
# BSD
AC_SEARCH_LIBS([connect], [socket])
# build, disabling its ability to make dlls.
AC_CHECK_FUNCS([getopt_long], [], [AC_CHECK_LIB([iberty], [getopt_long])])
+# 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
+
+AC_SUBST(HAVE_BONJOUR)
+AM_CONDITIONAL([HAVE_BONJOUR], [test "x$HAVE_BONJOUR" = x1])
+
#### Check for functions ####
# ISO
AC_FUNC_FORK
AC_FUNC_GETGROUPS
AC_FUNC_SELECT_ARGTYPES
-AC_CHECK_FUNCS_ONCE([chmod chown clock_gettime getaddrinfo getgrgid_r getgrnam_r \
+AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo getgrgid_r getgrnam_r \
getpwnam_r getpwuid_r gettimeofday getuid inet_ntop inet_pton mlock nanosleep \
pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \
sigaction sleep sysconf pthread_setaffinity_np])
[x11=auto])
if test "x${x11}" != xno ; then
- PKG_CHECK_MODULES(X11, [ x11 ice sm xtst ],
+ PKG_CHECK_MODULES(X11, [ x11-xcb ice sm xtst xcb-atom ],
HAVE_X11=1,
[
HAVE_X11=0
[gconf=auto])
if test "x${gconf}" != xno ; then
- PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 ],
+ PKG_CHECK_MODULES(GCONF, [ gconf-2.0 >= 2.4.0 gobject-2.0 ],
HAVE_GCONF=1,
[
HAVE_GCONF=0
fi
AM_CONDITIONAL([HAVE_FFTW], [test "x$HAVE_FFTW" = "x1"])
+### ORC (optional) ###
+ORC_CHECK([0.4.9])
+
### Build and Install man pages ###
AC_ARG_ENABLE(manpages,
AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]),
AC_ARG_WITH(
[module-dir],
- 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"])
+ 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)
+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.]),
doxygen/doxygen.conf
src/pulse/version.h
po/Makefile.in
+src/daemon/Makefile
+src/modules/Makefile
+src/modules/alsa/Makefile
+src/modules/alsa/mixer/Makefile
+src/modules/alsa/mixer/paths/Makefile
+src/modules/alsa/mixer/profile-sets/Makefile
+src/modules/bluetooth/Makefile
+src/modules/dbus/Makefile
+src/modules/gconf/Makefile
+src/modules/jack/Makefile
+src/modules/oss/Makefile
+src/modules/raop/Makefile
+src/modules/rtp/Makefile
+src/modules/x11/Makefile
+src/pulse/Makefile
+src/pulsecore/Makefile
+src/pulsecore/ffmpeg/Makefile
+src/tests/Makefile
+src/utils/Makefile
])
AC_OUTPUT
ENABLE_LIRC=yes
fi
+ENABLE_DBUS=no
+if test "x$HAVE_DBUS" = "x1" ; then
+ ENABLE_DBUS=yes
+fi
+
ENABLE_HAL=no
if test "x$HAVE_HAL" = "x1" ; then
ENABLE_HAL=yes
ENABLE_FFTW=yes
fi
+ENABLE_ORC=no
+if test "x${HAVE_ORC}" = "xyes" ; then
+ ENABLE_ORC=yes
+fi
+
ENABLE_OPENSSL=no
if test "x${HAVE_OPENSSL}" = "x1" ; then
ENABLE_OPENSSL=yes
Enable Jack: ${ENABLE_JACK}
Enable Async DNS: ${ENABLE_LIBASYNCNS}
Enable LIRC: ${ENABLE_LIRC}
+ Enable DBUS: ${ENABLE_DBUS}
Enable HAL: ${ENABLE_HAL}
Enable udev: ${ENABLE_UDEV}
Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
Enable gdbm: ${ENABLE_GDBM}
Enable simple database: ${ENABLE_SIMPLEDB}
Enable fftw: ${ENABLE_FFTW}
+ Enable orc: ${ENABLE_ORC}
System User: ${PA_SYSTEM_USER}
System Group: ${PA_SYSTEM_GROUP}