[U-Boot] [PATCH 0/6] buildman: Support comparison of CONFIG options between commits

Simon Glass sjg at chromium.org
Fri Feb 6 06:06:09 CET 2015


At present it is hard to see the changes in CONFIG between different commits
in a branch. The CONFIG options exist in multiple files and the interaction
between Kconfig and the board config files makes it difficult to see
exactly what is going on.

This series is an attempt to improve the situation. It is likely to be
useful mostly to those who are converting things to Kconfig.

A new .cfg file is generated during a build which includes a list of all
preprocessor symbols visible to the source code. This is created for U-Boot,
SPL and TPL. Its value is that it shows all CONFIGs that affect the source
code, regardless of whether they come from Kconfig or board config headers.

Buildman stores these files as well as the .config and autoconf files when
doing a build.

A new -K option allows you to see changes in the contents of these files, for
example:

14: dm: Move Raspberry Pi driver model CONFIGs to Kconfig
    + .config: CONFIG_CMD_DM=y CONFIG_DM=y CONFIG_DM_DEVICE_REMOVE=y
	CONFIG_DM_GPIO=y CONFIG_DM_SERIAL=y CONFIG_DM_STDIO=y CONFIG_DM_WARN=y
    - autoconf.mk: CONFIG_CMD_DM=y CONFIG_DM=y CONFIG_DM_DEVICE_REMOVE=y
	CONFIG_DM_GPIO=y CONFIG_DM_SERIAL=y CONFIG_DM_STDIO=y CONFIG_DM_WARN=y
    + autoconf.h: CONFIG_CMD_DM=1 CONFIG_DM=1 CONFIG_DM_DEVICE_REMOVE=1
	CONFIG_DM_GPIO=1 CONFIG_DM_SERIAL=1 CONFIG_DM_STDIO=1 CONFIG_DM_WARN=1
15: dm: exynos: Move driver model CONFIGs to Kconfig

The above fragment shows that commit 14 added some options to Kconfig and
removed them from autoconf. Everything looks fine. If there were any net
change in the config, then it would show up in u-boot.cfg, as the following
example shows:

23: dm: Kconfig: Move CONFIG_SYS_MALLOC_F_LEN to Kconfig
    + .config: CONFIG_SYS_MALLOC_F=y CONFIG_SYS_MALLOC_F_LEN=0x400
    - autoconf.mk: CONFIG_SYS_MALLOC_F_LEN="(1 << 10)"
    + autoconf.h: CONFIG_SYS_MALLOC_F=1 CONFIG_SYS_MALLOC_F_LEN=0x400
    + u-boot.cfg: CONFIG_SYS_MALLOC_F=1

Here we see (from u-boot.cfg) that a new CONFIG_SYS_MALLOC_F option was
added that did not exist before.

The -K option is normally only useful when used with a single board, or a
group of related boards.


Simon Glass (6):
  Create a .cfg file containing the CONFIG options used to build
  buildman: Add a space before the list of boards
  buildman: Show 'make' command line when -V is used
  buildman: Adjust the 'aborted' heuristic for writing output
  buildman: Store build config files
  buildman: Allow comparison of build configuration

 Makefile                        |  10 ++-
 scripts/Makefile.spl            |   9 +-
 tools/buildman/builder.py       | 186 +++++++++++++++++++++++++++++++++++++---
 tools/buildman/builderthread.py |  62 +++++++++++---
 tools/buildman/cmdline.py       |   4 +-
 tools/buildman/control.py       |   3 +-
 tools/buildman/test.py          |   2 +-
 7 files changed, 244 insertions(+), 32 deletions(-)

-- 
2.2.0.rc0.207.ga3a616c



More information about the U-Boot mailing list