diff options
author | Nico Huber <nico.h@gmx.de> | 2016-01-24 16:00:50 +0100 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2016-03-09 15:25:05 +0100 |
commit | 566dd3576867a513d63855c6fb5b646db301a182 (patch) | |
tree | 4156e355a526d0670471657ba3466c2414d8c5d7 | |
parent | 4f66648c09ce0b6d01b322a31df2d79ad6f6714d (diff) |
Add option for "timeless" builds
Builds with BUILD_TIMELESS=1 shall always give a bit identical output
for stable inputs. This should help verifying that resulting rom files
stay the same across commits that shouldn't change the outcome.
To be useful for builds that rely on 3rdparty/arm-trusted-firmware,
this needs a similar change there.
Change-Id: Ia0a22e3e79fbd0abbd2a9071ecbeef6541787a08
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/13412
Tested-by: build bot (Jenkins)
Reviewed-by: Damien Zammit <damien@zamaudio.com>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
-rw-r--r-- | Makefile.inc | 6 | ||||
-rwxr-xr-x | util/genbuild_h/genbuild_h.sh | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/Makefile.inc b/Makefile.inc index 7ed229e81a..ce6f3514a7 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -22,11 +22,15 @@ CONFIG_FMDFILE:=$(call strip_quotes,$(CONFIG_FMDFILE)) ####################################################################### # misleadingly named, this is the coreboot version +ifeq ($(BUILD_TIMELESS),1) +export KERNELVERSION := TIMELESS +else export KERNELVERSION := $(strip $(if $(GIT),\ $(shell git describe --dirty --always || git describe),\ $(if $(wildcard $(top)/.coreboot-version),\ $(shell cat $(top)/.coreboot-version),\ coreboot-unknown$(KERNELREVISION)))) +endif ####################################################################### # Basic component discovery @@ -327,7 +331,7 @@ CPPFLAGS_common += -I3rdparty CFLAGS_common += -pipe -g -nostdinc CFLAGS_common += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes CFLAGS_common += -Wwrite-strings -Wredundant-decls -Wno-trigraphs -CFLAGS_common += -Wstrict-aliasing -Wshadow +CFLAGS_common += -Wstrict-aliasing -Wshadow -Wdate-time CFLAGS_common += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer CFLAGS_common += -ffunction-sections -fdata-sections diff --git a/util/genbuild_h/genbuild_h.sh b/util/genbuild_h/genbuild_h.sh index 7f0c76869e..d68b867a88 100755 --- a/util/genbuild_h/genbuild_h.sh +++ b/util/genbuild_h/genbuild_h.sh @@ -24,7 +24,11 @@ export TZ=UTC top=`dirname $0`/../.. -if [ -e "${top}/.git" -a -x "$(command -v git)" ]; then +if [ "${BUILD_TIMELESS}" -eq 1 ]; then + GITREV=Timeless + TIMESOURCE="fixed" + DATE=0 +elif [ -e "${top}/.git" -a -x "$(command -v git)" ]; then GITREV=$(LANG= git log -1 --format=format:%h) TIMESOURCE=git DATE=$(git log --pretty=format:%ct -1) |