[U-Boot] [PATCH 8/8] buildman: Add a way to specific a full toolchain prefix

Simon Glass sjg at chromium.org
Sun Mar 13 02:50:59 CET 2016


Hi Stephen,

On 7 March 2016 at 14:08, Stephen Warren <swarren at wwwdotorg.org> wrote:
> On 03/06/2016 07:45 PM, Simon Glass wrote:
>>
>> At present buildman allows you to specify the directory containing the
>> toolchain, but not the actual toolchain prefix. If there are multiple
>> toolchains in a single directory, this can be inconvenient.
>>
>> Add a new 'toolchain-prefix' setting to the settings file, which allows
>> the full prefix (or path to the C compiler) to be specified.
>>
>> Update the documentation to match.
>
>
> Since these are explicit requests, it would be nice if there was an obvious
> failure if the requested toolchain was not found, rather than just falling
> back to the existing search behaviour. For example, I expected the following
> to work:
>
> [toolchain-prefix]
> arm: arm-none-eabi-
>
> ... but that was silently ignored. Instead I needed to write:

I' ll add an error for that.

>
> [toolchain-prefix]
> arm: /usr/bin/arm-none-eabi-
>

OK, I'll add PATH scanning.

> Aside from that this patch works for me. I was rather hoping for a cmdline
> or environment override, but I guess that feeling is influenced by needing
> to change CROSS_COMPILE when switching between architectures; with
> ~/.buildman I don't need that, so setting it up once in a file should be OK.
>
> When I tested this I wanted to make sure the request had been honored. I
> tried telling buildman not to hide the build output, but the following still
> prints almost nothing:
>
> ./tools/buildman/buildman -c 1 -T 1 -v -V p2371-2180
>
> According to "buildman --help", that should print the full make output.
>

Actually it just logs it - see the 'log' file. I'll update the help
and README to make that clear.

> I also looked in the buildman work tree to see if the request had been
> honored, at file
> ../.bm-work/00/build/arch/arm/mach-tegra/.cmd_enterrcm.o.cmd. That looked
> fine, although ~/.buildman specified /usr/bin/aarch64-linux-gnu- as the
> prefix whereas the command in that .o.cmd file was just
> "aarch64-linux-gnu-gcc" without the path. It looks like buildman or Kbuild
> is stripping off the leading path elements because /usr/bin is in the $PATH.
> Is that expected?

It isn't buildman doing that - see the 'toolchain' file for the
toolchain it uses for the build. I suppose it is a feature of Kbuild.
Masahiro might know more about that.

Regards,
Simon


More information about the U-Boot mailing list