All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 0/3] Add some missing buildman features and deprecate MAKEALL
Date: Tue, 5 Aug 2014 10:31:32 -0400	[thread overview]
Message-ID: <20140805143132.GA19374@bill-the-cat> (raw)
In-Reply-To: <CAPnjgZ2b_2xCpPB7ztfVCmJOZO2xS7K7b1HojT2b_omF8QyL8Q@mail.gmail.com>

On Tue, Aug 05, 2014 at 08:06:25AM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On 4 August 2014 15:23, Tom Rini <trini@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 <trini@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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140805/ab2903a0/attachment.pgp>

      parent reply	other threads:[~2014-08-05 14:31 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-29  5:53 [U-Boot] [PATCH v2 0/3] Add some missing buildman features and deprecate MAKEALL Simon Glass
2014-07-29  5:53 ` [U-Boot] [PATCH v2 1/3] buildman: Fix a few typos Simon Glass
2014-07-29  5:53 ` [U-Boot] [PATCH v2 2/3] buildman: Add some notes about moving from MAKEALL Simon Glass
2014-08-01  8:10   ` Masahiro Yamada
2014-08-04 10:15     ` Simon Glass
2014-07-29  5:53 ` [U-Boot] [PATCH v2 3/3] RFC: Deprecate MAKEALL Simon Glass
2014-08-04 13:23 ` [U-Boot] [PATCH v2 0/3] Add some missing buildman features and deprecate MAKEALL Tom Rini
2014-08-04 20:41   ` Simon Glass
2014-08-04 20:56     ` Jeroen Hofstee
2014-08-05 14:33       ` Simon Glass
2014-08-04 21:23     ` Tom Rini
2014-08-05 14:06       ` Simon Glass
2014-08-05 14:24         ` Simon Glass
2014-08-05 14:31         ` Tom Rini [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140805143132.GA19374@bill-the-cat \
    --to=trini@ti.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.