summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNico Huber <nico.h@gmx.de>2016-01-24 16:00:50 +0100
committerPatrick Georgi <pgeorgi@google.com>2016-03-09 15:25:05 +0100
commit566dd3576867a513d63855c6fb5b646db301a182 (patch)
tree4156e355a526d0670471657ba3466c2414d8c5d7
parent4f66648c09ce0b6d01b322a31df2d79ad6f6714d (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.inc6
-rwxr-xr-xutil/genbuild_h/genbuild_h.sh6
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)