On 05/26/2011 12:47 AM, Jason Kridner wrote: > I think this is a good change. One comment below... > > On May 26, 2011, at 12:02 AM, Darren Hart <dvh...@linux.intel.com> wrote: > >> 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. >> >> Signed-off-by: Darren Hart <dvh...@linux.intel.com> >> Cc: Richard Purdie <richard.pur...@linuxfoundation.org> >> Cc: Koen Kooi <k...@dominion.thruhere.net> >> Cc: Jason Kridner <jkrid...@beagleboard.org> >> --- >> meta/recipes-bsp/uboot/u-boot.inc | 8 +++++++- >> meta/recipes-bsp/uboot/u-boot_git.bb | 11 ++++++----- >> 2 files changed, 13 insertions(+), 6 deletions(-) >> >> diff --git a/meta/recipes-bsp/uboot/u-boot.inc >> b/meta/recipes-bsp/uboot/u-boot.inc >> index 058e3ba..a54cf24 100644 >> --- a/meta/recipes-bsp/uboot/u-boot.inc >> +++ b/meta/recipes-bsp/uboot/u-boot.inc >> @@ -11,7 +11,13 @@ 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 bb.data.getVar('UBOOT_MACHINE', d, 1): >> + bb.debug("To build %s, see u-boot_git.bb for instructions on \ > > If this file was renamed, don't you also want to update this printout?
Oh, tricky. This should be addressed in the 2/2 patch.... but what to name it too. Do I have access to the filename of the recipe that included this one, causing this code to run? Perhaps I should move the instructions into this .inc file since the u-boot_*.bb recipe name will change over time if my 2/2 patch is accepted? Thoughts? -- Darren > >> + setting up your machine config" % pn) >> + 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" >> diff --git a/meta/recipes-bsp/uboot/u-boot_git.bb >> b/meta/recipes-bsp/uboot/u-boot_git.bb >> index 4c8f5df..0fbb9ba 100644 >> --- a/meta/recipes-bsp/uboot/u-boot_git.bb >> +++ b/meta/recipes-bsp/uboot/u-boot_git.bb >> @@ -1,5 +1,11 @@ >> require u-boot.inc >> >> +# To build u-boot for your machine, provide the following lines in your >> machine >> +# config, replacing the assignments as appropriate for your machine. >> +# UBOOT_MACHINE = "omap3_beagle_config" >> +# UBOOT_ENTRYPOINT = "0x80008000" >> +# UBOOT_LOADADDRESS = "0x80008000" >> + >> LICENSE = "GPLv2+" >> LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb \ >> >> file://README;beginline=1;endline=22;md5=3a00ef51d3fc96e9d6c1bc4708ccd3b5" >> @@ -12,11 +18,6 @@ PR="r3" >> >> SRC_URI = "git://git.denx.de/u-boot.git;branch=master;protocol=git" >> >> -UBOOT_MACHINE_beagleboard = "omap3_beagle_config" >> -UBOOT_MACHINE_overo = "omap3_overo_config" >> - >> S = "${WORKDIR}/git" >> >> PACKAGE_ARCH = "${MACHINE_ARCH}" >> - >> -COMPATIBLE_MACHINE = "(beagleboard|overo)" >> -- >> 1.7.1 >> -- Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core