Re: [U-Boot] How do I tell buildman to use a /specific/ toolchain?
Hi Tom, On 20 October 2015 at 11:23, Simon Glasswrote: > Hi Tom, > > On 20 October 2015 at 09:21, Tom Rini 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 wrote: >> > > On 10/03/2015 08:30 AM, Simon Glass wrote: >> > >> Hi Stephen, >> > >> >> > >> On 2 October 2015 at 00:27, Stephen Warren >> > >> wrote: >> > >>> On 10/01/2015 04:59 PM, Simon Glass wrote: >> > >> > Hi Stephen, >> > >> > On Wednesday, 23 September 2015, Stephen Warren >> > >> > 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) >> >
Re: [U-Boot] How do I tell buildman to use a /specific/ toolchain?
Hi Stephen, On 4 October 2015 at 19:19, Stephen Warrenwrote: > On 10/04/2015 10:38 AM, Simon Glass wrote: >> Hi Stephen, >> >> On 3 October 2015 at 20:20, Stephen Warren wrote: >>> On 10/03/2015 08:30 AM, Simon Glass wrote: Hi Stephen, On 2 October 2015 at 00:27, Stephen Warren wrote: > On 10/01/2015 04:59 PM, Simon Glass wrote: >> >> Hi Stephen, >> >> On Wednesday, 23 September 2015, Stephen Warren >> 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 >
Re: [U-Boot] How do I tell buildman to use a /specific/ toolchain?
Hi Tom, On 20 October 2015 at 09:21, Tom Riniwrote: > > On Sun, Oct 04, 2015 at 05:38:41PM +0100, Simon Glass wrote: > > Hi Stephen, > > > > On 3 October 2015 at 20:20, Stephen Warren wrote: > > > On 10/03/2015 08:30 AM, Simon Glass wrote: > > >> Hi Stephen, > > >> > > >> On 2 October 2015 at 00:27, Stephen Warren wrote: > > >>> On 10/01/2015 04:59 PM, Simon Glass wrote: > > > > Hi Stephen, > > > > On Wednesday, 23 September 2015, Stephen Warren > > 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
Re: [U-Boot] How do I tell buildman to use a /specific/ toolchain?
On Sun, Oct 04, 2015 at 05:38:41PM +0100, Simon Glass wrote: > Hi Stephen, > > On 3 October 2015 at 20:20, Stephen Warrenwrote: > > On 10/03/2015 08:30 AM, Simon Glass wrote: > >> Hi Stephen, > >> > >> On 2 October 2015 at 00:27, Stephen Warren wrote: > >>> On 10/01/2015 04:59 PM, Simon Glass wrote: > > Hi Stephen, > > On Wednesday, 23 September 2015, Stephen Warren > 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
Re: [U-Boot] How do I tell buildman to use a /specific/ toolchain?
Hi Stephen, On 3 October 2015 at 20:20, Stephen Warrenwrote: > On 10/03/2015 08:30 AM, Simon Glass wrote: >> Hi Stephen, >> >> On 2 October 2015 at 00:27, Stephen Warren wrote: >>> On 10/01/2015 04:59 PM, Simon Glass wrote: Hi Stephen, On Wednesday, 23 September 2015, Stephen Warren 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 :
Re: [U-Boot] How do I tell buildman to use a /specific/ toolchain?
On 10/04/2015 10:38 AM, Simon Glass wrote: > Hi Stephen, > > On 3 October 2015 at 20:20, Stephen Warrenwrote: >> On 10/03/2015 08:30 AM, Simon Glass wrote: >>> Hi Stephen, >>> >>> On 2 October 2015 at 00:27, Stephen Warren wrote: On 10/01/2015 04:59 PM, Simon Glass wrote: > > Hi Stephen, > > On Wednesday, 23 September 2015, Stephen Warren > 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
Re: [U-Boot] How do I tell buildman to use a /specific/ toolchain?
Hi Stephen, On 2 October 2015 at 00:27, Stephen Warrenwrote: > On 10/01/2015 04:59 PM, Simon Glass wrote: >> >> Hi Stephen, >> >> On Wednesday, 23 September 2015, Stephen Warren >> 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] ? Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] How do I tell buildman to use a /specific/ toolchain?
On 10/03/2015 08:30 AM, Simon Glass wrote: > Hi Stephen, > > On 2 October 2015 at 00:27, Stephen Warrenwrote: >> On 10/01/2015 04:59 PM, Simon Glass wrote: >>> >>> Hi Stephen, >>> >>> On Wednesday, 23 September 2015, Stephen Warren >>> 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
Re: [U-Boot] How do I tell buildman to use a /specific/ toolchain?
On 10/01/2015 04:59 PM, Simon Glass wrote: Hi Stephen, On Wednesday, 23 September 2015, Stephen Warrenwrote: 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 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] How do I tell buildman to use a /specific/ toolchain?
Hi Stephen, On Wednesday, 23 September 2015, Stephen Warrenwrote: > > 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). The option other option at present is -G which lets you use multiple .buildman files. You could have one of these for each toolchain. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] How do I tell buildman to use a /specific/ toolchain?
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. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot