meta-speech-framework: enable building Alexa voiceagent against zeus 01/23901/1
authorScott Murray <scott.murray@konsulko.com>
Tue, 11 Feb 2020 22:37:54 +0000 (17:37 -0500)
committerScott Murray <scott.murray@konsulko.com>
Tue, 11 Feb 2020 22:47:57 +0000 (17:47 -0500)
Changes:
- Tweak LAYERSERIES_COMPAT variable for alexa-auto-sdk's meta-aac
  layer to append zeus, since it's unclear when Amazon will get around
  to a new release that adds zeus support and it's straightforward to
  get it to build against zeus.
- Add BBMASK for nghttp2 recipe in meta-aac to avoid overlaying the
  one for the same version now available in meta-networking. This
  avoids rebuilding a bunch of dependencies when reconfiguring to
  enable agl-voiceagent-alexa.
- Add bbappend for avs-device-sdk to add a patch to disable -Werror
  for new g++ 9 "deprecated-copy" warning in the packaged copy of
  googletest, which avoids a build failure.

Bug-AGL: SPEC-2932

Change-Id: I469d07bafd8a4faf625191eb553ab7f762efb480
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
meta-speech-framework/conf/include/agl-voiceagent-alexa.inc
meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-enable-building-with-g++-9.patch [new file with mode: 0644]
meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.13.bbappend [new file with mode: 0644]
templates/feature/agl-voiceagent-alexa/50_bblayers.conf.inc

index 10df092..21da324 100644 (file)
@@ -2,6 +2,11 @@
 # from meta-aac to avoid triggering rebuilds of all curl dependencies when
 # agl-voiceagent-alexa is configured.
 BBMASK += "meta-aac/recipes-support/curl/curl_%.bbappend"
+# Mask out the nghttp2 recipe in meta-aac as well, since the same version
+# is available in meta-networking, and due to meta-aac having a higher
+# layer priority, rebuilds will be triggered when the voiceagent feature
+# is configured and the layer is added.
+BBMASK += "meta-aac/recipes-connectivity/nghttp2"
 
 PREFERRED_RPROVIDER_virtual/voice-high-config = "alexa-voice-high-config"
 
diff --git a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-enable-building-with-g++-9.patch b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-enable-building-with-g++-9.patch
new file mode 100644 (file)
index 0000000..0e4f14f
--- /dev/null
@@ -0,0 +1,24 @@
+Enable building with g++ 9.x
+
+Disable -Werror for new warning "deprecated-copy" to avoid build
+failure in the packaged copy of googletest with g++ 9.x.  This is
+hopefully temporary until googletest is upgraded or it becomes
+straightforward to build against an externally provided copy.
+
+Upstream-Status: pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/ThirdParty/googletest-release-1.8.0/googletest/cmake/internal_utils.cmake b/ThirdParty/googletest-release-1.8.0/googletest/cmake/internal_utils.cmake
+index 777b91e..7832f20 100644
+--- a/ThirdParty/googletest-release-1.8.0/googletest/cmake/internal_utils.cmake
++++ b/ThirdParty/googletest-release-1.8.0/googletest/cmake/internal_utils.cmake
+@@ -91,7 +91,7 @@ macro(config_compiler_and_linker)
+     set(cxx_no_exception_flags "-D_HAS_EXCEPTIONS=0")
+     set(cxx_no_rtti_flags "-GR-")
+   elseif (CMAKE_COMPILER_IS_GNUCXX)
+-    set(cxx_base_flags "-Wall -Wshadow")
++    set(cxx_base_flags "-Wall -Wshadow -Wno-error=deprecated-copy")
+     set(cxx_exception_flags "-fexceptions")
+     set(cxx_no_exception_flags "-fno-exceptions")
+     # Until version 4.3.2, GCC doesn't define a macro to indicate
diff --git a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.13.bbappend b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.13.bbappend
new file mode 100644 (file)
index 0000000..8afb91a
--- /dev/null
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI += "file://0001-enable-building-with-g++-9.patch"
index 2397a1d..1a18e8f 100644 (file)
@@ -8,3 +8,7 @@ BBFILES += "${METADIR}/external/alexa-auto-sdk/modules/*/*.bb"
 
 # Include the recipe for the required gstreamer module as well
 BBFILES += "${METADIR}/external/alexa-auto-sdk/extensions/experimental/gstreamer/modules/*/*.bb"
+
+# For now, tweak the layer's compatibility to allow using with zeus,
+# since we know it works without major issues.
+LAYERSERIES_COMPAT_aac_append = " zeus"
\ No newline at end of file