[pulseaudio-discuss] [PATCH] build: Avoid libstdc++ dep for module-echo-cancel if possible

Arun Raghavan arun.raghavan at collabora.co.uk
Tue Jul 17 00:42:40 PDT 2012


(looks like it's possible to work around after all)

This moves out the webrtc bits into a small helper library to shield the
rest of module-echo-cancel from being linked with a C++ linker. This is
required because automake will _always_ link module-echo-cancel in C++
mode if any of its deps (even conditional ones) are in C++. This patch
prevents this from happening.
---
 src/Makefile.am |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index b181264..1260cf8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1837,10 +1837,17 @@ if HAVE_SPEEX
 module_echo_cancel_la_SOURCES += modules/echo-cancel/speex.c
 endif
 if HAVE_WEBRTC
-module_echo_cancel_la_SOURCES += modules/echo-cancel/webrtc.cc
+# The webrtc code is split off into a helper library to avoid having automake
+# link module-echo-cancel with C++ (which it does if there are any C++ deps,
+# even conditional ones).
+modlibexec_LTLIBRARIES += libwebrtc-util.la
+
+libwebrtc_util_la_SOURCES = modules/echo-cancel/webrtc.cc
+libwebrtc_util_la_CXXFLAGS = $(AM_CXXFLAGS) $(SERVER_CFLAGS) $(WEBRTC_CFLAGS) -DHAVE_WEBRTC=1
+libwebrtc_util_la_LIBADD = $(WEBRTC_LIBS)
+
 module_echo_cancel_la_CFLAGS += -DHAVE_WEBRTC=1
-module_echo_cancel_la_CXXFLAGS = $(AM_CXXFLAGS) $(SERVER_CFLAGS) $(WEBRTC_CFLAGS) -DHAVE_WEBRTC=1
-module_echo_cancel_la_LIBADD += $(WEBRTC_LIBS)
+module_echo_cancel_la_LIBADD += libwebrtc-util.la
 endif
 
 # RTP modules
-- 
1.7.8.6



More information about the pulseaudio-discuss mailing list