Hi Tom, On 20 October 2015 at 09:21, Tom Rini <tr...@konsulko.com> wrote: > > On Sun, Oct 04, 2015 at 05:38:41PM +0100, Simon Glass wrote: > > Hi Stephen, > > > > On 3 October 2015 at 20:20, Stephen Warren <swar...@wwwdotorg.org> wrote: > > > On 10/03/2015 08:30 AM, Simon Glass wrote: > > >> Hi Stephen, > > >> > > >> On 2 October 2015 at 00:27, Stephen Warren <swar...@wwwdotorg.org> wrote: > > >>> On 10/01/2015 04:59 PM, Simon Glass wrote: > > >>>> > > >>>> Hi Stephen, > > >>>> > > >>>> On Wednesday, 23 September 2015, Stephen Warren <swar...@wwwdotorg.org> > > >>>> wrote: > > >>>>> > > >>>>> > > >>>>> 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. > > >>>> > > >>>> > > >>>> Yes I think it would be fine to add an option to use CROSS_COMPILE (of > > >>>> course it would fail if you tried to build the board with the wrong > > >>>> arch). > > >>> > > >>> > > >>> I wasn't necessarily looking for buildman to pick up the CROSS_COMPILE > > >>> environment variable, although that would be a simple solution for > > >>> single-arch builds at least. My mention of CROSS_COMPILE immediately > > >>> above > > >>> was re: using values that are formatted in the same way as the > > >>> CROSS_COMPILE > > >>> environment variable would be, rather than directory names, in the > > >>> config > > >>> file. In other words, the example content I showed above. > > >>> > > >>>> The option other option at present is -G which lets you use multiple > > >>>> .buildman files. You could have one of these for each toolchain. > > >>> > > >>> > > >>> I don't think that gets me what I want. As far as I can tell, the > > >>> buildman > > >>> config file contains a list directories to search within, yet if I have > > >>> 3 > > >>> toolchains in a single directory, there's no way to select which one I > > >>> want > > >>> to use, is there? > > >>> > > >>> In other words, a config file that contains: > > >>> > > >>> [toolchain] > > >>> distro-packages: /usr/bin > > >>> > > >>> ... finds the following toolchains: > > >>> > > >>> [swarren@swarren-lx1 u-boot]$ ./tools/buildman/buildman \ > > >>> --list-tool-chains > > >>> Scanning for tool chains > > >>> - scanning path '/usr/bin' > > >>> - looking in '/usr/bin/.' > > >>> - found '/usr/bin/./arm-linux-gnueabi-gcc' > > >>> - found '/usr/bin/./arm-linux-gnueabihf-gcc' > > >>> - found '/usr/bin/./arm-none-eabi-gcc' > > >>> (That's 3 AArch32 toolchains found) > > >>> - found '/usr/bin/./winegcc' > > >>> - found '/usr/bin/./aarch64-linux-gnu-gcc' > > >>> - found '/usr/bin/./gcc' > > >>> - found '/usr/bin/./c89-gcc' > > >>> - found '/usr/bin/./x86_64-linux-gnu-gcc' > > >>> - found '/usr/bin/./i586-mingw32msvc-gcc' > > >>> - found '/usr/bin/./c99-gcc' > > >>> - looking in '/usr/bin/bin' > > >>> - looking in '/usr/bin/usr/bin' > > >>> Tool chain test: OK > > >>> Tool chain test: OK > > >>> Tool chain test: OK > > >>> Tool chain test: OK > > >>> Tool chain test: OK > > >>> Tool chain test: OK > > >>> Tool chain test: OK > > >>> Tool chain test: OK > > >>> Tool chain test: OK > > >>> Tool chain test: OK > > >>> List of available toolchains (7): > > >>> aarch64 : /usr/bin/./aarch64-linux-gnu-gcc > > >>> arm : /usr/bin/./arm-linux-gnueabi-gcc > > >>> (Buildman chose that one, and I think I have no control over that?) > > >>> c89 : /usr/bin/./c89-gcc > > >>> c99 : /usr/bin/./c99-gcc > > >>> i586 : /usr/bin/./i586-mingw32msvc-gcc > > >>> sandbox : /usr/bin/./winegcc > > >>> x86_64 : /usr/bin/./x86_64-linux-gnu-gcc > > >> > > >> I wonder if we need an option to specify the full path and avoid the > > >> search? > > >> > > >> Maybe [toolchain-prefix] ? > > > > > > Yes, that sounds like exactly what I was hoping for. > > > > OK - would you like to do a patch? > > Please note that I think this feature is what we need to be able to drop > MAKEALL support, it's the only use case I can find right now where we > can do something in MAKEALL but not buildman. Thanks! > > -- > Tom
I'll make time for this over the next few weeks. Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot