X-Git-Url: https://code.delx.au/pulseaudio/blobdiff_plain/d20ee7e7f21a9deed61ac5adb46cc64921e01796..HEAD:/configure.ac diff --git a/configure.ac b/configure.ac index d4b48177..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 @@ -168,14 +177,20 @@ 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 -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]) -# Only set _FORTIFY_SOURCE when optimizations are enabled. If optimizations -# are disabled, _FORTIFY_SOURCE doesn't do anything, and causes tons of -# warnings during compiling on some distributions (at least Fedora). -AS_CASE([" $CFLAGS "], [*" -O0 "*], [], [AX_APPEND_FLAG(["-D_FORTIFY_SOURCE=2"], [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 #### @@ -595,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) #### @@ -1374,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])