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? > + 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 > _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core