[U-Boot] MAKEALL

Graeme Russ graeme.russ at gmail.com
Wed Oct 19 00:33:48 CEST 2011


Hi Wolfgang,

On Wed, Oct 19, 2011 at 7:07 AM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Mike Frysinger,
>
> In message <201110181301.57390.vapier at gentoo.org> you wrote:
>>
>> because MAKEALL is a pita to use.  it has no automatic CROSS_COMPILE support,
>> and the current logic only allows one-CROSS_COMPILE-setting-per-run.  so you
>> have to run MAKEALL by hand once per arch.
>>
>> the documentation you quote only shows running MAKEALL for powerpc (since
>> that's the default), so even the docs are a bit unclear.
>>
>> ideally, MAKEALL should be intelligent and automatically find an appropriate
>> toolchain if one isn't setup in the env.  much like the buildall script i
>> posted recently.
>
> How is this supposed to work?  Assume I have a number of different
> tool chains, say I want to use the tool chain in /opt/eldk-5.1/armv5te
> for all ARM9 systems, that in /opt/eldk-5.1/armv7a for all OMAP based
> boards, that in /opt/eldk-5.1/armv6 for Kirkwood processors and yet
> another one for the (bix endian) PXA boards.  In all cases we have
> ARCH=arm and CROSS_COMPILE=arm-linux-gnueabi-
>
> And then, for compatibility testings, I want to compile all this with
> ELDK 4.2.  Or ELDK 4.1. Or CodeSourcery xxx. Or...
>
> I see no clean way to implement this - ok, we could provide an
> external tool / data base that maps boards or SoC names to
> CROSS_COMPILE/ARCH/PATH settings, which each user has to configure for
> his own set of tool chain settings.

IMHO, for running MAKEALL, I see no problem with this. If we had a
'toolchains.cfg' file which could be a format like:

#ARCH	SOC	BOARD	TOOLCHAIN
x86	sc520	-	/path/to/gcc

This would give new developers a head-up as to what the defacto toolchains
are

We can then have 'toolchains.cfg.local' which is added to .gitignore so
individual users can override the toolchain. But all patch submissions
must pass MAKEALL without using toolchains.cfg.local (something like
'MAKEALL --no-custom-toolchains'. The first thing MAKEALL should do is
scan toolchains.cfg (and toolchains.cfg.local if required) for each
selected arch and check that each toolchain is available and spit out
'toolchain not available' warnings.

All we need to do then is setup our build machines to do an automated
git-pull and MAKEALL

Regards,

Graeme


More information about the U-Boot mailing list