All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] simple buildman usage (was: Re: [ANN] U-Boot v2015.07 released)
Date: Wed, 15 Jul 2015 09:31:17 -0600	[thread overview]
Message-ID: <CAPnjgZ1wU+nVPbpgxgHcAN9jzG5ETnP0KV_H8E3+iC3aQfa3PA@mail.gmail.com> (raw)
In-Reply-To: <20150714233319.GP25532@bill-the-cat>

Hi Tom,

On 14 July 2015 at 17:33, Tom Rini <trini@konsulko.com> wrote:
>
> On Tue, Jul 14, 2015 at 04:39:01PM -0600, Stephen Warren wrote:
> > On 07/14/2015 04:09 PM, Tom Rini wrote:
> > >On Tue, Jul 14, 2015 at 02:11:25PM -0600, Stephen Warren wrote:
> > >>On 07/14/2015 11:56 AM, Tom Rini wrote:
> > >>>Hey all,
> > >>>
> > >>>I've pushed v2015.07 out to the repository and tarballs should exist
> > >>>soon.
> > >>>
> > >>>This sounds a bit like a broken record, but it's true.  The Kconfig
> > >>>migration and DM work continue moving along.
> > >>>
> > >>>Looking over the announcement for v2015.04, I see I said we'd deprecate
> > >>>MAKEALL.  So I've applied http://patchwork.ozlabs.org/patch/383960/
> > >>>right after the tag.  If buildman isn't working for you and your use
> > >>>case, we really need to talk.
> > >>
> > >>The nice thing about MAKEALL was that I could simply grab a source
> > >>tree, and run the following to build in-tree:
> > >>
> > >>CROSS_COMPILE=something ./MAKEALL foo
> > >>
> > >>However, with buildman, some complex config file needed to be set up
> > >>to configure the toolchain (and I could never parse the docs to work
> > >>out how to create it in a new checkout), plus it made copies of the
> > >>source tree which takes ages for me.
> > >>
> > >>Is there an equivalently simple way to invoke buildman that doesn't
> > >>require configuration and copying?
> > >
> > >For no copying, --in-tree does what you want I think.
> >
> > OK. Making that the default would be useful, or providing a buildman
> > wrapper script in the root directory that always passes this option.
> >
> > >For not
> > >configuring a toolchain, there's two ways to go about this.  One would
> > >be to do something like:
> > >
> > >diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py
> > >index e33e105..bba60d5 100644
> > >--- a/tools/buildman/toolchain.py
> > >+++ b/tools/buildman/toolchain.py
> > >@@ -159,7 +159,7 @@ class Toolchains:
> > >                   " to your buildman config file %s. See README for details" %
> > >                   bsettings.config_fname)
> > >
> > >-        paths = []
> > >+        paths = ['/usr', '/usr/local']
> > >          for name, value in toolchains:
> > >              if '*' in value:
> > >                  paths += glob.glob(value)
> > >
> > >And then any toolchains in /usr and /usr/local would be picked up and
> > >used.  Another option would be to add --tool-chain-path DIR and throw
> > >that into the above function.  Thoughts?
> >
> > Does that find cross-compilers? IIRC I had to add the full compiler
> > binary name into the config file, not just a /usr search directory,
> > so I don't think the above patch is enough to make it work. What if
> > I want to use a specific cross-compiler and I have 4 different ARM
> > compilers installed in /usr? How would it know which architecture's
> > cross-compiler to use?
>
> Well, how much are you expecting to Just Work without making a real
> config?  That much does work for finding cross tools installed into
> those paths.  But if you have > 1 architecture toolchain in a
> single location buildman does fail there today.
>
> > I like the interface of just setting the CROSS_COMPILE variable,
> > since I can just set it in the environment and forget it if I want.
> > Perhaps buildman could just use it if it was set, and ignore the
> > config file (or again, a simple wrapper script could do that)?
>
> I do not want a wrapper script.  Trying to make one thing act like
> another thing leads to madness and corner cases.  That said, how hard
> would it be to have buildman see if CROSS_COMPILE is set and in turn
> force that to be used for all specified build targets?  I thought about
> making it see what the value is and then heuristic which arch to use,
> but I think that's more error prone than perhaps buildman
> --default-tool-chain (Uses passed value or CROSS_COMPILE if set in env)

We can do that - is this a boolean value? What do you mean by 'passed value'?

Regards,
Simon

  reply	other threads:[~2015-07-15 15:31 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-14 17:56 [U-Boot] [ANN] U-Boot v2015.07 released Tom Rini
2015-07-14 20:11 ` Stephen Warren
2015-07-14 22:09   ` Tom Rini
2015-07-14 22:39     ` [U-Boot] simple buildman usage (was: Re: [ANN] U-Boot v2015.07 released) Stephen Warren
2015-07-14 23:07       ` Simon Glass
2015-07-14 23:27         ` [U-Boot] simple buildman usage Stephen Warren
2015-07-14 23:35           ` Tom Rini
2015-07-14 23:37           ` Simon Glass
2015-07-15 15:50             ` Stephen Warren
2015-07-14 23:33       ` [U-Boot] simple buildman usage (was: Re: [ANN] U-Boot v2015.07 released) Tom Rini
2015-07-15 15:31         ` Simon Glass [this message]
2015-07-15 15:50         ` [U-Boot] simple buildman usage Stephen Warren
2015-07-15 15:54           ` Simon Glass
2015-07-15 16:14             ` Tom Rini
2015-07-15 20:12               ` Stephen Warren
2015-07-15 20:45                 ` Tom Rini
2015-07-15 16:28             ` Stephen Warren
2015-07-15 17:50               ` Simon Glass
2015-07-14 20:14 ` [U-Boot] [ANN] U-Boot v2015.07 released Peter Robinson
2015-07-14 20:24   ` Nikolay Dimitrov
2015-07-14 20:59     ` Robert Nelson
2015-07-14 22:02     ` Tom Rini
2015-07-15  7:15 ` Wolfgang Denk
2015-07-29  0:54   ` Simon Glass
2015-08-07  7:03 ` Wolfgang Denk
2015-08-07  8:11   ` Jagan Teki
2015-08-07 14:15     ` Wolfgang Denk

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=CAPnjgZ1wU+nVPbpgxgHcAN9jzG5ETnP0KV_H8E3+iC3aQfa3PA@mail.gmail.com \
    --to=sjg@chromium.org \
    --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.