[U-Boot] [PATCH v5 12/15] buildman: adjust for Kconfig

Simon Glass sjg at chromium.org
Sat Jul 26 10:44:06 CEST 2014


Hi Masahiro,

On 24 July 2014 05:00, Masahiro Yamada <yamada.m at jp.panasonic.com> wrote:
> Use "make <board>_defconfig" instead of "make <board>_config".
>
> Invoke tools/genboardscfg.py to generate boards.cfg when it is missing.
>
> Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>

Acked-by: Simon Glass <sjg at chromium.org>

(see comment below)

> ---
>
> Changes in v5: None
> Changes in v4:
>   - Generate boards.cfg automatically if it is missing
>
> Changes in v3: None
> Changes in v2: None
>
>  tools/buildman/board.py   |  2 +-
>  tools/buildman/builder.py |  6 +++---
>  tools/buildman/control.py | 10 ++++++++++
>  3 files changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/tools/buildman/board.py b/tools/buildman/board.py
> index 5172a47..7bcc932 100644
> --- a/tools/buildman/board.py
> +++ b/tools/buildman/board.py
> @@ -17,7 +17,7 @@ class Board:
>              soc: Name of SOC, or '' if none (e.g. mx31)
>              vendor: Name of vendor (e.g. armltd)
>              board_name: Name of board (e.g. integrator)
> -            target: Target name (use make <target>_config to configure)
> +            target: Target name (use make <target>_defconfig to configure)
>              options: board-specific options (e.g. integratorcp:CM1136)
>          """
>          self.target = target
> diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
> index 4987fc9..502a35a 100644
> --- a/tools/buildman/builder.py
> +++ b/tools/buildman/builder.py
> @@ -198,7 +198,7 @@ class BuilderThread(threading.Thread):
>              commit_upto: Commit number to build (0...n-1)
>              brd: Board object to build
>              work_dir: Directory to which the source will be checked out
> -            do_config: True to run a make <board>_config on the source
> +            do_config: True to run a make <board>_defconfig on the source
>              force_build: Force a build even if one was previously done
>
>          Returns:
> @@ -251,7 +251,7 @@ class BuilderThread(threading.Thread):
>                  args = ['O=build', '-s']
>                  if self.builder.num_jobs is not None:
>                      args.extend(['-j', str(self.builder.num_jobs)])
> -                config_args = ['%s_config' % brd.target]
> +                config_args = ['%s_defconfig' % brd.target]
>                  config_out = ''
>                  args.extend(self.builder.toolchains.GetMakeArguments(brd))
>
> @@ -404,7 +404,7 @@ class BuilderThread(threading.Thread):
>          work_dir = self.builder.GetThreadDir(self.thread_num)
>          self.toolchain = None
>          if job.commits:
> -            # Run 'make board_config' on the first commit
> +            # Run 'make board_defconfig' on the first commit
>              do_config = True
>              commit_upto  = 0
>              force_build = False
> diff --git a/tools/buildman/control.py b/tools/buildman/control.py
> index fd6f197..d032a95 100644
> --- a/tools/buildman/control.py
> +++ b/tools/buildman/control.py
> @@ -15,6 +15,7 @@ import patchstream
>  import terminal
>  import toolchain
>  import command
> +import subprocess
>
>  def GetPlural(count):
>      """Returns a plural 's' if count is not 1"""
> @@ -109,6 +110,15 @@ def DoBuildman(options, args):
>          sys.exit(1)
>
>      # Work out what subset of the boards we are building
> +    board_file = os.path.join(options.git, 'boards.cfg')
> +    if not os.path.exists(board_file):
> +        print 'Could not find %s' % board_file
> +        status = subprocess.call([os.path.join(options.git,
> +                                               'tools/genboardscfg.py')])
> +        if status != 0:
> +            print >> sys.stderr, "Failed to generate boards.cfg"
> +            sys.exit(1)
> +

This could go in board.py but since this is temporary code anyway I
think it is OK to leave it here.

Changing he Boards class to read from various directories should not
be too hard. Will we have to run 'make xxx_defconfig' to get access to
all the values for a board? If we could avoid that then it would be
quite a bit faster.

Regards,
Simon


More information about the U-Boot mailing list