Print compiler and linker version with the version command
authorAlexander Holler <holler@ahsoftware.de>
Tue, 18 Jan 2011 23:24:40 +0000 (00:24 +0100)
committerWolfgang Denk <wd@denx.de>
Wed, 2 Feb 2011 20:56:39 +0000 (21:56 +0100)
After years of unsuccessful research I've finally shamelessly stolen other
peoples intellectual properties to present the all-new and world-changing
updated version command:
-
U-Boot>> version

U-Boot 2010.12-00014-g7435056-dirty (Jan 18 2011 - 23:19:38)
MyBoard
gcc (GCC) 0.42 (Distro foobar)
GNU ld (GNU Binutils) 0.314159265
-
May the toolchain bugs rest in peace.

Signed-off-by: Alexander Holler <holler@ahsoftware.de>
Makefile
common/cmd_version.c

index 5f93646994ef863c68d72c0234c638172f3a0346..e17d821c7589d0728018e82f382d4107790673d6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -416,6 +416,10 @@ $(U_BOOT_ONENAND): $(ONENAND_IPL) $(obj)u-boot.bin
 $(VERSION_FILE):
                @( printf '#define U_BOOT_VERSION "U-Boot %s%s"\n' "$(U_BOOT_VERSION)" \
                 '$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ) > $@.tmp
+               @( printf '#define CC_VERSION_STRING "%s"\n' \
+                '$(shell $(CC) --version | head -n 1)' )>>  $@.tmp
+               @( printf '#define LD_VERSION_STRING "%s"\n' \
+                '$(shell $(LD) -v | head -n 1)' )>>  $@.tmp
                @cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@
 
 $(TIMESTAMP_FILE):
index 7d1b495c5124de56f351ed21ecd48c4605781a04..83cb11c6fda94c370d6a0a3080640ac9c37068b9 100644 (file)
 
 #include <common.h>
 #include <command.h>
+#include <version.h>
 
 extern char version_string[];
 
 int do_version(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        printf("\n%s\n", version_string);
+#ifdef CC_VERSION_STRING
+       puts(CC_VERSION_STRING "\n");
+#endif
+#ifdef LD_VERSION_STRING
+       puts(LD_VERSION_STRING "\n");
+#endif
 
        return 0;
 }
 
 U_BOOT_CMD(
        version,        1,              1,      do_version,
-       "print monitor version",
+       "print monitor, compiler and linker version",
        ""
 );