f09636710b
The NEON intrinsics used by Pulseaudio are only available in either -mfloat-abi=softfp or -mfloat-abi=hard, not in -mfloat-abi=soft. Therefore having NEON support in the processor is not sufficient, we also should *not* be using soft-float. Moreover, looking at BR2_ARM_ENABLE_NEON to know if the processor has NEON support is incorrect. This option is only here to allow the user to tell whether the processor has NEON support or not, for the ARM cores that only have optional NEON support. Instead, the BR2_ARM_CPU_HAS_NEON option really indicates whether NEON is available or not (it is either set automatically by the ARM cores that always have NEON support, or when BR2_ARM_ENABLE_NEON is enabled by the user to confirm that his ARM processor has NEON support). This fixes build failures such as http://autobuild.buildroot.org/results/675/675c96059be348b594cc92980bef391126931c83/build-end.log [Peter: add comment about reason for soft abi check] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
116 lines
3.6 KiB
Makefile
116 lines
3.6 KiB
Makefile
################################################################################
|
|
#
|
|
# pulseaudio
|
|
#
|
|
################################################################################
|
|
|
|
PULSEAUDIO_VERSION = 4.0
|
|
PULSEAUDIO_SITE = http://freedesktop.org/software/pulseaudio/releases/
|
|
PULSEAUDIO_INSTALL_STAGING = YES
|
|
PULSEAUDIO_LICENSE = LGPLv2.1+ (specific license for modules, see LICENSE file)
|
|
PULSEAUDIO_LICENSE_FILES = LICENSE GPL LGPL
|
|
PULSEAUDIO_CONF_OPT = \
|
|
--localstatedir=/var \
|
|
--disable-default-build-tests \
|
|
--disable-legacy-runtime-dir \
|
|
--disable-legacy-database-entry-format \
|
|
$(if $(BR2_HAVE_DOCUMENTATION),,--disable-manpages)
|
|
|
|
PULSEAUDIO_DEPENDENCIES = \
|
|
host-pkgconf libtool json-c libsndfile speex host-intltool \
|
|
$(if $(BR2_PACKAGE_LIBATOMIC_OPS),libatomic_ops) \
|
|
$(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \
|
|
$(if $(BR2_PACKAGE_ALSA_LIB),alsa-lib) \
|
|
$(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \
|
|
$(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \
|
|
$(if $(BR2_PACKAGE_DBUS),dbus) \
|
|
$(if $(BR2_PACKAGE_BLUEZ_UTILS),bluez_utils) \
|
|
$(if $(BR2_PACKAGE_UDEV),udev) \
|
|
$(if $(BR2_PACKAGE_OPENSSL),openssl) \
|
|
$(if $(BR2_PACKAGE_FFTW),fftw) \
|
|
$(if $(BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING),webrtc-audio-processing) \
|
|
$(if $(BR2_PACKAGE_SYSTEMD),systemd)
|
|
|
|
|
|
ifeq ($(BR2_PACKAGE_ORC),y)
|
|
PULSEAUDIO_DEPENDENCIES += orc
|
|
PULSEAUDIO_CONF_ENV += ORCC=$(HOST_DIR)/usr/bin/orcc
|
|
PULSEAUDIO_CONF_OPT += --enable-orc
|
|
else
|
|
PULSEAUDIO_CONF_OPT += --disable-orc
|
|
endif
|
|
|
|
ifneq ($(BR2_INSTALL_LIBSTDCPP),y)
|
|
# The optional webrtc echo canceller is written in C++, causing auto* to want
|
|
# to link module-echo-cancel.so with CXX even if webrtc ISN'T used.
|
|
# If we don't have C++ support enabled in BR, CXX will point to /bin/false,
|
|
# which makes configure think we aren't able to create C++ .so files
|
|
# (arguable true), breaking the build when it tries to install the .so
|
|
# workaround it by patching up the libtool invocations to use C mode instead
|
|
define PULSEAUDIO_FORCE_CC
|
|
$(SED) 's/--tag=CXX/--tag=CC/g' -e 's/(CXXLD)/(CCLD)/g' \
|
|
$(@D)/src/Makefile.in
|
|
endef
|
|
|
|
PULSEAUDIO_POST_PATCH_HOOKS += PULSEAUDIO_FORCE_CC
|
|
endif
|
|
|
|
# neon intrinsics not available with float-abi=soft
|
|
ifeq ($(BR2_ARM_SOFT_FLOAT),)
|
|
ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
|
|
PULSEAUDIO_USE_NEON = y
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(PULSEAUDIO_USE_NEON),y)
|
|
PULSEAUDIO_CONF_OPT += --enable-neon-opt=yes
|
|
else
|
|
PULSEAUDIO_CONF_OPT += --enable-neon-opt=no
|
|
endif
|
|
|
|
# pulseaudio alsa backend needs pcm/mixer apis
|
|
ifneq ($(BR2_PACKAGE_ALSA_LIB_PCM)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy)
|
|
PULSEAUDIO_CONF_OPT += --disable-alsa
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBXCB)$(BR2_PACKAGE_XLIB_LIBSM)$(BR2_PACKAGE_XLIB_LIBXTST),yyy)
|
|
PULSEAUDIO_DEPENDENCIES += libxcb xlib_libSM xlib_libXtst
|
|
|
|
# .desktop file generation needs nls support, so fake it for !locale builds
|
|
# https://bugs.freedesktop.org/show_bug.cgi?id=54658
|
|
ifneq ($(BR2_ENABLE_LOCALE),y)
|
|
define PULSEAUDIO_FIXUP_DESKTOP_FILES
|
|
cp $(@D)/src/daemon/pulseaudio.desktop.in \
|
|
$(@D)/src/daemon/pulseaudio.desktop
|
|
cp $(@D)/src/daemon/pulseaudio-kde.desktop.in \
|
|
$(@D)/src/daemon/pulseaudio-kde.desktop
|
|
endef
|
|
PULSEAUDIO_POST_PATCH_HOOKS += PULSEAUDIO_FIXUP_DESKTOP_FILES
|
|
endif
|
|
|
|
else
|
|
PULSEAUDIO_CONF_OPT += --disable-x11
|
|
endif
|
|
|
|
ifneq ($(BR2_PACKAGE_VALA),y)
|
|
define PULSEAUDIO_REMOVE_VALA
|
|
rm -rf $(TARGET_DIR)/usr/share/vala
|
|
endef
|
|
|
|
PULSEAUDIO_POST_INSTALL_TARGET_HOOKS += PULSEAUDIO_REMOVE_VALA
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_PULSEAUDIO_DAEMON),y)
|
|
define PULSEAUDIO_USERS
|
|
pulse -1 pulse -1 * /var/run/pulse - audio,pulse-access
|
|
endef
|
|
|
|
define PULSEAUDIO_INSTALL_INIT_SYSV
|
|
$(INSTALL) -D -m 755 package/multimedia/pulseaudio/S50pulseaudio \
|
|
$(TARGET_DIR)/etc/init.d/S50pulseaudio
|
|
endef
|
|
|
|
endif
|
|
|
|
$(eval $(autotools-package))
|