From: "Alex G." <mr.nuke.me@gmail.com>
To: Simon Glass <sjg@chromium.org>,
U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Andre Przywara <andre.przywara@arm.com>,
Rasmus Villemoes <rasmus.villemoes@prevas.dk>,
Robert Marko <robert.marko@sartura.hr>,
Masahiro Yamada <masahiroy@kernel.org>,
Tom Rini <trini@konsulko.com>,
Masahiro Yamada <yamada.masahiro@socionext.com>
Subject: Re: [PATCH v5 02/29] kconfig: Add tools support to CONFIG_IS_ENABLED()
Date: Tue, 5 Oct 2021 13:11:23 -0500 [thread overview]
Message-ID: <72f28e21-4ed5-60f0-f740-07bec51951bb@gmail.com> (raw)
In-Reply-To: <20210926014342.127913-3-sjg@chromium.org>
On 9/25/21 8:43 PM, Simon Glass wrote:
> At present we must separately test for the host build for many options,
> since we force them to be enabled. For example, CONFIG_FIT is always
> enabled in the host tools, even if CONFIG_FIT is not enabled by the
> board itself.
>
> It would be more convenient if we could use, for example,
> CONFIG_IS_ENABLED(FIT) and get CONFIG_HOST_FIT, when building for the
> host. Add support for this.
>
> With this and the tools_build() function, we should be able to remove all
> the #ifdefs currently needed in code that is build by tools and targets.
>
> This will be even nicer when we move to using CONFIG(xxx) everywhere,
> since all the #ifdef and IS_ENABLED/CONFIG_IS_ENABLED stuff will go away.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Suggested-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> # b4f73886
Under protest,
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
> ---
>
> Changes in v5:
> - Update commit message
> - Use TOOLS_ instead of HOST_
>
> Changes in v2:
> - Correct comment about USE_HOSTCC being undefined in CONFIG_VAL()
> - Fix up comment to put an underscore after every CONFIG
>
> include/linux/kconfig.h | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/kconfig.h b/include/linux/kconfig.h
> index d109ed3119e..a1d1a298426 100644
> --- a/include/linux/kconfig.h
> +++ b/include/linux/kconfig.h
> @@ -31,11 +31,14 @@
> (config_enabled(option))
>
> /*
> - * U-Boot add-on: Helper macros to reference to different macros
> - * (CONFIG_ or CONFIG_SPL_ prefixed), depending on the build context.
> + * U-Boot add-on: Helper macros to reference to different macros (prefixed by
> + * CONFIG_, CONFIG_SPL_, CONFIG_TPL_ or CONFIG_TOOLS_), depending on the build
> + * context.
> */
>
> -#if defined(CONFIG_TPL_BUILD)
> +#ifdef USE_HOSTCC
> +#define _CONFIG_PREFIX TOOLS_
> +#elif defined(CONFIG_TPL_BUILD)
> #define _CONFIG_PREFIX TPL_
> #elif defined(CONFIG_SPL_BUILD)
> #define _CONFIG_PREFIX SPL_
> @@ -49,6 +52,7 @@
>
> /*
> * CONFIG_VAL(FOO) evaluates to the value of
> + * CONFIG_TOOLS_FOO if USE_HOSTCC is defined,
> * CONFIG_FOO if CONFIG_SPL_BUILD is undefined,
> * CONFIG_SPL_FOO if CONFIG_SPL_BUILD is defined.
> * CONFIG_TPL_FOO if CONFIG_TPL_BUILD is defined.
> @@ -76,18 +80,21 @@
>
> /*
> * CONFIG_IS_ENABLED(FOO) expands to
> + * 1 if USE_HOSTCC is defined and CONFIG_TOOLS_FOO is set to 'y',
> * 1 if CONFIG_SPL_BUILD is undefined and CONFIG_FOO is set to 'y',
> * 1 if CONFIG_SPL_BUILD is defined and CONFIG_SPL_FOO is set to 'y',
> * 1 if CONFIG_TPL_BUILD is defined and CONFIG_TPL_FOO is set to 'y',
> * 0 otherwise.
> *
> * CONFIG_IS_ENABLED(FOO, (abc)) expands to
> + * abc if USE_HOSTCC is defined and CONFIG_TOOLS_FOO is set to 'y',
> * abc if CONFIG_SPL_BUILD is undefined and CONFIG_FOO is set to 'y',
> * abc if CONFIG_SPL_BUILD is defined and CONFIG_SPL_FOO is set to 'y',
> * abc if CONFIG_TPL_BUILD is defined and CONFIG_TPL_FOO is set to 'y',
> * nothing otherwise.
> *
> * CONFIG_IS_ENABLED(FOO, (abc), (def)) expands to
> + * abc if USE_HOSTCC is defined and CONFIG_TOOLS_FOO is set to 'y',
> * abc if CONFIG_SPL_BUILD is undefined and CONFIG_FOO is set to 'y',
> * abc if CONFIG_SPL_BUILD is defined and CONFIG_SPL_FOO is set to 'y',
> * abc if CONFIG_TPL_BUILD is defined and CONFIG_TPL_FOO is set to 'y',
>
next prev parent reply other threads:[~2021-10-05 18:11 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-26 1:43 [PATCH v5 00/29] image: Reduce #ifdefs and ad-hoc defines in image code (Part B) Simon Glass
2021-09-26 1:43 ` [PATCH v5 01/29] compiler: Rename host_build() to tools_build() Simon Glass
2021-10-05 18:09 ` Alex G.
2021-10-09 1:39 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 02/29] kconfig: Add tools support to CONFIG_IS_ENABLED() Simon Glass
2021-09-27 16:11 ` Alex G.
2021-09-27 16:50 ` Masahiro Yamada
2021-09-27 20:17 ` Simon Glass
2021-09-27 20:17 ` Simon Glass
2021-10-05 18:11 ` Alex G. [this message]
2021-10-07 0:26 ` Tom Rini
2021-10-07 2:49 ` Simon Glass
2021-10-07 2:52 ` Tom Rini
2021-10-07 13:32 ` Simon Glass
2021-10-07 13:42 ` Tom Rini
2021-10-07 18:02 ` Simon Glass
2021-10-07 18:30 ` Tom Rini
2021-10-07 18:50 ` Simon Glass
2021-10-07 19:32 ` Alex G.
2021-10-07 19:39 ` Tom Rini
2021-10-07 20:33 ` Alex G.
2021-10-07 21:04 ` Tom Rini
2021-10-07 21:15 ` Alex G.
2021-10-09 1:39 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 03/29] image: Add Kconfig options for FIT in the tools build Simon Glass
2021-10-05 18:17 ` Alex G.
2021-10-05 18:17 ` Alex G.
2021-10-09 1:39 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 04/29] spl: cypto: Bring back SPL_ versions of SHA Simon Glass
2021-10-05 18:19 ` Alex G.
2021-10-09 1:39 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 05/29] hash: Use Kconfig to enable hashing in host tools and SPL Simon Glass
2021-09-27 15:53 ` Alex G.
2021-09-27 16:06 ` Simon Glass
2021-09-27 16:12 ` Alex G.
2021-10-05 18:21 ` Alex G.
2021-10-09 1:39 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 06/29] hash: Drop some #ifdefs in hash.c Simon Glass
2021-10-05 18:24 ` Alex G.
2021-10-09 1:39 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 07/29] image: Drop IMAGE_ENABLE_FIT Simon Glass
2021-10-05 18:26 ` Alex G.
2021-10-09 1:39 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 08/29] image: Drop IMAGE_ENABLE_OF_LIBFDT Simon Glass
2021-10-05 18:27 ` Alex G.
2021-10-09 1:40 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 09/29] image: Use Kconfig to enable CONFIG_FIT_VERBOSE on host Simon Glass
2021-10-05 18:29 ` Alex G.
2021-10-09 1:40 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 10/29] image: Use Kconfig to enable FIT_RSASSA_PSS " Simon Glass
2021-10-05 18:32 ` Alex G.
2021-10-09 1:40 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 11/29] image: Use the correct checks for CRC32 Simon Glass
2021-10-05 18:34 ` Alex G.
2021-10-09 1:40 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 12/29] image: Drop IMAGE_BOOT_GET_CMDLINE Simon Glass
2021-10-05 18:36 ` Alex G.
2021-10-09 1:40 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 13/29] image: Drop IMAGE_OF_BOARD_SETUP Simon Glass
2021-10-05 18:57 ` Alex G.
2021-10-09 1:40 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 14/29] image: Drop IMAGE_OF_SYSTEM_SETUP Simon Glass
2021-10-05 18:58 ` Alex G.
2021-10-09 1:40 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 15/29] image: Drop IMAGE_ENABLE_IGNORE Simon Glass
2021-10-05 18:58 ` Alex G.
2021-10-09 1:40 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 16/29] efi: Correct dependency on FIT_SIGNATURE Simon Glass
2021-10-09 1:40 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 19/29] image: Tidy up fit_unsupported_reset() Simon Glass
2021-10-09 1:40 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 20/29] image: Drop unnecessary #ifdefs from image.h Simon Glass
2021-10-09 1:41 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 21/29] image: Drop #ifdefs for fit_print_contents() Simon Glass
2021-10-09 1:41 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 22/29] image: Drop most #ifdefs in image-board.c Simon Glass
2021-10-09 1:41 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 23/29] image: Reduce variable scope in boot_get_ramdisk() Simon Glass
2021-10-09 1:41 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 24/29] image: Split up boot_get_ramdisk() Simon Glass
2021-10-09 1:41 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 25/29] image: Remove #ifdefs from select_ramdisk() Simon Glass
2021-10-09 1:41 ` Tom Rini
2021-12-17 17:40 ` Neil Armstrong
2021-09-26 1:43 ` [PATCH v5 26/29] image: Remove some #ifdefs from image-fit and image-fit-sig Simon Glass
2021-10-09 1:41 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 27/29] image: Reduce variable scope in boot_get_fdt() Simon Glass
2021-10-09 1:41 ` Tom Rini
2021-09-26 1:43 ` [PATCH v5 28/29] image: Split up boot_get_fdt() Simon Glass
2021-10-09 1:41 ` 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=72f28e21-4ed5-60f0-f740-07bec51951bb@gmail.com \
--to=mr.nuke.me@gmail.com \
--cc=andre.przywara@arm.com \
--cc=masahiroy@kernel.org \
--cc=rasmus.villemoes@prevas.dk \
--cc=robert.marko@sartura.hr \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=yamada.masahiro@socionext.com \
/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.