From: Tom Rini <trini@konsulko.com>
To: Simon Glass <sjg@chromium.org>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>,
Brandon Maier <brandon.maier@collins.com>,
Heinrich Schuchardt <xypron.glpk@gmx.de>
Subject: Re: [PATCH 3/9] buildman: Support #include files in defconfigs
Date: Tue, 12 Nov 2024 20:40:35 -0600 [thread overview]
Message-ID: <20241113024035.GI3600562@bill-the-cat> (raw)
In-Reply-To: <20241108152350.3686274-4-sjg@chromium.org>
[-- Attachment #1: Type: text/plain, Size: 2402 bytes --]
On Fri, Nov 08, 2024 at 08:23:44AM -0700, Simon Glass wrote:
> This is used by some boards in U-Boot and is a convenient way to deal
> with common settings where using a Kconfig files is not desirable.
>
> Detect #include files and process them as if they were part of the
> original file.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Fixes: https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues/30
[snip]
> +defconfig fragments
> +-------------------
> +
> +Buildman provides some initial support for configuration fragments. It can scan
> +these when present in defconfig files and handle the resuiting Kconfig
> +correctly. Thus it is possible to build a board which has a ``#include`` in the
> +defconfig file.
> +
> +For now, Buildman simply includes the files to produce a single output file,
> +using the C preprocessor. It does not call the ``merge_config.sh`` script. The
> +redefined/redundant logic in that script could fairly easily be repeated in
> +Buildman, to detect potential problems. For now it is not clear that this is
> +useful.
I don't like this logic because the whole point of merge_config.sh is
that it IS the canonical way to handle Kconfig config files + fragments
and provides handy feedback like "You expected CONFIG_FOO=y but you
ended up with '# CONFIG_FOO is not set'". It's frankly an at least small
problem of our current cpp rule, but calling that for every defconfig
would be a performance nightmare too.
> +To specify the C preprocessor to use, set the ``CPP`` environment variable. The
> +default is ``cpp``.
Uh, I was hoping it would get the correct CPP and flags from the
Makefile? Otherwise this is going to fall down in some corner cases such
as I expect clang.
> +Note that Buildman does not support adding fragments to existing boards, e.g.
> +like::
> +
> + make qemu_riscv64_defconfig acpi.config
> +
> +This is partly because there is no way for Buildman to know which fragments are
> +valid on which boards.
That seems like a really weird deficiency and non-sequitur. I don't know
why buildman would be attempting any sort of validation beyond syntax
validation. It's more that we don't have any way to pass additional
arguments to the "make defconfig" part of the build, yes? And then in
turn because buildman reads the defconfig itself too, prior to that
stage?
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
next prev parent reply other threads:[~2024-11-13 2:40 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-08 15:23 [PATCH 0/9] buildman: Add initial support for config fragments Simon Glass
2024-11-08 15:23 ` [PATCH 1/9] buildman: Add a lower-level test for KconfigScanner Simon Glass
2024-11-08 15:23 ` [PATCH 2/9] buildman: Set up the tout library Simon Glass
2024-11-08 15:23 ` [PATCH 3/9] buildman: Support #include files in defconfigs Simon Glass
2024-11-13 2:40 ` Tom Rini [this message]
2024-11-13 14:39 ` Simon Glass
2024-11-13 21:53 ` Tom Rini
2024-11-15 14:26 ` Simon Glass
2024-11-15 16:12 ` Tom Rini
2024-11-08 15:23 ` [PATCH 4/9] buildman: Correct the indentation in the setting-up section Simon Glass
2024-11-08 15:23 ` [PATCH 5/9] buildman: Document the toolchain-prefix section Simon Glass
2024-11-08 15:23 ` [PATCH 6/9] buildman: Correct logic for adding a toolchain Simon Glass
2024-11-08 15:23 ` [PATCH 7/9] buildman: Support a tilde to represent the home directory Simon Glass
2024-11-08 15:23 ` [PATCH 8/9] buildman: Propose a format for extra boards Simon Glass
2024-11-09 22:55 ` Heinrich Schuchardt
2024-11-13 2:40 ` Tom Rini
2024-11-13 16:03 ` Simon Glass
2024-11-13 22:20 ` Tom Rini
2024-11-15 13:37 ` Simon Glass
2024-11-15 14:44 ` Tom Rini
2024-11-17 19:48 ` Simon Glass
2024-11-17 20:52 ` Tom Rini
2024-11-08 15:23 ` [PATCH 9/9] RFC: Show building with #include in defconfig Simon Glass
2024-11-19 22:12 ` (subset) [PATCH 0/9] buildman: Add initial support for config fragments Tom Rini
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=20241113024035.GI3600562@bill-the-cat \
--to=trini@konsulko.com \
--cc=brandon.maier@collins.com \
--cc=sjg@chromium.org \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox