toolchain/toolchain-bare-metal-buildroot: new toolchain

This patch adds a new virtual package for adding a bare-metal
toolchain to Buildroot. For now, it depends on nothing, so it will not
actually build anything, but it defines some options that will be
needed by the various packages that will be part of this toolchain
build process.

Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@amd.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Neal Frager 2024-01-31 11:22:13 +00:00 committed by Thomas Petazzoni
parent 99186e42f0
commit 7befbaaea7
5 changed files with 38 additions and 0 deletions

View File

@ -1385,6 +1385,9 @@ F: package/mrp/
N: Ian Haylock <haylocki@yahoo.co.uk>
F: package/python-rpi-gpio/
N: Ibai Erkiaga <ibai.erkiaga-elorza@amd.com>
F: toolchain/toolchain-bare-metal-buildroot/
N: Ignacy Gawędzki <ignacy.gawedzki@green-communications.fr>
F: package/angularjs/
@ -2268,6 +2271,7 @@ F: configs/zynqmp_zcu104_defconfig
F: configs/zynqmp_zcu106_defconfig
F: package/bootgen/
F: package/versal-firmware/
F: toolchain/toolchain-bare-metal-buildroot/
N: Nicola Di Lieto <nicola.dilieto@gmail.com>
F: package/uacme/

View File

@ -923,4 +923,14 @@ config BR2_TOOLCHAIN_HAS_LIBQUADMATH
default y if BR2_i386 || BR2_x86_64
default y if BR2_POWERPC_CPU_HAS_VSX
comment "Bare metal toolchain"
config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT
bool "Build a bare metal toolchain"
help
Select if you need a bare-metal toolchain for building
platform specific firmware images.
source "toolchain/toolchain-bare-metal-buildroot/Config.in"
endmenu

View File

@ -0,0 +1,9 @@
if BR2_TOOLCHAIN_BARE_METAL_BUILDROOT
config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH
string "architecture tuple"
help
This option allows to define the architecture tuple for the
bare-metal toolchain.
endif # BR2_TOOLCHAIN_BARE_METAL_BUILDROOT

View File

@ -0,0 +1,12 @@
################################################################################
#
# toolchain-bare-metal-buildroot
#
################################################################################
TOOLCHAIN_BARE_METAL_BUILDROOT_DEPENDENCIES =
TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE = $(call qstrip,$(BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH))
TOOLCHAIN_BARE_METAL_BUILDROOT_SYSROOT = $(HOST_DIR)/$(TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH_TUPLE)/sysroot
TOOLCHAIN_BARE_METAL_BUILDROOT_ADD_TOOLCHAIN_DEPENDENCY = NO
$(eval $(virtual-package))

View File

@ -36,11 +36,14 @@ symbols_defined_only_for_barebox_variant = [
]
# toolchain/toolchain/toolchain.mk
# toolchain/toolchain-buildroot/toolchain-buildroot.mk
# toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk
symbols_not_defined_for_fake_virtual_packages = [
'BR2_PACKAGE_HAS_TOOLCHAIN',
'BR2_PACKAGE_HAS_TOOLCHAIN_BUILDROOT',
'BR2_PACKAGE_HAS_TOOLCHAIN_BARE_METAL_BUILDROOT',
'BR2_PACKAGE_PROVIDES_TOOLCHAIN',
'BR2_PACKAGE_PROVIDES_TOOLCHAIN_BUILDROOT',
'BR2_PACKAGE_PROVIDES_TOOLCHAIN_BARE_METAL_BUILDROOT',
]
# fs/common.mk
suffixes_not_defined_for_all_rootfs_types = [