]> xenbits.xensource.com Git - seabios.git/commitdiff
build: Support "make VERSION=xyz" to override the default build version
authorKevin O'Connor <kevin@koconnor.net>
Wed, 3 Jun 2015 23:17:12 +0000 (19:17 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Wed, 3 Jun 2015 23:22:38 +0000 (19:22 -0400)
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>
Makefile
scripts/buildversion.sh

index 96aec48e7ffe9aca6e8e401a82b96b64148f5771..f97b1bd9f91df7417e7bd5a1ebd7182098a43296 100644 (file)
--- 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 $@
 
index e5ce96c6a70c52389c25759835fdb148e5378940..516aff5b2d256282864299789d3f1b5e8c9c1f0f 100755 (executable)
@@ -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