On Tue, Aug 05, 2014 at 08:06:25AM -0600, Simon Glass wrote: > Hi Tom, > > On 4 August 2014 15:23, Tom Rini <tr...@ti.com> wrote: > > On Mon, Aug 04, 2014 at 02:41:45PM -0600, Simon Glass wrote: > >> Hi Tom, > >> > >> On 4 August 2014 07:23, Tom Rini <tr...@ti.com> wrote: > >> > On Mon, Jul 28, 2014 at 11:53:27PM -0600, Simon Glass wrote: > >> > > >> >> Buildman has been around for a little over a year and is used by a fair > >> >> number of U-Boot developers. However quite a few people still use > >> >> MAKEALL. > >> >> > >> >> Buildman was intended to replace MAKEALL, so perhaps now is a good time > >> >> to > >> >> start that process. > >> > > >> > OK, lets start. First, I had to make up a special directory with > >> > symlinks to the various toolchains, in order to get them to work with > >> > buildman, due to the various layouts: > >> > > >> > $ ls -l ~/work/u-boot/toolchain-links/ > >> > total 4 > >> > lrwxrwxrwx 1 trini trini 38 Aug 1 17:09 > >> > arc_gnu_4.8-R2_prebuilt_uclibc_be -> > >> > /opt/arc_gnu_4.8-R2_prebuilt_uclibc_be > >> > lrwxrwxrwx 1 trini trini 38 Aug 1 17:09 > >> > arc_gnu_4.8-R2_prebuilt_uclibc_le -> > >> > /opt/arc_gnu_4.8-R2_prebuilt_uclibc_le > >> > lrwxrwxrwx 1 trini trini 24 Aug 1 17:10 bfin-elf -> > >> > /opt/uClinux-45/bfin-elf > >> > lrwxrwxrwx 1 trini trini 32 Aug 1 17:09 m68k-linux -> > >> > /opt/gcc-4.9.0-nolibc/m68k-linux > >> > lrwxrwxrwx 1 trini trini 34 Aug 1 17:09 microblazeel-xilinx-linux-gnu > >> > -> /opt/microblazeel-xilinx-linux-gnu > >> > lrwxrwxrwx 1 trini trini 32 Aug 1 17:09 microblaze-xilinx-linux-gnu -> > >> > /opt/microblaze-xilinx-linux-gnu > >> > lrwxrwxrwx 1 trini trini 66 Aug 1 17:15 mips32-linux -> > >> > /opt/eldk-5.2.1/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux > >> > lrwxrwxrwx 1 trini trini 36 Aug 1 17:09 nds32le-linux-glibc-v1f -> > >> > /opt/nds32le/nds32le-linux-glibc-v1f > >> > lrwxrwxrwx 1 trini trini 20 Aug 1 17:09 sparc-elf-3.4.4 -> > >> > /opt/sparc-elf-3.4.4 > >> > > >> > I tried a few things but I couldn't get a toolchain section setup that > >> > found all of those. Second: > >> > >> OK, can you give me a trace of the output of 'buildman > >> --list-tool-chains' - I should be able to figure out what is wrong. > > > > Sure but I think the problem was I couldn't get it to recurse all the > > way down, just a few levels (which isn't a bad thing exactly, it'd be > > going pretty deep otherwise). > > It looks at the path you give, and then appends bin/ and usr/bin as > well. Then it looks for something ending in gcc in each directory. You > may need to specify additional search paths to make this work. My > output with ~/.buildman: > > # Buildman settings file > > [toolchain] > root: / > #rest: /home/sjg/c/buildall/toolchains/* > #eldk: /opt/eldk4.2/usr/bin > #arm: /home/sjg/c/tools/arm-unknown-eabi > avr32: /home/sjg/c/buildall/toolchains/avr32 > #m68k: /home/sjg/c/buildall/toolchains/m68k-linux > m68k: /usr/local/m68k-uclinux-tools > arm: /opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.08_linux > eldk: /opt/eldk-5.2.1/powerpc/sysroots/i686-eldk-linux/usr/bin/powerpc-linux
Ah-ha, OK. I think we need to update the README slightly, I was thinking it was just a few keywords based on how it is now. So I would need to re-work my config similar to yours and then yes, it would find everything as well. [snip] > > That's closer, yeah. Oh, and -c 1 seems to do be what I want, except I > > get: > > $ ./tools/buildman/buildman -se 'blackfin' -c 1 > > No section: 'make-flags' > > Traceback (most recent call last): > > File "./tools/buildman/buildman", line 135, in <module> > > control.DoBuildman(options, args) > > File "/home/trini/work/u-boot/u-boot/tools/buildman/control.py", line > > 138, in DoBuildman > > 1) > > File > > "/home/trini/work/u-boot/u-boot/tools/buildman/../patman/patchstream.py", > > line 389, in GetMetaDataForList > > stdout = command.RunPipe(pipe, capture=True).stdout > > File > > "/home/trini/work/u-boot/u-boot/tools/buildman/../patman/command.py", line > > 50, in RunPipe > > user_pipestr = '|'.join([' '.join(pipe) for pipe in pipe_list]) > > TypeError: sequence item 8: expected string, NoneType found > > That's because it doesn't have a branch (-b <branch>). If you are just > wanting to build the current checked-out tree, you could apply the v3 > series which supports that. ah, ok. > >> > Next up, is there some way to have multiple toolchains for an arch > >> > available? On some compute resources I have at work I throw > >> > arm/eldk4.2, arm/eldk5.2, arm/linaro-2013.03 (since we've pinned to that > >> > for some projects) and some various combos for powerpc as well. I > >> > didn't see how to do that with buildman aside from different ~/.buildman > >> > files per invocation. > >> > >> Yes I remember you talking about this before. One option would be to > >> add toolchain as a new dimension in the matrix. It might be painful > >> though. So to be clear, you want to define multiple toolchains for an > >> arch, and have buildman always build with all of them? > > > > Well, a --config-file= would be good enough so I could have > > buildman-eldk54.cfg, buildman-eldk42.cfg, etc, etc. > > OK I'll add a new patch to a v4 series to implement that. It's pretty > trivial so should get to it today. Thanks! -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot