
On Tuesday 18 October 2011 16:07:38 Wolfgang Denk wrote:
Mike Frysinger 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.
my proposal is only for the default behavior, and it only searches $PATH. if the auto-lookup isn't what the user wants, they still can set CROSS_COMPILE= themselves. so all existing usage is unchanged.
to add a further bit of flexibility, i might also propose that MAKEALL check the variable CROSS_COMPILE_<arch> and automatically set CROSS_COMPILE to that before running `make`. this way people can do CROSS_COMPILE_arm=... CROSS_COMPILE_powerpc=... ./MAKEALL arm powerpc. -mike