diff --git a/gitinfo.awk b/gitinfo.awk new file mode 100644 index 0000000..cc16d26 --- /dev/null +++ b/gitinfo.awk @@ -0,0 +1,16 @@ +#!/usr/bin/gawk -f + +BEGIN { + printf("#ifndef __GITDEFS_H__\n") + printf("#define __GITDEFS_H__\n\n") + printf("/* Do not edit this file */\n") + printf("/* Automatic generated by gitinfo.awk */\n\n\n") +} + +NR == 1 { printf("#define GIT_HASH_STR \"%s\"\n", $0); } +NR == 2 { printf("#define GIT_HASH_HEX 0x%s\n", $0); } +NR == 3 { printf("#define GIT_BRANCH_STR \"%s\"\n", $0); } +NR == 4 { printf("#define GIT_VERSION_STR \"%s\"\n", $0); } +NR == 5 { printf("#define GIT_BUILD_NR %u\n", $0); + printf("#define GIT_BUILD_STR \"%s\"\n", $0); } +END { printf("\n\n#endif\n\n"); } diff --git a/prebuild.sh b/prebuild.sh new file mode 100644 index 0000000..a18bb2d --- /dev/null +++ b/prebuild.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +git describe --abbrev=8 --dirty --always > gitinfo.txt +git describe --abbrev=8 --always >> gitinfo.txt +git rev-parse --abbrev-ref HEAD >> gitinfo.txt +git describe --always --tags --dirty=-d | gawk 'NR==1{print $0}' >> gitinfo.txt +git rev-list HEAD | wc -l | tr -d ' ' >> gitinfo.txt +gawk -f gitinfo.awk < gitinfo.txt > gitdefs.h +rm -f gitinfo.txt