mirror of
https://git.yoctoproject.org/meta-zephyr
synced 2026-09-12 00:49:30 +02:00
zephyr.bbclass: Remove need for MACHINEOVERRIDES for ZEPHYR_MODULES
This commit removes the need for calling out ZEPHYR_MODULES via MACHINEOVERRIDES. It uses west list to figure out what ZEPHYR_MODULES are available and attaches them to -DZEPHYR_MODULES. Additional out of tree modules may be added via ZEPHYR_EXTRA_MODULES. Signed-off-by: Eilís Ní Fhlannagáin <elizabeth.flanagan@huawei.com> Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
This commit is contained in:
committed by
Naveen Saini
parent
de73bdbaba
commit
4ea9140deb
@@ -5,8 +5,6 @@
|
||||
|
||||
require conf/machine/include/tune-cortexm4.inc
|
||||
|
||||
MACHINEOVERRIDES =. "nordic:"
|
||||
|
||||
TUNE_FEATURES = "armv7m cortexm4"
|
||||
|
||||
# Target type for this machine used by Pyocd
|
||||
|
||||
@@ -5,7 +5,4 @@
|
||||
|
||||
require conf/machine/include/tune-cortexm4.inc
|
||||
|
||||
# Include OpenAMP for communication with Cortex-A7 core of the SoC
|
||||
MACHINEOVERRIDES =. "stm32:openamp:"
|
||||
|
||||
TUNE_FEATURES = "armv7m cortexm4"
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
inherit terminal
|
||||
inherit python3native
|
||||
|
||||
PYTHONPATH="${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages"
|
||||
|
||||
OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS TERMINFO CROSS_CURSES_LIB CROSS_CURSES_INC"
|
||||
HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
|
||||
@@ -21,6 +24,45 @@ python () {
|
||||
d.setVar('BOARD',board)
|
||||
}
|
||||
|
||||
do_get_zmods() {
|
||||
|
||||
export PYTHONPATH="${RECIPE_SYSROOT_NATIVE}/${libdir}/${PYTHON_DIR}/site-packages:${RECIPE_SYSROOT_NATIVE}/${libdir}/${PYTHON_DIR}"
|
||||
cd ${S}
|
||||
|
||||
# I really dislike how tied in this is to west, but without reimplementing their script, this seems to be the
|
||||
# easiest way to do this
|
||||
rm -rf .west; mkdir .west
|
||||
cat << EOF >> ${S}/.west/config
|
||||
[manifest]
|
||||
path = .
|
||||
file = west.yml
|
||||
EOF
|
||||
|
||||
# Because of how we structure things, we need to either structure this more like a west workspace or just tweak
|
||||
# the manifest in order to get access to the west extentions like build and whatnot. Tweaking the manifest is the
|
||||
# easier path here and minimizes the amount of breakage that might occur.
|
||||
|
||||
sed -i 's/path: zephyr/path: ./' west.yml
|
||||
|
||||
# Get all available modules and add them to ZEPHYR_MODULES
|
||||
for i in $(west list|awk 'NR>1 {print $2}'); do
|
||||
ZEPHYR_MODULES="${S}/$i\;${ZEPHYR_MODULES}"
|
||||
done
|
||||
export ZEPHYR_MODULES
|
||||
}
|
||||
|
||||
do_get_zmods[nostamp] = "1"
|
||||
do_get_zmods[dirs] = "${B}"
|
||||
|
||||
EXTRA_OECMAKE:append = " -DZEPHYR_MODULES=${ZEPHYR_MODULES}"
|
||||
|
||||
addtask get_zmods after do_patch before do_configure
|
||||
do_get_zmods[depends] += "west-native:do_populate_sysroot"
|
||||
do_get_zmods[depends] += "python3-pyyaml-native:do_populate_sysroot"
|
||||
do_get_zmods[depends] += "python3-pykwalify-native:do_populate_sysroot"
|
||||
do_get_zmods[depends] += "python3-colorama-native:do_populate_sysroot"
|
||||
do_get_zmods[depends] += "python3-pyelftools-native:do_populate_sysroot"
|
||||
|
||||
python do_menuconfig() {
|
||||
os.chdir(d.getVar('ZEPHYR_SRC_DIR', True))
|
||||
configdir = d.getVar('ZEPHYR_SRC_DIR', True) + '/outdir/' + d.getVar('BOARD', True)
|
||||
|
||||
@@ -18,3 +18,5 @@ LAYERDEPENDS_zephyrcore = "core meta-python"
|
||||
LAYERSERIES_COMPAT_zephyrcore = "dunfell gatesgarth hardknott honister"
|
||||
|
||||
X86_TUNE_DIR = "${@bb.utils.contains('LAYERSERIES_CORENAMES', 'honister', 'include/x86', 'include', d)}"
|
||||
|
||||
PYTHON3_NATIVE_SITEPACKAGES_DIR = "${libdir_native}/${PYTHON3_DIR}/site-packages"
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
ZEPHYR_INHERIT_CLASSES += "zephyr cmake"
|
||||
inherit ${ZEPHYR_INHERIT_CLASSES}
|
||||
inherit python3native
|
||||
|
||||
# There shouldn't be a manifest for zephyr kernels since there is no root
|
||||
# filesystem.
|
||||
@@ -24,19 +23,17 @@ EXTRA_OECMAKE = "\
|
||||
-DZEPHYR_SYSROOT=${ZEPHYR_SYSROOT} \
|
||||
-DZEPHYR_TOOLCHAIN_VARIANT=yocto \
|
||||
-DEXTRA_CPPFLAGS=${CPPFLAGS} \
|
||||
-DZEPHYR_MODULES=${ZEPHYR_MODULES} \
|
||||
"
|
||||
|
||||
ZEPHYR_MODULES = ""
|
||||
ZEPHYR_MODULES:append:arm = "\;${S}/modules/cmsis"
|
||||
ZEPHYR_MODULES:append:nordic = "\;${S}/modules/hal/nordic"
|
||||
ZEPHYR_MODULES:append:stm32 = "\;${S}/modules/hal/stm32"
|
||||
ZEPHYR_MODULES:append:openamp = "\;${S}/modules/lib/open-amp\;${S}/modules/hal/libmetal"
|
||||
ZEPHYR_EXTRA_MODULES = ""
|
||||
|
||||
EXTRA_OECMAKE:append = " -DZEPHYR_MODULES=${ZEPHYR_MODULES}"
|
||||
EXTRA_OECMAKE:append = " -DZEPHYR_EXTRA_MODULES=${ZEPHYR_EXTRA_MODULES}"
|
||||
|
||||
export ZEPHYR_BASE="${S}"
|
||||
|
||||
DEPENDS += "gperf-native python3-pyelftools-native python3-pyyaml-native python3-pykwalify-native"
|
||||
DEPENDS += "gperf-native"
|
||||
|
||||
CROSS_COMPILE = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}"
|
||||
|
||||
DEPENDS:append:qemuall = " qemu-native qemu-helper-native"
|
||||
|
||||
Reference in New Issue
Block a user