[U-Boot] [PATCH] Makefile: remove BUILD_TAG from KBUILD_CFLAGS

James Chargin
2016-02-09T16:11:15Z

On 02/08/2016 05:32 PM, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
>
> If BUILD_TAG is part of KBUILD_CFLAGS, then any time the value changes,
> all files get rebuilt. In a continuous integration environment, the value
> will change every build. This wastes time assuming that incremental
> builds would otherwise occur.
>
> To solve this, remove BUILD_TAG from KBUILD_FLAGS and add it to the end of
> "local version".
>
> This has other advantages too:
> - The special case for BUILD_TAG in display_options.c can be removed.
> - The version printed by the "version" command exactly matches what is
> printed at boot.
>
> Old sign-on message:
> U-Boot 2016.03-rc1-00044-g4085db5e767b (Feb ...), Build: bar-bas
>
> New sign-on message:
> U-Boot 2016.03-rc1-00044-g4085db5e767b-bar-baz (Feb ...)

I would urge this not be done. The display of the BUILD_TAG on startup
is pretty useful in my environment. It's been there for a long time and
some of my users have grown used to it.

Of all the parts of the sign-on message, I'd rather the git hash go away
than the BUILD_TAG. None of my users really care about the level of
detail of the git hash and won't spend the time required to use this
hash to determine if they have the version they want. (Some don't have a
repo clone, and don't care to, and so can't easily make the
correspondence even if they wanted to).

Thanks for your consideration.

Jim

>
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> ---
> Makefile | 4 ----
> lib/display_options.c | 4 ----
> scripts/setlocalversion | 4 ++++
> 3 files changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 42fad45afee1..2265b8995a7b 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -562,10 +562,6 @@ else
> KBUILD_CFLAGS += -O2
> endif
>
> -ifdef BUILD_TAG
> -KBUILD_CFLAGS += -DBUILD_TAG='"$(BUILD_TAG)"'
> -endif
> -
> KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
> KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks)
>
> diff --git a/lib/display_options.c b/lib/display_options.c
> index 29343fc00e3f..5dcdf4e429af 100644
> --- a/lib/display_options.c
> +++ b/lib/display_options.c
> @@ -15,11 +15,7 @@
>
> int display_options (void)
> {
> -#if defined(BUILD_TAG)
> - printf ("\n\n%s, Build: %s\n\n", version_string, BUILD_TAG);
> -#else
> printf ("\n\n%s\n\n", version_string);
> -#endif
> return 0;
> }
>
> diff --git a/scripts/setlocalversion b/scripts/setlocalversion
> index 63d91e22ed7c..4ef6603b5c27 100755
> --- a/scripts/setlocalversion
> +++ b/scripts/setlocalversion
> @@ -171,4 +171,8 @@ else
> fi
> fi
>
> +if test -n "${BUILD_TAG}"; then
> + res="$res-${BUILD_TAG}"
> +fi
> +
> echo "$res"
>

--
Jim Chargin
AJA Video Systems jimc at aja.com
(530) 271-3334 http://www.aja.com