Since ARCH is just a function now we can move it into the target class usages
and drop it from the default environment. We still have to export in some
cases where the usage is unknown but this does significatly reduce the
scope and number of places exported to.

Signed-off-by: Richard Purdie <[email protected]>
---
 meta/classes-recipe/devicetree.bbclass                       | 4 +++-
 meta/classes-recipe/kernel-arch.bbclass                      | 5 -----
 meta/classes-recipe/kernel.bbclass                           | 3 +++
 meta/classes-recipe/module-base.bbclass                      | 1 +
 meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb | 3 ++-
 meta/recipes-kernel/perf/perf.bb                             | 2 ++
 6 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/meta/classes-recipe/devicetree.bbclass 
b/meta/classes-recipe/devicetree.bbclass
index ce9d008aac1..4fe389bed83 100644
--- a/meta/classes-recipe/devicetree.bbclass
+++ b/meta/classes-recipe/devicetree.bbclass
@@ -29,7 +29,9 @@ LIC_FILES_CHKSUM ?= 
"file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171
 INHIBIT_DEFAULT_DEPS = "1"
 DEPENDS += "dtc-native"
 
-inherit deploy kernel-arch
+inherit deploy
+
+export ARCH = "${@oe.kernel.map_kernel_arch(d)}"
 
 COMPATIBLE_MACHINE ?= "^$"
 
diff --git a/meta/classes-recipe/kernel-arch.bbclass 
b/meta/classes-recipe/kernel-arch.bbclass
index db708c35104..eb598d98b6e 100644
--- a/meta/classes-recipe/kernel-arch.bbclass
+++ b/meta/classes-recipe/kernel-arch.bbclass
@@ -4,11 +4,6 @@
 # SPDX-License-Identifier: MIT
 #
 
-# set the ARCH environment variable for kernel compilation (including
-# modules). return value must match one of the architecture directories
-# in the kernel source "arch" directory
-export ARCH = "${@oe.kernel.map_kernel_arch(d)}"
-
 # Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture
 # specific options necessary for building the kernel and modules.
 TARGET_CC_KERNEL_ARCH ?= ""
diff --git a/meta/classes-recipe/kernel.bbclass 
b/meta/classes-recipe/kernel.bbclass
index aeaec8ccbd4..28460ce1cb9 100644
--- a/meta/classes-recipe/kernel.bbclass
+++ b/meta/classes-recipe/kernel.bbclass
@@ -6,6 +6,8 @@
 
 inherit linux-kernel-base kernel-module-split features_check
 
+ARCH = "${@oe.kernel.map_kernel_arch(d)}"
+
 COMPATIBLE_HOST = ".*-linux"
 
 # Linux has a minimum ISA requires on riscv, see arch/riscv/Makefile
@@ -245,6 +247,7 @@ UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
 # Some Linux kernel configurations need additional parameters on the command 
line
 KERNEL_EXTRA_ARGS ?= ""
 
+EXTRA_OEMAKE += ' ARCH="${@oe.kernel.map_kernel_arch(d)}"'
 EXTRA_OEMAKE += ' CC="${KERNEL_CC}" LD="${KERNEL_LD}" 
OBJCOPY="${KERNEL_OBJCOPY}" STRIP="${KERNEL_STRIP}"'
 EXTRA_OEMAKE += ' HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" 
HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"'
 EXTRA_OEMAKE += ' HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}"'
diff --git a/meta/classes-recipe/module-base.bbclass 
b/meta/classes-recipe/module-base.bbclass
index 2a225881ba4..d52de45f4a5 100644
--- a/meta/classes-recipe/module-base.bbclass
+++ b/meta/classes-recipe/module-base.bbclass
@@ -10,6 +10,7 @@ inherit kernel-arch
 # in sstate, so we must force do_compile to run (once).
 do_configure[depends] += "make-mod-scripts:do_compile"
 
+export ARCH = "${@oe.kernel.map_kernel_arch(d)}"
 export OS = "${TARGET_OS}"
 export CROSS_COMPILE = "${TARGET_PREFIX}"
 
diff --git a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb 
b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
index ab984f4bcfe..6e64918f5b5 100644
--- a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
+++ b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
@@ -21,7 +21,8 @@ DEPENDS += "gmp-native"
 INHIBIT_DEFAULT_DEPS = "1"
 DEPENDS += "virtual/cross-cc virtual/cross-binutils"
 
-EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" 
HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
+EXTRA_OEMAKE = ' ARCH="${@oe.kernel.map_kernel_arch(d)}"'
+EXTRA_OEMAKE += " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" 
HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
 EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX} ${BUILD_CXXFLAGS} ${BUILD_LDFLAGS}" 
CROSS_COMPILE=${TARGET_PREFIX}"
 
 KERNEL_LOCALVERSION = 
"${@oe.kernel.get_localversion_file("${STAGING_KERNEL_BUILDDIR}")}"
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index e3e5d55e396..5fa98a0d94b 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -58,6 +58,8 @@ PROVIDES = "virtual/perf"
 
 inherit linux-kernel-base kernel-arch manpages pkgconfig
 
+ARCH = "${@oe.kernel.map_kernel_arch(d)}"
+
 # needed for building the tools/perf Python bindings
 inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 
'python3targetconfig', '', d)}
 inherit python3-dir
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#242542): 
https://lists.openembedded.org/g/openembedded-core/message/242542
Mute This Topic: https://lists.openembedded.org/mt/120561033/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to