Update U-Boot's build timestamp on every compile
Subsystems (2)
PATCH v4 1/1 Update U-Boot's build timestamp on every compile
Use the GNU 'date' command to auto-generate a new U-Boot timestamp on every compile.
---
Changes since v1:
* Split up U_BOOT_DATE define (date and time) into U_BOOT_DATE (day, month, year) and U_BOOT_TIME (time of day) defines
* Updated all architetures/boards
Changes since v2:
* Placed U_BOOT_DATE and U_BOOT_TIME defines in
timestamp_autogenerated.h.
* Added include/timestamp.h
Changes since v3:
* rebased on TOT
* removed 2 whitespace violations
Makefile | 19 +++++++++++++------ board/bmw/bmw.c | 4 ++-- board/eXalion/eXalion.c | 3 ++- board/lwmon/lwmon.c | 3 ++- board/mousse/mousse.c | 3 ++- board/netstar/eeprom.c | 3 ++- board/sandburst/karef/karef.c | 6 ++++-- board/sandburst/metrobox/metrobox.c | 6 ++++-- board/tqc/tqm8xx/tqm8xx.c | 3 ++- board/trab/trab_fkt.c | 3 ++- board/voiceblue/eeprom.c | 3 ++- cpu/74xx_7xx/start.S | 3 ++- cpu/leon2/start.S | 3 ++- cpu/leon3/start.S | 3 ++- cpu/mcf5227x/start.S | 3 ++- cpu/mcf523x/start.S | 3 ++- cpu/mcf52x2/start.S | 3 ++- cpu/mcf532x/start.S | 3 ++- cpu/mcf5445x/start.S | 3 ++- cpu/mcf547x_8x/start.S | 3 ++- cpu/mpc512x/start.S | 3 ++- cpu/mpc5xx/start.S | 3 ++- cpu/mpc5xxx/start.S | 3 ++- cpu/mpc8220/start.S | 3 ++- cpu/mpc824x/start.S | 3 ++- cpu/mpc8260/start.S | 3 ++- cpu/mpc83xx/start.S | 3 ++- cpu/mpc85xx/start.S | 3 ++- cpu/mpc86xx/start.S | 3 ++- cpu/mpc8xx/start.S | 3 ++- cpu/mpc8xx/video.c | 4 +++- cpu/nios/start.S | 3 ++- cpu/nios2/start.S | 3 ++- cpu/ppc4xx/start.S | 3 ++- include/.gitignore | 1 + include/configs/NETPHONE.h | 2 +- include/configs/NETTA.h | 2 +- include/configs/NETTA2.h | 2 +- include/timestamp.h | 30 ++++++++++++++++++++++++++++++ lib_arm/board.c | 3 ++- lib_avr32/board.c | 3 ++- lib_blackfin/board.c | 3 ++- lib_i386/board.c | 3 ++- lib_microblaze/board.c | 3 ++- lib_mips/board.c | 3 ++- lib_sh/board.c | 3 ++- net/net.c | 3 +++ 47 files changed, 135 insertions(+), 52 deletions(-) create mode 100644 include/timestamp.h
Makefile +13 -6
@@ -30,6 +30,7 @@ U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) else U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL)$(EXTRAVERSION) endif +TIMESTAMP_FILE = $(obj)include/timestamp_autogenerated.h VERSION_FILE = $(obj)include/version_autogenerated.h HOSTARCH := $(shell uname -m | \
@@ -259,7 +260,7 @@ LIBS += api/libapi.a LIBS += post/libpost.a LIBS := $(addprefix $(obj),$(LIBS)) -.PHONY : $(LIBS) $(VERSION_FILE) +.PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE) LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
@@ -351,13 +352,13 @@ $(SUBDIRS): depend $(obj)include/autoconf.mk $(LDSCRIPT): depend $(obj)include/autoconf.mk $(MAKE) -C $(dir $@) $(notdir $@) -$(NAND_SPL): $(VERSION_FILE) $(obj)include/autoconf.mk +$(NAND_SPL): $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk $(MAKE) -C nand_spl/board/$(BOARDDIR) all $(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin $(obj)include/autoconf.mk cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin -$(ONENAND_IPL): $(VERSION_FILE) $(obj)include/autoconf.mk +$(ONENAND_IPL): $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk $(MAKE) -C onenand_ipl/board/$(BOARDDIR) all $(U_BOOT_ONENAND): $(ONENAND_IPL) $(obj)u-boot.bin $(obj)include/autoconf.mk
@@ -370,6 +371,12 @@ $(VERSION_FILE): ) > [email protected] @cmp -s $@ [email protected] && rm -f [email protected] || mv -f [email protected] $@ +$(TIMESTAMP_FILE): + @( printf '#define U_BOOT_DATE "%s"\n' '$(shell date +"%b %d %C%y")' \ + ) > $@ + @( printf '#define U_BOOT_TIME "%s"\n' '$(shell date +"%T")' \ + ) >> $@ + gdbtools: $(MAKE) -C tools/gdb all || exit 1
@@ -379,7 +386,7 @@ updater: env: $(MAKE) -C tools/env all MTD_VERSION=${MTD_VERSION} || exit 1 -depend dep: $(VERSION_FILE) +depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done TAG_SUBDIRS += include
@@ -460,7 +467,7 @@ sinclude $(obj)include/autoconf.mk.dep else # !config.mk all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \ $(obj)u-boot.img $(obj)u-boot.dis $(obj)u-boot \ -$(SUBDIRS) $(VERSION_FILE) gdbtools updater env depend \ +$(SUBDIRS) $(TIMESTAMP_FILE) $(VERSION_FILE) gdbtools updater env depend \ dep tags ctags etags cscope $(obj)System.map: @echo "System not configured - see README" >&2 @ exit 1
@@ -3240,7 +3247,7 @@ clean: @rm -f $(obj)include/bmp_logo.h @rm -f $(obj)nand_spl/{u-boot-spl,u-boot-spl.map,System.map} @rm -f $(obj)onenand_ipl/onenand-{ipl,ipl.bin,ipl-2k.bin,ipl-4k.bin,ipl.map} - @rm -f $(obj)api_examples/demo $(VERSION_FILE) + @rm -f $(obj)api_examples/demo $(TIMESTAMP_FILE) $(VERSION_FILE) @find $(OBJTREE) -type f \ \( -name 'core' -o -name '*.bak' -o -name '*~' \ -o -name '*.o' -o -name '*.a' \) -print \
board/bmw/bmw.c +2 -2
@@ -28,7 +28,7 @@#include <malloc.h> #include <devices.h> #include <net.h> -#include <version.h> +#include <timestamp.h> #include <dtt.h> #include <mpc824x.h> #include <asm/processor.h>
@@ -45,7 +45,7 @@ int checkboard(void)char buf[32 ];puts ("Board: BMW MPC8245/KAHLUA2 - CHRP (MAP B)\n" ); -printf ("Built: %s at %s\n" , __DATE__ , __TIME__ ); +printf ("Built: %s at %s\n" ,U_BOOT_DATE ,U_BOOT_TIME );/* printf("MPLD: Revision %d\n", SYS_REVID_GET()); */ printf ("Local Bus at %s MHz\n" ,strmhz (buf, busfreq));return 0 ;
board/eXalion/eXalion.c +2 -1
@@ -31,6 +31,7 @@#include <pci.h> #include <ide.h> #include <netdev.h> +#include <timestamp.h> #include "piix_pci.h" #include "eXalion.h"
@@ -40,7 +41,7 @@ int checkboard (void)char buf[32 ];printf ("Board: eXalion MPC824x - CHRP (MAP B)\n" ); -printf ("Built: %s at %s\n" , __DATE__, __TIME__); +printf ("Built: %s at %s\n" ,U_BOOT_DATE ,U_BOOT_TIME );printf ("Local Bus: %s MHz\n" ,strmhz (buf, busfreq));return 0 ;
board/lwmon/lwmon.c +2 -1
@@ -762,12 +762,13 @@ static uchar *key_match (uchar *kbd_data)#ifdef CONFIG_LCD_INFO #include <lcd.h> #include <version.h> +#include <timestamp.h> void lcd_show_board_info (void ) {char temp[32 ]; -lcd_printf ("%s (%s - %s)\n" ,U_BOOT_VERSION , __DATE__, __TIME__); +lcd_printf ("%s (%s - %s)\n" ,U_BOOT_VERSION ,U_BOOT_DATE ,U_BOOT_TIME );lcd_printf ("(C) 2008 DENX Software Engineering GmbH\n" );lcd_printf (" Wolfgang DENK, wd at denx.de\n" );#ifdef CONFIG_LCD_INFO_BELOW_LOGO
board/mousse/mousse.c +2 -1
@@ -30,6 +30,7 @@#include <mpc824x.h> #include <netdev.h> #include <asm/processor.h> +#include <timestamp.h> #include "mousse.h" #include "m48t59y.h"
@@ -42,7 +43,7 @@ int checkboard (void)char buf[32 ];puts ("Board: MOUSSE MPC8240/KAHLUA - CHRP (MAP B)\n" ); -printf ("Built: %s at %s\n" , __DATE__, __TIME__); +printf ("Built: %s at %s\n" ,U_BOOT_DATE ,U_BOOT_TIME );printf ("MPLD: Revision %d\n" ,SYS_REVID_GET ());printf ("Local Bus: %s MHz\n" ,strmhz (buf, busfreq));
board/netstar/eeprom.c +2 -1
@@ -26,6 +26,7 @@#include <common.h> #include <exports.h> +#include <timestamp.h> #include "../drivers/net/smc91111.h" #define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE
@@ -173,7 +174,7 @@ int eeprom(int argc, char *argv[])/* Print help message */ if (argv[1 ][1 ] =='h' ) {printf ("VoiceBlue EEPROM writer\n" ); -printf ("Built: %s at %s\n" , __DATE__ , __TIME__ ); +printf ("Built: %s at %s\n" ,U_BOOT_DATE ,U_BOOT_TIME );printf ("Usage:\n\t<mac_address> [<element_1>] [<...>]\n" );return 0 ; }
board/sandburst/karef/karef.c +4 -2
@@ -26,6 +26,7 @@#include <command.h> #include "karef.h" #include "karef_version.h" +#include <timestamp.h> #include <asm/processor.h> #include <asm/io.h> #include <spd_sdram.h>
@@ -299,7 +300,7 @@ int checkboard (void) "Serial Number: %d\n", sernum);printf ("%s\n" ,KAREF_U_BOOT_REL_STR ); -printf ("Built %s %s by %s\n" , __DATE__, __TIME__,BUILDUSER ); +printf ("Built %s %s by %s\n" ,U_BOOT_DATE ,U_BOOT_TIME ,BUILDUSER );if (sbcommon_get_master ()) {printf ("Slot 0 - Master\nSlave board" );if (sbcommon_secondary_present ())
@@ -366,7 +367,8 @@ int misc_init_r (void)setenv ("ubrelver" ,KAREF_U_BOOT_REL_STR );memset (envstr,0 ,255 ); -sprintf (envstr,"Built %s %s by %s" , __DATE__, __TIME__,BUILDUSER ); +sprintf (envstr,"Built %s %s by %s" , +U_BOOT_DATE ,U_BOOT_TIME ,BUILDUSER );setenv ("bldstr" , envstr);saveenv ();
board/sandburst/metrobox/metrobox.c +4 -2
@@ -25,6 +25,7 @@#include <command.h> #include "metrobox.h" #include "metrobox_version.h" +#include <timestamp.h> #include <asm/processor.h> #include <asm/io.h> #include <spd_sdram.h>
@@ -270,7 +271,7 @@ int checkboard (void)printf ("Board: Sandburst Corporation MetroBox Serial Number: %d\n" , sernum);printf ("%s\n" ,METROBOX_U_BOOT_REL_STR ); -printf ("Built %s %s by %s\n" , __DATE__, __TIME__,BUILDUSER ); +printf ("Built %s %s by %s\n" ,U_BOOT_DATE ,U_BOOT_TIME ,BUILDUSER );if (sbcommon_get_master ()) {printf ("Slot 0 - Master\nSlave board" );if (sbcommon_secondary_present ())
@@ -335,7 +336,8 @@ int misc_init_r (void)setenv ("ubrelver" ,METROBOX_U_BOOT_REL_STR );memset (envstr,0 ,255 ); -sprintf (envstr,"Built %s %s by %s" , __DATE__, __TIME__,BUILDUSER ); +sprintf (envstr,"Built %s %s by %s" , +U_BOOT_DATE ,U_BOOT_TIME ,BUILDUSER );setenv ("bldstr" , envstr);saveenv ();
board/tqc/tqm8xx/tqm8xx.c +2 -1
@@ -570,10 +570,11 @@ void ide_led (uchar led, uchar status)#ifdef CONFIG_LCD_INFO #include <lcd.h> +#include <timestamp.h> void lcd_show_board_info (void ) { -lcd_printf ("%s (%s - %s)\n" ,U_BOOT_VERSION , __DATE__, __TIME__); +lcd_printf ("%s (%s - %s)\n" ,U_BOOT_VERSION ,U_BOOT_DATE ,U_BOOT_TIME );lcd_printf ("(C) 2008 DENX Software Engineering GmbH\n" );lcd_printf (" Wolfgang DENK, wd at denx.de\n" );#ifdef CONFIG_LCD_INFO_BELOW_LOGO
board/trab/trab_fkt.c +2 -1
@@ -25,6 +25,7 @@#include <common.h> #include <exports.h> +#include <timestamp.h> #include <s3c2400.h> #include "tsc2000.h" #include "rs485.h"
@@ -296,7 +297,7 @@ int trab_fkt (int argc, char *argv[])int do_info (void ) {printf ("Stand-alone application for TRAB board function test\n" ); -printf ("Built: %s at %s\n" , __DATE__ , __TIME__ ); +printf ("Built: %s at %s\n" ,U_BOOT_DATE ,U_BOOT_TIME );return 0 ; }
board/voiceblue/eeprom.c +2 -1
@@ -26,6 +26,7 @@#include <common.h> #include <exports.h> +#include <timestamp.h> #include "../drivers/net/smc91111.h" #define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE
@@ -169,7 +170,7 @@ int eeprom(int argc, char *argv[])/* Print help message */ if (argv[1 ][1 ] =='h' ) {printf ("VoiceBlue EEPROM writer\n" ); -printf ("Built: %s at %s\n" , __DATE__ , __TIME__ ); +printf ("Built: %s at %s\n" ,U_BOOT_DATE ,U_BOOT_TIME );printf ("Usage:\n\t<mac_address> [<element_1>] [<...>]\n" );return 0 ; }
cpu/74xx_7xx/start.S +2 -1
@@ -34,6 +34,7 @@ */ #include <config.h> #include <74xx_7xx.h> +#include <timestamp.h> #include <version.h> #include <ppc_asm.tmpl>
@@ -87,7 +88,7 @@ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" . = EXC_OFF_SYS_RESET
cpu/leon2/start.S +2 -1
@@ -27,6 +27,7 @@ #include <asm/psr.h> #include <asm/stack.h> #include <asm/leon.h> +#include <timestamp.h> #include <version.h> /* Entry for traps which jump to a programmer-specified trap handler. */
@@ -199,7 +200,7 @@ _trap_table: .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" .section ".text"
cpu/leon3/start.S +2 -1
@@ -27,6 +27,7 @@ #include <asm/psr.h> #include <asm/stack.h> #include <asm/leon.h> +#include <timestamp.h> #include <version.h> /* Entry for traps which jump to a programmer-specified trap handler. */
@@ -200,7 +201,7 @@ _trap_table: .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" .section ".text"
cpu/mcf5227x/start.S +2 -1
@@ -22,6 +22,7 @@ */ #include <config.h> +#include <timestamp.h> #include "version.h" #ifndef CONFIG_IDENT_STRING
@@ -352,6 +353,6 @@ dcache_status: .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" .align 4
cpu/mcf523x/start.S +2 -1
@@ -22,6 +22,7 @@ */ #include <config.h> +#include <timestamp.h> #include "version.h" #ifndef CONFIG_IDENT_STRING
@@ -336,6 +337,6 @@ dcache_status: .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" .align 4
cpu/mcf52x2/start.S +2 -1
@@ -22,6 +22,7 @@ */ #include <config.h> +#include <timestamp.h> #include "version.h" #ifndef CONFIG_IDENT_STRING
@@ -474,6 +475,6 @@ dcache_status: .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" .align 4
cpu/mcf532x/start.S +2 -1
@@ -22,6 +22,7 @@ */ #include <config.h> +#include <timestamp.h> #include "version.h" #ifndef CONFIG_IDENT_STRING
@@ -331,6 +332,6 @@ dcache_status: .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" .align 4
cpu/mcf5445x/start.S +2 -1
@@ -22,6 +22,7 @@ */ #include <config.h> +#include <timestamp.h> #include "version.h" #ifndef CONFIG_IDENT_STRING
@@ -627,6 +628,6 @@ dcache_status: .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" .align 4
cpu/mcf547x_8x/start.S +2 -1
@@ -22,6 +22,7 @@ */ #include <config.h> +#include <timestamp.h> #include "version.h" #ifndef CONFIG_IDENT_STRING
@@ -357,6 +358,6 @@ dcache_status: .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" .align 4
cpu/mpc512x/start.S +2 -1
@@ -31,6 +31,7 @@ #include <config.h> #include <mpc512x.h> +#include <timestamp.h> #include <version.h> #define CONFIG_521X 1 /* needed for Linux kernel header files*/
@@ -85,7 +86,7 @@ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii " ", CONFIG_IDENT_STRING, "\0" /*
cpu/mpc5xx/start.S +2 -1
@@ -32,6 +32,7 @@ #include <config.h> #include <mpc5xx.h> +#include <timestamp.h> #include <version.h> #define CONFIG_5xx 1 /* needed for Linux kernel header files */
@@ -80,7 +81,7 @@ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" . = EXC_OFF_SYS_RESET
cpu/mpc5xxx/start.S +2 -1
@@ -27,6 +27,7 @@ */ #include <config.h> #include <mpc5xxx.h> +#include <timestamp.h> #include <version.h> #define CONFIG_MPC5xxx 1 /* needed for Linux kernel header files */
@@ -78,7 +79,7 @@ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" /*
cpu/mpc8220/start.S +2 -1
@@ -27,6 +27,7 @@ */ #include <config.h> #include <mpc8220.h> +#include <timestamp.h> #include <version.h> #define _LINUX_CONFIG_H 1 /* avoid reading Linux autoconf.h file */
@@ -77,7 +78,7 @@ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" /*
cpu/mpc824x/start.S +2 -1
@@ -39,6 +39,7 @@ */ #include <config.h> #include <mpc824x.h> +#include <timestamp.h> #include <version.h> #define _LINUX_CONFIG_H 1 /* avoid reading Linux autoconf.h file */
@@ -90,7 +91,7 @@ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" . = EXC_OFF_SYS_RESET
cpu/mpc8260/start.S +2 -1
@@ -27,6 +27,7 @@ */ #include <config.h> #include <mpc8260.h> +#include <timestamp.h> #include <version.h> #define CONFIG_8260 1 /* needed for Linux kernel header files */
@@ -85,7 +86,7 @@ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" /*
cpu/mpc83xx/start.S +2 -1
@@ -29,6 +29,7 @@ #include <config.h> #include <mpc83xx.h> +#include <timestamp.h> #include <version.h> #define CONFIG_83XX 1 /* needed for Linux kernel header files*/
@@ -105,7 +106,7 @@ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii " ", CONFIG_IDENT_STRING, "\0"
cpu/mpc85xx/start.S +2 -1
@@ -30,6 +30,7 @@ #include <config.h> #include <mpc85xx.h> +#include <timestamp.h> #include <version.h> #define _LINUX_CONFIG_H 1 /* avoid reading Linux autoconf.h file */
@@ -274,7 +275,7 @@ _start: .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" .align 4
cpu/mpc86xx/start.S +2 -1
@@ -32,6 +32,7 @@ */ #include <config.h> #include <mpc86xx.h> +#include <timestamp.h> #include <version.h> #include <ppc_asm.tmpl>
@@ -76,7 +77,7 @@ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" . = EXC_OFF_SYS_RESET
cpu/mpc8xx/start.S +2 -1
@@ -39,6 +39,7 @@ */ #include <config.h> #include <mpc8xx.h> +#include <timestamp.h> #include <version.h> #define CONFIG_8xx 1 /* needed for Linux kernel header files */
@@ -87,7 +88,7 @@ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" . = EXC_OFF_SYS_RESET
cpu/mpc8xx/video.c +3 -1
@@ -32,6 +32,7 @@#include <stdarg.h> #include <common.h> #include <config.h> +#include <timestamp.h> #include <version.h> #include <i2c.h> #include <linux/types.h>
@@ -1174,7 +1175,8 @@ static void *video_logo (void)easylogo_plot (VIDEO_LOGO_ADDR , screen, width,0 ,0 );#ifdef VIDEO_INFO -sprintf (info,"%s (%s - %s) " ,U_BOOT_VERSION , __DATE__, __TIME__); +sprintf (info,"%s (%s - %s) " , +U_BOOT_VERSION ,U_BOOT_DATE ,U_BOOT_TIME );video_drawstring (VIDEO_INFO_X ,VIDEO_INFO_Y , info);sprintf (info,"(C) 2002 DENX Software Engineering" );
cpu/nios/start.S +2 -1
@@ -23,6 +23,7 @@ #include <config.h> +#include <timestamp.h> #include <version.h> #if !defined(CONFIG_IDENT_STRING)
@@ -233,5 +234,5 @@ dly_clks: version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0"
cpu/nios2/start.S +2 -1
@@ -23,6 +23,7 @@ #include <config.h> +#include <timestamp.h> #include <version.h> /*************************************************************************
@@ -212,5 +213,5 @@ dly_clks: version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0"
cpu/ppc4xx/start.S +2 -1
@@ -63,6 +63,7 @@ */ #include <config.h> #include <ppc4xx.h> +#include <timestamp.h> #include <version.h> #define _LINUX_CONFIG_H 1 /* avoid reading Linux autoconf.h file */
@@ -509,7 +510,7 @@ rsttlb: tlbwe r0,r1,0x0000 /* Invalidate all entries (V=0)*/ .globl version_string version_string: .ascii U_BOOT_VERSION - .ascii " (", __DATE__, " - ", __TIME__, ")" + .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" .ascii CONFIG_IDENT_STRING, "\0" . = EXC_OFF_SYS_RESET
include/.gitignore +1 -0
@@ -5,4 +5,5 @@ /bmp_logo.h /config.h /config.mk +/timestamp_autogenerated.h /version_autogenerated.h
include/configs/NETPHONE.h +1 -1
@@ -799,7 +799,7 @@ typedef unsigned int led_id_t;#define CONFIG_CDP_DEVICE_ID_PREFIX "NP"/* netphone */ #define CONFIG_CDP_PORT_ID "eth%d"#define CONFIG_CDP_CAPABILITIES 0x00000010 -#define CONFIG_CDP_VERSION "u-boot" " " __DATE__ " " __TIME__ +#define CONFIG_CDP_VERSION "u-boot" " " U_BOOT_DATE " " U_BOOT_TIME#define CONFIG_CDP_PLATFORM "Intracom NetPhone"#define CONFIG_CDP_TRIGGER 0x20020001#define CONFIG_CDP_POWER_CONSUMPTION 4300/* 90 mA @ 48V */
include/configs/NETTA.h +1 -1
@@ -775,7 +775,7 @@#define CONFIG_CDP_DEVICE_ID_PREFIX "NT"/* netta */ #define CONFIG_CDP_PORT_ID "eth%d"#define CONFIG_CDP_CAPABILITIES 0x00000010 -#define CONFIG_CDP_VERSION "u-boot 1.0" " " __DATE__ " " __TIME__ +#define CONFIG_CDP_VERSION "u-boot 1.0" " " U_BOOT_DATE " " U_BOOT_TIME#define CONFIG_CDP_PLATFORM "Intracom NetTA"#define CONFIG_CDP_TRIGGER 0x20020001#define CONFIG_CDP_POWER_CONSUMPTION 4300/* 90 mA @ 48V */
include/configs/NETTA2.h +1 -1
@@ -750,7 +750,7 @@ typedef unsigned int led_id_t;#define CONFIG_CDP_DEVICE_ID_PREFIX "NT"/* netta2 */ #define CONFIG_CDP_PORT_ID "eth%d"#define CONFIG_CDP_CAPABILITIES 0x00000010 -#define CONFIG_CDP_VERSION "u-boot" " " __DATE__ " " __TIME__ +#define CONFIG_CDP_VERSION "u-boot" " " U_BOOT_DATE " " U_BOOT_TIME#define CONFIG_CDP_PLATFORM "Intracom NetTA2"#define CONFIG_CDP_TRIGGER 0x20020001#define CONFIG_CDP_POWER_CONSUMPTION 4300/* 90 mA @ 48V */
include/timestamp.h new file +30 -0
@@ -0,0 +1,30 @@ +/* +* Copyright 2008 Extreme Engineering Solutions, Inc. +* +* See file CREDITS for list of people who contributed to this +* project. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, +* MA 02111-1307 USA +*/ + +#ifndef __TIMESTAMP_H__ +#define __TIMESTAMP_H__ + +#ifndef DO_DEPS_ONLY +#include "timestamp_autogenerated.h" +#endif + +#endif /* __TIMESTAMP_H__ */
lib_arm/board.c +2 -1
@@ -42,6 +42,7 @@#include <command.h> #include <malloc.h> #include <devices.h> +#include <timestamp.h> #include <version.h> #include <net.h> #include <serial.h>
@@ -69,7 +70,7 @@ extern void dataflash_print_info(void);#endif const char version_string[] = -U_BOOT_VERSION " (" __DATE__" - " __TIME__")" CONFIG_IDENT_STRING ; +U_BOOT_VERSION " (" U_BOOT_DATE " - " U_BOOT_TIME ")" CONFIG_IDENT_STRING ;#ifdef CONFIG_DRIVER_CS8900 extern void cs8900_get_enetaddr (uchar * addr);
lib_avr32/board.c +2 -1
@@ -23,6 +23,7 @@#include <command.h> #include <malloc.h> #include <devices.h> +#include <timestamp.h> #include <version.h> #include <net.h>
@@ -36,7 +37,7 @@DECLARE_GLOBAL_DATA_PTR ;const char version_string[] = -U_BOOT_VERSION " (" __DATE__" - " __TIME__") " CONFIG_IDENT_STRING ; +U_BOOT_VERSION " (" U_BOOT_DATE " - " U_BOOT_TIME ") " CONFIG_IDENT_STRING ;unsigned long monitor_flash_len;
lib_blackfin/board.c +2 -1
@@ -16,6 +16,7 @@#include <i2c.h> #include <malloc.h> #include <net.h> +#include <timestamp.h> #include <version.h> #include <asm/cplb.h>
@@ -32,7 +33,7 @@ int post_flag;DECLARE_GLOBAL_DATA_PTR ; -const char version_string[] =U_BOOT_VERSION " (" __DATE__" - " __TIME__")" ; +const char version_string[] =U_BOOT_VERSION " (" U_BOOT_DATE " - " U_BOOT_TIME ")" ; __attribute__((always_inline))static inline void serial_early_puts (const char *s)
lib_i386/board.c +2 -1
@@ -32,6 +32,7 @@#include <watchdog.h> #include <command.h> #include <devices.h> +#include <timestamp.h> #include <version.h> #include <malloc.h> #include <net.h>
@@ -70,7 +71,7 @@ ulong i386boot_bios_size = (ulong)&_i386boot_bios_size; /* size of BIOSconst char version_string[] = -U_BOOT_VERSION " (" __DATE__" - " __TIME__")" ; +U_BOOT_VERSION " (" U_BOOT_DATE " - " U_BOOT_TIME ")" ;/*
lib_microblaze/board.c +2 -1
@@ -27,12 +27,13 @@#include <common.h> #include <command.h> #include <malloc.h> +#include <timestamp.h> #include <version.h> #include <watchdog.h> DECLARE_GLOBAL_DATA_PTR ; -const char version_string[] =U_BOOT_VERSION " (" __DATE__" - " __TIME__")" ; +const char version_string[] =U_BOOT_VERSION " (" U_BOOT_DATE " - " U_BOOT_TIME ")" ;#ifdef CONFIG_SYS_GPIO_0 extern int gpio_init (void );
lib_mips/board.c +2 -1
@@ -25,6 +25,7 @@#include <command.h> #include <malloc.h> #include <devices.h> +#include <timestamp.h> #include <version.h> #include <net.h> #include <environment.h>
@@ -53,7 +54,7 @@ extern ulong uboot_end;ulong monitor_flash_len;const char version_string[] = -U_BOOT_VERSION " (" __DATE__" - " __TIME__")" ; +U_BOOT_VERSION " (" U_BOOT_DATE " - " U_BOOT_TIME ")" ;static char *failed ="*** failed ***\n" ;
lib_sh/board.c +2 -1
@@ -22,6 +22,7 @@#include <command.h> #include <malloc.h> #include <devices.h> +#include <timestamp.h> #include <version.h> #include <watchdog.h> #include <net.h>
@@ -33,7 +34,7 @@ extern int board_init(void);extern int dram_init (void );extern int timer_init (void ); -const char version_string[] =U_BOOT_VERSION " (" __DATE__" - " __TIME__")" ; +const char version_string[] =U_BOOT_VERSION " (" U_BOOT_DATE " - " U_BOOT_TIME ")" ;unsigned long monitor_flash_len =CONFIG_SYS_MONITOR_LEN ;
net/net.c +3 -0
@@ -89,6 +89,9 @@#if defined(CONFIG_CMD_SNTP )#include "sntp.h" #endif +#if defined(CONFIG_CDP_VERSION ) +#include <timestamp.h> +#endif #if defined(CONFIG_CMD_NET )
Signature · 1 line
1.6.0.2.GIT
PATCH v4 1/1 Update U-Boot's build timestamp on every compile
Makefile $(VERSION_FILE): · line 378
Quoted 5 lines · Peter Tyser
+$(TIMESTAMP_FILE):
Makefile +4
-0+ @( printf '#define U_BOOT_DATE "%s"\n' '$(shell date +"%b %d %C%y")' \ + ) > $@ + @( printf '#define U_BOOT_TIME "%s"\n' '$(shell date +"%T")' \ + ) >> $@
You could do this:
@date +'#define U_BOOT_DATE "%b %d %C%y"' > $@ @date +'#define U_BOOT_TIME "%T"' >> $@
Somewhat shorter and simpler.
Quoted 13 lines
cpu/mpc8xx/video.c +1
-0@@ -32,6 +32,7 @@#include <stdarg.h> #include <common.h> #include <config.h> +#include <timestamp.h> #include <version.h> #include <i2c.h> #include <linux/types.h>
cpu/mpc8xx/video.c static void *video_logo (void) · line 1180
Quoted 7 lines
cpu/mpc8xx/video.c +2
-1@@ -1174,7 +1175,8 @@ static void *video_logo (void)easylogo_plot (VIDEO_LOGO_ADDR , screen, width,0 ,0 );#ifdef VIDEO_INFO -sprintf (info,"%s (%s - %s) " ,U_BOOT_VERSION , __DATE__, __TIME__); +sprintf (info,"%s (%s - %s) " , +U_BOOT_VERSION ,U_BOOT_DATE ,U_BOOT_TIME );video_drawstring (VIDEO_INFO_X ,VIDEO_INFO_Y , info);
If the include of timestamp.h is inside the VIDEO_INFO ifdef, then video.c won't gain a timestamp.h dependency when VIDEO_INFO isn't on. This would prevent the file from getting rebuilt on each build if it doesn't need it.
include/configs/NETPHONE.h typedef unsigned int led_id_t; · line 802
Quoted 10 lines
include/configs/NETPHONE.h +1
-1@@ -799,7 +799,7 @@ typedef unsigned int led_id_t;#define CONFIG_CDP_DEVICE_ID_PREFIX "NP"/* netphone */ #define CONFIG_CDP_PORT_ID "eth%d"#define CONFIG_CDP_CAPABILITIES 0x00000010 -#define CONFIG_CDP_VERSION "u-boot" " " __DATE__ " " __TIME__ +#define CONFIG_CDP_VERSION "u-boot" " " U_BOOT_DATE " " U_BOOT_TIME
This means any file that uses CONFIG_CDP_VERSION will need to include timestamp.h, which it didn't before. You added the includes where needed?
PATCH v4 1/1 Update U-Boot's build timestamp on every compile
Quoted 12 lines · Trent Piepho
Makefile $(VERSION_FILE): · line 378
Quoted 5 lines · Peter Tyser
+$(TIMESTAMP_FILE):
Makefile +4
-0+ @( printf '#define U_BOOT_DATE "%s"\n' '$(shell date +"%b %d %C%y")' \ + ) > $@ + @( printf '#define U_BOOT_TIME "%s"\n' '$(shell date +"%T")' \ + ) >> $@You could do this:
(quoted diff) +0
-0@date +'#define U_BOOT_DATE "%b %d %C%y"' > $@ @date +'#define U_BOOT_TIME "%T"' >> $@
Quoted 1 line
Somewhat shorter and simpler.
Good idea.
Quoted 15 lines
Quoted 15 lines
cpu/mpc8xx/video.c +1
-0@@ -32,6 +32,7 @@#include <stdarg.h> #include <common.h> #include <config.h> +#include <timestamp.h> #include <version.h> #include <i2c.h> #include <linux/types.h> @@ -1174,7 +1175,8 @@ static void *video_logo (void)easylogo_plot (VIDEO_LOGO_ADDR , screen, width,0 ,0 );
Quoted 9 lines
cpu/mpc8xx/video.c static void *video_logo (void) · line 1180
Quoted 5 lines
cpu/mpc8xx/video.c +2
-1#ifdef VIDEO_INFO -sprintf (info,"%s (%s - %s) " ,U_BOOT_VERSION , __DATE__, __TIME__); +sprintf (info,"%s (%s - %s) " , +U_BOOT_VERSION ,U_BOOT_DATE ,U_BOOT_TIME );video_drawstring (VIDEO_INFO_X ,VIDEO_INFO_Y , info);If the include of
timestamp.his inside theVIDEO_INFOifdef, thenvideo.cwon't gain atimestamp.hdependency whenVIDEO_INFOisn't on. This would prevent the file from getting rebuilt on each build if it doesn't need it.
I was following the lead of version.h, which has the same issue you spotted. I'll fix both in the next rev.
Quoted 5 lines
Quoted 5 lines
include/configs/NETPHONE.h +0
-0@@ -799,7 +799,7 @@ typedef unsigned int led_id_t;
Quoted 8 lines
include/configs/NETPHONE.h typedef unsigned int led_id_t; · line 802
Quoted 5 lines
include/configs/NETPHONE.h +1
-1#define CONFIG_CDP_DEVICE_ID_PREFIX "NP"/* netphone */ #define CONFIG_CDP_PORT_ID "eth%d"#define CONFIG_CDP_CAPABILITIES 0x00000010 -#define CONFIG_CDP_VERSION "u-boot" " " __DATE__ " " __TIME__ +#define CONFIG_CDP_VERSION "u-boot" " " U_BOOT_DATE " " U_BOOT_TIMEThis means any file that uses
CONFIG_CDP_VERSIONwill need to includetimestamp.h, which it didn't before. You added the includes where needed?
Yes, it is only used in net.c which was updated with:
+#if defined(CONFIG_CDP_VERSION)
+#include <timestamp.h>
+#endif
Thanks for the comments Trent. I'll resubmit v5 shortly. Peter