diff --git a/DEVELOPERS b/DEVELOPERS index 94952f72a8..5cc4d37aef 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1385,6 +1385,9 @@ F: package/mrp/ N: Ian Haylock F: package/python-rpi-gpio/ +N: Ibai Erkiaga +F: toolchain/toolchain-bare-metal-buildroot/ + N: Ignacy Gawędzki 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 F: package/uacme/ diff --git a/toolchain/Config.in b/toolchain/Config.in index 34e0ae2c5f..64a07f91dc 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -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 diff --git a/toolchain/toolchain-bare-metal-buildroot/Config.in b/toolchain/toolchain-bare-metal-buildroot/Config.in new file mode 100644 index 0000000000..3c99c7e1b5 --- /dev/null +++ b/toolchain/toolchain-bare-metal-buildroot/Config.in @@ -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 diff --git a/toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk b/toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk new file mode 100644 index 0000000000..4dc36ef3f3 --- /dev/null +++ b/toolchain/toolchain-bare-metal-buildroot/toolchain-bare-metal-buildroot.mk @@ -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)) diff --git a/utils/checksymbolslib/br.py b/utils/checksymbolslib/br.py index 846a609829..f9dc336e64 100644 --- a/utils/checksymbolslib/br.py +++ b/utils/checksymbolslib/br.py @@ -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 = [