From c7a198d7472b4767047dbbfeecb4d941055262b3 Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Tue, 17 May 2011 14:44:45 -0700 Subject: u-boot: remove UBOOT_MACHINE and COMPATIBLE_MACHINES oe-core does not define any machines, so it does not make sense to add machine specific information in the oe-core u-boot recipe and infrastructure. Also note that COMPATIBLE_MACHINES is not easily extended due to its regex syntax: "(machine_a|machine_b)", making it difficult to extend the u-boot recipe in bbappend files without resorting to machine specific overrides. Remove COMPATIBLE_MACHINES and the default UBOOT_MACHINE from the recipe and insert some anonymous python into u-boot.inc to raise SkipPackage if UBOOT_MACHINE is not set (this ensures 'world' still works for machines that can't build u-boot). UBOOT_MACHINE must now be specified in each machine config that requires u-boot. This is an improvement over requiring machine specific overrides in every BSP layer's u-boot_git.bbappend file. For example, a beagleboard machine config currently contains: UBOOT_ENTRYPOINT = "0x80008000" UBOOT_LOADADDRESS = "0x80008000" With this change, it must now contain: UBOOT_MACHINE = "omap3_beagle_config" UBOOT_ENTRYPOINT = "0x80008000" UBOOT_LOADADDRESS = "0x80008000" So long as the SRC_URI in the base recipe can build a working u-boot for a given machine, there is no need to create a u-boot_git.bbappend file. If additional patches are deemed necessary, a BSP layer creates a u-boot_git.bbappend file and extends the SRC_URI to include general or machine specific backports. Note: I used bb.note() instead of bb.debug() to ensure the message at least makes it to the console. From what I could gather, bb.debug() doesn't go anywhere during recipe parsing. Signed-off-by: Darren Hart Cc: Richard Purdie Cc: Koen Kooi Cc: Jason Kridner Cc: Chris Larson --- meta/recipes-bsp/uboot/u-boot.inc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'meta/recipes-bsp/uboot/u-boot.inc') diff --git a/meta/recipes-bsp/uboot/u-boot.inc b/meta/recipes-bsp/uboot/u-boot.inc index 058e3bad1..83dfb6fa8 100644 --- a/meta/recipes-bsp/uboot/u-boot.inc +++ b/meta/recipes-bsp/uboot/u-boot.inc @@ -11,7 +11,15 @@ PARALLEL_MAKE="" # GCC 4.5.1 builds unusable binaries using -Os, remove it from OPTFLAGS EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} OPTFLAGS='-O2'" -UBOOT_MACHINE ?= "${MACHINE}_config" +python () { + if not d.getVar("UBOOT_MACHINE", True): + PN = d.getVar("PN", True) + FILE = os.path.basename(d.getVar("FILE", True)) + bb.debug(1, "To build %s, see %s for instructions on \ + setting up your machine config" % (PN, FILE)) + raise bb.parse.SkipPackage("because UBOOT_MACHINE is not set") +} + UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin" UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin" UBOOT_MAKE_TARGET ?= "all" -- cgit v1.2.3