Makefile: Provide numeric versions
authorSimon Glass <sjg@chromium.org>
Fri, 5 Feb 2021 04:17:13 +0000 (21:17 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Sat, 6 Feb 2021 11:18:41 +0000 (19:18 +0800)
For SMBIOS we want to store the numeric version numbers in the tables. It
does not make sense to parse the strings. Instead, add new #defines with
the version and patchlevel.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Makefile
doc/develop/version.rst

index 23dd11f..ebbedb1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1853,9 +1853,13 @@ prepare: prepare0
 # Generate some files
 # ---------------------------------------------------------------------------
 
+# Use sed to remove leading zeros from PATCHLEVEL to avoid using octal numbers
 define filechk_version.h
        (echo \#define PLAIN_VERSION \"$(UBOOTRELEASE)\"; \
        echo \#define U_BOOT_VERSION \"U-Boot \" PLAIN_VERSION; \
+       echo \#define U_BOOT_VERSION_NUM $(VERSION); \
+       echo \#define U_BOOT_VERSION_NUM_PATCH $$(echo $(PATCHLEVEL) | \
+               sed -e "s/^0*//"); \
        echo \#define CC_VERSION_STRING \"$$(LC_ALL=C $(CC) --version | head -n 1)\"; \
        echo \#define LD_VERSION_STRING \"$$(LC_ALL=C $(LD) --version | head -n 1)\"; )
 endef
index 6da31a4..a7797db 100644 (file)
@@ -69,6 +69,14 @@ The following are available:
          U-Boot 2020.10 (Jan 06 2021 - 08:50:36 -0700)
          U-Boot 2021.01-rc5-00248-g60dd854f3ba-dirty (Jan 06 2021 - 08:50:36 -0700) for spring
 
+   U_BOOT_VERSION_NUM (integer #define)
+      Release year, e.g. 2021 for release 2021.01. Note
+      this is an integer, not a string.
+
+   U_BOOT_VERSION_NUM_PATCH (integer #define)
+      Patch number, e.g. 1 for release 2020.01. Note
+      this is an integer, not a string.
+
 Build date/time is also included. See the generated file
 include/generated/timestamp_autogenerated.h for the available
 fields. For example::