From 2938eb34a55ebb4cb0427314151b30fd97ef6e78 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Tue, 11 Feb 2020 17:37:54 -0500 Subject: meta-speech-framework: enable building Alexa voiceagent against zeus 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 --- .../conf/include/agl-voiceagent-alexa.inc | 5 +++++ .../0001-enable-building-with-g++-9.patch | 24 ++++++++++++++++++++++ .../avs-device-sdk/avs-device-sdk_1.13.bbappend | 3 +++ .../agl-voiceagent-alexa/50_bblayers.conf.inc | 4 ++++ 4 files changed, 36 insertions(+) create mode 100644 meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-enable-building-with-g++-9.patch create mode 100644 meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.13.bbappend diff --git a/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc b/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc index 10df0926..21da324e 100644 --- a/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc +++ b/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc @@ -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 index 00000000..0e4f14fd --- /dev/null +++ b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-enable-building-with-g++-9.patch @@ -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 + +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 index 00000000..8afb91a9 --- /dev/null +++ b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.13.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +SRC_URI += "file://0001-enable-building-with-g++-9.patch" diff --git a/templates/feature/agl-voiceagent-alexa/50_bblayers.conf.inc b/templates/feature/agl-voiceagent-alexa/50_bblayers.conf.inc index 2397a1d7..1a18e8ff 100644 --- a/templates/feature/agl-voiceagent-alexa/50_bblayers.conf.inc +++ b/templates/feature/agl-voiceagent-alexa/50_bblayers.conf.inc @@ -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 -- cgit 1.2.3-korg