#! /bin/sh
# echo "This is the git version checker"
test -f gitversion-stamp && BGD=`cat gitversion-stamp` || :
# echo "existing gitversion-stamp is $BGD"
GD=`git describe --tags --dirty --broken --always 2>/dev/null`
if [ x"$GD" = x ] ; then
  GD="NA"
fi
# echo "current git description is $GD"
printf "build: $GD\n" # displays git version
if [ x"$GD" != x"$BGD" ] ; then
	printf "$GD\n" > gitversion-stamp
	printf "// Do not edit!\n" > gitversion.h
	printf "// This file is automatically generated.\n" >> gitversion.h
	printf "  char git_version_string[] = \"" >> gitversion.h
	## the tr is because we need to remove the trailing newline
	cat gitversion-stamp | tr -d '[[:space:]]' >> gitversion.h
	printf "\";\n" >> gitversion.h
fi

# Usage. Below is what you would add to Makefile.am. When it runs, the
# following two files are generated: 'gitversion-stamp' and 'gitversion.h'.

# gitversion-stamp stores the most recently used git description.
# gitversion.h is a C header file containing that git description as a string.

# Put this script in the top level source folder and make sure it has execute permission.

# These are the lines (remove the leading '#' on each) to add to the Makefile.am file:
# ## Check if the git version information has changed and rebuild gitversion.h if so.
# .PHONY: gitversion-check
# gitversion-check: 
# 	$(top_srcdir)/check-gitversion

# ## You may have to change from += to = below:
# BUILT_SOURCES += gitversion-check
# CLEANFILES += gitversion-stamp gitversion.h
