mirror of
https://git.yoctoproject.org/meta-zephyr
synced 2026-09-15 18:49:31 +02:00
Zephyr upstream contains CMake configuration for a "cross-compile" toolchain for "other cross compilers" which works with the Yocto-built toolchain out-of-the-box, so use this instead of the "yocto" toolchain, which requires a downstream patch to be carried. The Yocto-built toolchain does not support --print-sysroot so that toolchains can be shared between multiple builds with different sysroots, so manually set SYSROOT_DIR to the staging directory. Use the "cross-compile" toolchain by default. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
56 lines
1.4 KiB
PHP
56 lines
1.4 KiB
PHP
# Common settings for all Zephyr recipes
|
|
|
|
ZEPHYR_INHERIT_CLASSES += "zephyr cmake"
|
|
inherit ${ZEPHYR_INHERIT_CLASSES}
|
|
|
|
# There shouldn't be a manifest for zephyr kernels since there is no root
|
|
# filesystem.
|
|
IMAGE_NO_MANIFEST = "1"
|
|
|
|
ZEPHYR_TOOLCHAIN_VARIANT ?= "cross-compile"
|
|
require zephyr-toolchain-${ZEPHYR_TOOLCHAIN_VARIANT}.inc
|
|
|
|
ZEPHYR_MAKE_OUTPUT = "zephyr.elf"
|
|
ZEPHYR_MAKE_BIN_OUTPUT = "zephyr.bin"
|
|
ZEPHYR_MAKE_EFI_OUTPUT = "zephyr.efi"
|
|
|
|
EXTRA_OECMAKE = "\
|
|
-DZEPHYR_BASE=${ZEPHYR_BASE} \
|
|
-DBOARD=${BOARD} \
|
|
-DARCH=${ARCH} \
|
|
-DZEPHYR_TOOLCHAIN_VARIANT=${ZEPHYR_TOOLCHAIN_VARIANT} \
|
|
-DZEPHYR_MODULES=${ZEPHYR_MODULES} \
|
|
"
|
|
|
|
ZEPHYR_EXTRA_MODULES = ""
|
|
|
|
EXTRA_OECMAKE:append = " -DZEPHYR_EXTRA_MODULES=${ZEPHYR_EXTRA_MODULES}"
|
|
|
|
export ZEPHYR_BASE="${S}/zephyr"
|
|
|
|
DEPENDS += "gperf-native"
|
|
|
|
DEPENDS:append:qemuall = " qemu-native qemu-helper-native"
|
|
|
|
# The makefiles are explicit about the flags they want, so don't unset
|
|
# them so zephyr flags actually get used.
|
|
# This is done here rather than in the task so that things still work
|
|
# in devshell.
|
|
|
|
python () {
|
|
d.delVar('CFLAGS')
|
|
d.delVar('CXXFLAGS')
|
|
d.delVar('LDFLAGS')
|
|
}
|
|
|
|
OE_TERMINAL_EXPORTS += "BOARD"
|
|
OE_TERMINAL_EXPORTS += "ZEPHYR_SRC_DIR"
|
|
OE_TERMINAL_EXPORTS += "ZEPHYR_BASE"
|
|
|
|
IMAGE_FSTYPES = "elf bin"
|
|
|
|
do_configure:prepend() {
|
|
# Zephyr expects CPPFLAGS as cmake argument as and ignores env variables.
|
|
unset CPPFLAGS
|
|
}
|