[U-Boot] How do I tell buildman to use a /specific/ toolchain?

Stephen Warren swarren at wwwdotorg.org
Wed Sep 23 21:47:57 CEST 2015


Simon,

I have 3 different ARM toolchains installed into /usr/bin via distro 
packages. How do I tell buildman which of those to use?

I had originally thought that ~/.buildman's [toolchain] section 
contained CROSS_COMPILE-like values, so I tried:

> [toolchain]
> root: /
> arm0-not-installed: arm-none-gnueabi-
> arm1: arm-none-eabi-
> arm2: arm-linux-gnueabihf-
> arm3: arm-linux-gnueabi-
> arch64: aarch64-linux-gnu-
>
> [toolchain-alias]
> arm: arm1
> aarch64: aarch64

(I intended to change the "arm: arm1" line to point at arm1/2/3 based on 
which I wanted to use at a particular time).

However, running "buildman --list-toolchains" and re-reading the docs 
shows me that the [toolchain] values are absolute directories that 
buildman searches for files named *-gcc:

>    - scanning path 'arm-none-gnueabi-'
>       - looking in 'arm-none-gnueabi-/.'
>       - looking in 'arm-none-gnueabi-/bin'
>       - looking in 'arm-none-gnueabi-/usr/bin'

If buildman finds multiple toolchains, there doesn't seem to be a way to 
tell it which one to use. Am I missing something?

I suppose a solution wouuld be to move the compiler binaries into 
different separate directories, and only list one of those directories 
in ~/.buildman. However, I can't do that for distro-packaged toolchains 
(well, I suppose I could manually mv everything all over the place, but 
that's really fragile since it'd break any time the package got upgraded 
or removed and re-installed).

I think it makes sense to add new syntax into ~/.buildman to specify 
"don't do automagical searching, just use this CROSS_COMPILE value that 
I say". Does that sound reasonable? Automagic stuff makes for great 
defaults, but if it can't be overridden, it sucks when you actually know 
what you want.


More information about the U-Boot mailing list