#!/bin/bash
set -e
set -o pipefail
+
+kind="$1"
+
desc=`git-describe --always HEAD`
log=`git-log -1 --pretty='format:%h %ci %s' HEAD`
set +e
1) diffplus=+ ;;
*) exit $diffrc ;;
esac
-printf '%.71s\n' "$desc$diffplus $log"
+
+case "$1" in
+'') maxlen=.71
+ ;;
+C) echo '#include "../.git-revid-autoversion.h"'
+ printf 'const char autoversion[]= \"'
+ log="${log//\\/\\\\}"
+ log="${log//\"/\\\"}"
+ maxlen=''
+ ;;
+*) echo >&2 'bad usage for .git-revid'
+ exit 1
+ ;;
+esac
+
+printf "%${maxlen}s" "$desc$diffplus $log"
+
+case "$kind" in
+'') printf '\n' ;;
+C) echo '";' ;;
+*) ;;
+esac
--- /dev/null
+/* goes with the automatically-generated output from .git-revid */
+#ifndef AUTOVERSION_H
+#define AUTOVERSION_H
+extern const char autoversion[];
+#endif /*AUTOVERSION_H*/