X-Git-Url: https://code.delx.au/pulseaudio/blobdiff_plain/48d23d48630fc2b68871cd5ea778b3fcf43ff283..HEAD:/configure.ac diff --git a/configure.ac b/configure.ac index 42cb8b8e..76490f46 100644 --- a/configure.ac +++ b/configure.ac @@ -45,15 +45,15 @@ AC_SUBST(PA_PROTOCOL_VERSION, 29) # The stable ABI for client applications, for the version info x:y:z # always will hold y=z -AC_SUBST(LIBPULSE_VERSION_INFO, [16:2:16]) +AC_SUBST(LIBPULSE_VERSION_INFO, [17:3:17]) # 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:4:0]) +AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [1:0: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_SUBST(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO, [0:5:0]) AC_CANONICAL_HOST AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.]) @@ -118,6 +118,10 @@ fi #### Determine host OS #### +# if the host has the possibility of sys/capability.h for dropping privileges +# used to determine if we should error out if it is not found +host_has_caps=0 + os_is_linux=0 os_is_win32=0 os_is_darwin=0 @@ -126,8 +130,13 @@ AC_MSG_CHECKING([host operating system]) case "$host_os" in linux*) AC_MSG_RESULT([linux]) + host_has_caps=1 os_is_linux=1 ;; + freebsd*) + AC_MSG_RESULT([freebsd]) + host_has_caps=1 + ;; darwin*) AC_MSG_RESULT([darwin]) os_is_darwin=1 @@ -165,12 +174,23 @@ esac #### Compiler flags #### AX_APPEND_COMPILE_FLAGS( - [-Wall -W -Wextra -pipe -Wno-long-long -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], + [-Wall -W -Wextra -pipe -Wno-long-long -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 -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])]) +AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [ + # Don't append the flag if it already exists. + # Only enable fastpath asserts when doing a debug build, e.g. from bootstrap.sh. + AX_APPEND_FLAG([-DFASTPATH], [CPPFLAGS]) + # Cannot use AX_APPEND_FLAG here, as it assumes no space inside the added flags. + # Cannot append flags with AX_APPEND_FLAG one by one, as this would destroy all fortifications + # if CPPFLAGS already contain -D_FORTIFY_SOURCE=2. + + # Warnings to be aware of that appear with -D_FORTIFY_SOURCE=2 but without -U_FORTIFY_SOURCE: + # On Fedora 20 with -O0: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp] + # On Gentoo with -O2: "_FORTIFY_SOURCE" redefined [enabled by default] + AS_VAR_APPEND([CPPFLAGS],[" -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2"]) +]) #### Linker flags #### @@ -590,17 +610,16 @@ AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?])) CAP_LIBS='' AC_ARG_WITH([caps], - AS_HELP_STRING([--without-caps],[Omit support for POSIX capabilities.])) + AS_HELP_STRING([--without-caps],[Omit support for dropping 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_SEARCH_LIBS([cap_init], [cap], [], []) + + # Only give an error on hosts that we know could support capabilities AC_CHECK_HEADERS([sys/capability.h], [], [ - if test "x${with_caps}" = "xyes" ; then - AC_MSG_ERROR([*** POSIX caps headers not found]) - fi]) + if test "${host_has_caps}" = "1"; then + AC_MSG_ERROR([*** sys/capability.h not found. Use --without-caps to disable capabilities support.]) + fi]) fi #### Valgrind (optional) #### @@ -1155,6 +1174,22 @@ 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?])) +#### journal support (optional) #### + +AC_ARG_ENABLE([systemd-journal], + AS_HELP_STRING([--disable-systemd-journal],[Disable optional systemd journal support])) + +AS_IF([test "x$enable_systemd_journal" != "xno"], + [PKG_CHECK_MODULES(JOURNAL, [ libsystemd-journal ], HAVE_SYSTEMD_JOURNAL=1, HAVE_SYSTEMD_JOURNAL=0)], + HAVE_SYSTEMD_JOURNAL=0) + +AS_IF([test "x$enable_systemd_journal" = "xyes" && test "x$HAVE_SYSTEMD_JOURNAL" = "x0"], + [AC_MSG_ERROR([*** Needed systemd journal support not found])]) + +AC_SUBST(HAVE_SYSTEMD_JOURNAL) +AM_CONDITIONAL([HAVE_SYSTEMD_JOURNAL], [test "x$HAVE_SYSTEMD_JOURNAL" = x1]) +AS_IF([test "x$HAVE_SYSTEMD_JOURNAL" = "x1"], AC_DEFINE([HAVE_JOURNAL], 1, [Have JOURNAL?])) + #### Build and Install man pages #### AC_ARG_ENABLE([manpages], @@ -1353,13 +1388,11 @@ 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]) @@ -1400,6 +1433,7 @@ 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_SYSTEMD_JOURNAL" = "x1"], ENABLE_SYSTEMD_JOURNAL=yes, ENABLE_SYSTEMD_JOURNAL=no) AS_IF([test "x$HAVE_BLUEZ_4" = "x1"], ENABLE_BLUEZ_4=yes, ENABLE_BLUEZ_4=no) AS_IF([test "x$HAVE_BLUEZ_5" = "x1"], ENABLE_BLUEZ_5=yes, ENABLE_BLUEZ_5=no) AS_IF([test "x$HAVE_HAL_COMPAT" = "x1"], ENABLE_HAL_COMPAT=yes, ENABLE_HAL_COMPAT=no) @@ -1433,6 +1467,7 @@ echo " System Config Path: ${PA_SYSTEM_CONFIG_PATH} Compiler: ${CC} CFLAGS: ${CFLAGS} + CPPFLAGS: ${CPPFLAGS} LIBS: ${LIBS} Enable X11: ${ENABLE_X11} @@ -1457,6 +1492,7 @@ echo " Enable udev: ${ENABLE_UDEV} Enable HAL->udev compat: ${ENABLE_HAL_COMPAT} Enable systemd login: ${ENABLE_SYSTEMD} + Enable systemd journal: ${ENABLE_SYSTEMD_JOURNAL} Enable TCP Wrappers: ${ENABLE_TCPWRAP} Enable libsamplerate: ${ENABLE_LIBSAMPLERATE} Enable IPv6: ${ENABLE_IPV6}