summaryrefslogtreecommitdiffstats
path: root/recipes-extended/xen/xen.inc
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2021-07-28 14:22:43 -0400
committerBruce Ashfield <bruce.ashfield@gmail.com>2021-08-02 17:17:53 -0400
commitd876cfc5bfafa516dee55d04b50b319a22165640 (patch)
treeea03c34f999bd85e440c85fc8e722df8666e2e68 /recipes-extended/xen/xen.inc
parent5fdf66c1e2ec0c6b08573bf0a6aa9f84d2fc4ae6 (diff)
downloadmeta-virtualization-d876cfc5bfafa516dee55d04b50b319a22165640.tar.gz
global: overrides syntax conversion
OEcore/bitbake are moving to use the clearer ":" as an overrides separator. This is pass one of updating the meta-virt recipes to use that syntax. This has only been minimally build/runtime tested, more changes will be required for missed overrides, or incorrect conversions Note: A recent bitbake is required: commit 75fad23fc06c008a03414a1fc288a8614c6af9ca Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Sun Jul 18 12:59:15 2021 +0100 bitbake: data_smart/parse: Allow ':' characters in variable/function names It is becomming increasingly clear we need to find a way to show what is/is not an override in our syntax. We need to do this in a way which is clear to users, readable and in a way we can transition to. The most effective way I've found to this is to use the ":" charater to directly replace "_" where an override is being specified. This includes "append", "prepend" and "remove" which are effectively special override directives. This patch simply adds the character to the parser so bitbake accepts the value but maps it back to "_" internally so there is no behaviour change. This change is simple enough it could potentially be backported to older version of bitbake meaning layers using the new syntax/markup could work with older releases. Even if other no other changes are accepted at this time and we don't backport, it does set us on a path where at some point in future we could require a more explict syntax. I've tested this patch by converting oe-core/meta-yocto to the new syntax for overrides (9000+ changes) and then seeing that builds continue to work with this patch. (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Diffstat (limited to 'recipes-extended/xen/xen.inc')
-rw-r--r--recipes-extended/xen/xen.inc14
1 files changed, 7 insertions, 7 deletions
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index 3438034d..c0a087ec 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -100,7 +100,7 @@ EXTRA_CFLAGS_XEN_CORE="${DEBUG_PREFIX_MAP}"
100# - The Xen tools build for x86 systems with HVM-mode enabled includes hvmloader 100# - The Xen tools build for x86 systems with HVM-mode enabled includes hvmloader
101# which fails to build when "-m64" is included in flags set via the 101# which fails to build when "-m64" is included in flags set via the
102# EXTRA_CFLAGS_XEN_TOOLS: so clear TUNE_CCARGS on x86 to prevent that. 102# EXTRA_CFLAGS_XEN_TOOLS: so clear TUNE_CCARGS on x86 to prevent that.
103TUNE_CCARGS_x86-64="" 103TUNE_CCARGS:x86-64=""
104 104
105# - Yocto supplies the _FORTIFY_SOURCE flag via CC/CPP/CXX but then passes the 105# - Yocto supplies the _FORTIFY_SOURCE flag via CC/CPP/CXX but then passes the
106# optimization -O via C*FLAGS which is problematic when the CFLAGS are cleared 106# optimization -O via C*FLAGS which is problematic when the CFLAGS are cleared
@@ -115,11 +115,11 @@ CC="${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${CC_REPRODUCIBLE_OPTIONS}"
115EXTRA_CFLAGS_XEN_TOOLS="${HOST_CC_ARCH} ${CFLAGS}" 115EXTRA_CFLAGS_XEN_TOOLS="${HOST_CC_ARCH} ${CFLAGS}"
116# 32-bit ARM needs the TUNE_CCARGS component of HOST_CC_ARCH to be passed 116# 32-bit ARM needs the TUNE_CCARGS component of HOST_CC_ARCH to be passed
117# in CC to ensure that configure can compile binaries for the right arch. 117# in CC to ensure that configure can compile binaries for the right arch.
118CC_arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${CC_REPRODUCIBLE_OPTIONS}" 118CC:arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${CC_REPRODUCIBLE_OPTIONS}"
119 119
120# There are no Xen-provided variables for C++, so append to the tool variables: 120# There are no Xen-provided variables for C++, so append to the tool variables:
121CPP_append = " ${CPPFLAGS}" 121CPP:append = " ${CPPFLAGS}"
122CXX_append = " ${CXXFLAGS}" 122CXX:append = " ${CXXFLAGS}"
123 123
124EXTRA_OECONF += " \ 124EXTRA_OECONF += " \
125 --exec-prefix=${prefix} \ 125 --exec-prefix=${prefix} \
@@ -193,7 +193,7 @@ do_post_patch() {
193 fi 193 fi
194} 194}
195 195
196do_post_patch_append_arm() { 196do_post_patch:append:arm() {
197 # The hypervisor binary must not be built with the hard floating point ABI. 197 # The hypervisor binary must not be built with the hard floating point ABI.
198 echo "CC := \$(filter-out ${TUNE_CCARGS},\$(CC))" >> ${S}/xen/arch/arm/Rules.mk 198 echo "CC := \$(filter-out ${TUNE_CCARGS},\$(CC))" >> ${S}/xen/arch/arm/Rules.mk
199 echo "CPP := \$(filter-out ${TUNE_CCARGS},\$(CPP))" >> ${S}/xen/arch/arm/Rules.mk 199 echo "CPP := \$(filter-out ${TUNE_CCARGS},\$(CPP))" >> ${S}/xen/arch/arm/Rules.mk
@@ -229,13 +229,13 @@ do_configure_common() {
229 PYTHON="${PYTHON}" 229 PYTHON="${PYTHON}"
230} 230}
231 231
232do_compile_prepend() { 232do_compile:prepend() {
233 # workaround for build bug when CFLAGS is exported 233 # workaround for build bug when CFLAGS is exported
234 # https://www.mail-archive.com/xen-devel@lists.xen.org/msg67822.html 234 # https://www.mail-archive.com/xen-devel@lists.xen.org/msg67822.html
235 unset CFLAGS 235 unset CFLAGS
236} 236}
237 237
238do_install_prepend() { 238do_install:prepend() {
239 # CFLAGS is used to set PY_CFLAGS which affects the pygrub install 239 # CFLAGS is used to set PY_CFLAGS which affects the pygrub install
240 # so also need to unset CFLAGS here: 240 # so also need to unset CFLAGS here:
241 unset CFLAGS 241 unset CFLAGS