aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2015-06-03 19:17:12 -0400
committerKevin O'Connor <kevin@koconnor.net>2015-06-03 19:22:38 -0400
commit624e812764beda88b47c0018b1cee3b86d5c59eb (patch)
tree2e1286a36fb05a9f5f78f9267c3825410f6523a1
parentbe050664fdd1699fe7bcf3a9b6faff07172a83d6 (diff)
downloadseabios-hppa-624e812764beda88b47c0018b1cee3b86d5c59eb.zip
seabios-hppa-624e812764beda88b47c0018b1cee3b86d5c59eb.tar.gz
seabios-hppa-624e812764beda88b47c0018b1cee3b86d5c59eb.tar.bz2
build: Support "make VERSION=xyz" to override the default build version
Add a build option to explicitly set the version information compiled into the seabios and seavgabios binaries. This may assist in reproducible builds or to better link builds to distribution packages. If the new "VERSION=" parameter is not provided then the default build version remains unchanged. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--Makefile4
-rwxr-xr-xscripts/buildversion.sh16
2 files changed, 12 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 96aec48..f97b1bd 100644
--- a/Makefile
+++ b/Makefile
@@ -155,7 +155,7 @@ $(OUT)romlayout.o: src/romlayout.S $(OUT)autoconf.h $(OUT)asm-offsets.h
$(OUT)romlayout16.lds: $(OUT)ccode32flat.o $(OUT)code32seg.o $(OUT)ccode16.o $(OUT)romlayout.o scripts/layoutrom.py scripts/buildversion.sh
@echo " Building ld scripts"
- $(Q)./scripts/buildversion.sh $(OUT)version.c
+ $(Q)BUILD_VERSION="$(VERSION)" ./scripts/buildversion.sh $(OUT)version.c
$(Q)$(CC) $(CFLAGS32FLAT) -c $(OUT)version.c -o $(OUT)version.o
$(Q)$(LD) $(LD32BIT_FLAG) -r $(OUT)ccode32flat.o $(OUT)version.o -o $(OUT)code32flat.o
$(Q)$(LD) $(LD32BIT_FLAG) -r $(OUT)ccode16.o $(OUT)romlayout.o -o $(OUT)code16.o
@@ -227,7 +227,7 @@ $(OUT)vgaentry.o: vgasrc/vgaentry.S $(OUT)autoconf.h $(OUT)asm-offsets.h
$(OUT)vgarom.o: $(OUT)vgaccode16.o $(OUT)vgaentry.o $(OUT)vgasrc/vgalayout.lds scripts/buildversion.sh
@echo " Linking $@"
- $(Q)./scripts/buildversion.sh $(OUT)vgaversion.c VAR16
+ $(Q)BUILD_VERSION="$(VERSION)" ./scripts/buildversion.sh $(OUT)vgaversion.c VAR16
$(Q)$(CC) $(CFLAGS16) -c $(OUT)vgaversion.c -o $(OUT)vgaversion.o
$(Q)$(LD) --gc-sections -T $(OUT)vgasrc/vgalayout.lds $(OUT)vgaccode16.o $(OUT)vgaentry.o $(OUT)vgaversion.o -o $@
diff --git a/scripts/buildversion.sh b/scripts/buildversion.sh
index e5ce96c..516aff5 100755
--- a/scripts/buildversion.sh
+++ b/scripts/buildversion.sh
@@ -4,14 +4,18 @@ OUTFILE="$1"
VAR16MODE="$2"
# Extract version info
-if [ -d .git -o -f .git ]; then
- VERSION="`git describe --tags --long --dirty`"
-elif [ -f .version ]; then
- VERSION="`cat .version`"
+if [ -z "$BUILD_VERSION" ]; then
+ if [ -d .git -o -f .git ]; then
+ VERSION="`git describe --tags --long --dirty`"
+ elif [ -f .version ]; then
+ VERSION="`cat .version`"
+ else
+ VERSION="?"
+ fi
+ VERSION="${VERSION}-`date +"%Y%m%d_%H%M%S"`-`hostname`"
else
- VERSION="?"
+ VERSION="$BUILD_VERSION"
fi
-VERSION="${VERSION}-`date +"%Y%m%d_%H%M%S"`-`hostname`"
echo "Version: ${VERSION}"
# Build header file