Re: [RFC] Get rid of SUBARCH

Rob Landley
2013-08-22T21:33:06Z

On 08/22/2013 03:55:20 PM, David Daney wrote:
> On 08/22/2013 01:41 PM, Rob Landley wrote:
>> On 08/22/2013 07:58:26 AM, Geert Uytterhoeven wrote:
>>> On Wed, Aug 21, 2013 at 9:51 PM, Sam Ravnborg <sam@ravnborg.org>
>>> wrote:
>>> >> > The series touches also m68k, sh, mips and unicore32.
>>> >> > These architectures magically select a cross compiler if ARCH
>>> !=
>>> SUBARCH.
>>> >> > Do really need that behavior?
>>> >>
>>> >> This does remove functionality.
>>> >> It allows to build a kernel using e.g. "make ARCH=m68k".
>>> >>
>>> >> Perhaps this can be moved to generic code? Most (not all!)
>>> cross-toolchains
>>> >> are called $ARCH-{unknown-,}linux{,-gnu}.
>>> >> Exceptions are e.g. am33_2.0-linux and bfin-uclinux.
>>> >
>>> > Today you can specify CROSS_COMPILE in Kconfig.
>>> > With this we should be able to remove these hacks.
>>>
>>> The correct CROSS_COMPILE value depends on the host environment, not
>>> on the target configuration.
>>
>> Actually it depends on _both_.
>>
>
> I think the important issue is not the exact dependencies of the
> value of CROSS_COMPILE, but rather that it varies enough that
> automatically choosing a value based on SUBARCH often gives the wrong
> result.
>
> Removing SUBARCH and setting CROSS_COMPILE either from the make
> command line (or environment) or the config file, is a good idea
> because it simplifies the build system, makes things clearer, and
> yields more predictable results.
>
> David Daney

Agreed. Expecting the build to guess the right $CROSS_COMPILE is like
expecting it to guess the right $PATH. It should be specified, not
heuristically probed.

Rob