pulseaudio: fix build error on toolchains without C++ support

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.

Fixes http://autobuild.buildroot.net/results/114e5bf0086f2394b36f17a70cb54b357a72413c

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Peter Korsgaard 2012-06-04 23:07:31 +02:00
parent 3bc0d5be84
commit 50995f43e1
1 changed files with 15 additions and 0 deletions

View File

@ -32,6 +32,21 @@ PULSEAUDIO_DEPENDENCIES = \
$(if $(BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING),webrtc-audio-processing) \
$(if $(BR2_PACKAGE_SYSTEMD),systemd)
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
# pulseaudio alsa backend needs pcm/mixer apis
ifneq ($(BR2_PACKAGE_ALSA_LIB_PCM)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy)
PULSEAUDIO_CONF_OPT += --disable-alsa