]> xenbits.xensource.com Git - people/andrewcoop/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)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 12 Jun 2015 06:51:40 +0000 (08:51 +0200)
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>
(cherry picked from commit 624e812764beda88b47c0018b1cee3b86d5c59eb)

Makefile
scripts/buildversion.sh

index a4d945c23c3d4010f8721bfa0f78aaafea16a560..83cdff377fa001a54bb05bdab973aba8dcf6f40b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -154,7 +154,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
@@ -226,7 +226,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