--- /dev/null
+#!/bin/sh
+# generate new version.h
+
+set -e
+
+if [ $# -lt 2 ]
+ then
+ echo "usage: `basename $0` <major> <minor> [<extra>]"
+ exit 1
+fi
+
+maj=`printf "%u" $1`
+min=`printf "%u" $2`
+shift 2
+ext="$@"
+
+str="${maj}.${min}"
+if [ -n "${ext}" ]
+ then
+ str="${str}-${ext}"
+fi
+now=`TZ=UTC date "+%Y-%m-%d"`
+
+commit=`git rev-parse HEAD`
+branch=`git rev-parse --abbrev-ref HEAD`
+
+cat>"version.h"<<EOF
+#ifndef VERSION_H
+#define VERSION_H
+
+#define VERSION_MAJOR ${maj}
+#define VERSION_MINOR ${min}
+#define VERSION_EXTRA_STR "${ext}"
+#define VERSION_STR "${str}"
+#define VERSION_DATE "${now}"
+#define VERSION_COMMIT "${commit}"
+#define VERSION_BRANCH "${branch}"
+
+#endif
+EOF
+