From 122f2032db7a0349cbcfdc80c1873bd3c34f3cb6 Mon Sep 17 00:00:00 2001 From: unicod Date: Thu, 31 Jul 2025 21:47:36 +0200 Subject: [PATCH] gitinfo draft --- gitinfo.awk | 16 ++++++++++++++++ prebuild.sh | 9 +++++++++ 2 files changed, 25 insertions(+) create mode 100644 gitinfo.awk create mode 100644 prebuild.sh 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