libx52/version-info

51 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
# Generate the build_info.h header
# Use the Git version if Git is available, otherwise fallback to Version
top_srcdir="${1-.}"
test -d "${top_srcdir}" || { \
echo "FATAL: Could not change to top_srcdir '$1'" >&2 ; \
exit 1 ; \
}
version="${top_srcdir}/Version"
# Use GIT_DIR if set
if ! test -n "${GIT_DIR}"
then
GIT_DIR="${top_srcdir}/.git"
fi
if test -d "${GIT_DIR}"
then
# Change tags like vX.Y.Z to X.Y.Z
DESCRIBE=$(git describe --dirty 2>/dev/null)
fi
if test ! -n "${DESCRIBE}"
then
DESCRIBE="unknown-version"
if test -f "${version}"
then
DESCRIBE="v$(cat "${version}")"
fi
fi
if test -n "$2"
then
BUILD_COMPILER="$2"
elif test -n "${CC}"
then
BUILD_COMPILER="$(${CC} --version | head -n1)"
else
BUILD_COMPILER=unknown
fi
cat <<EOM
#define BUILD_VERSION "${DESCRIBE}"
#define BUILD_DATE "$(date +%Y-%m-%dT%H:%M:%S%z)"
#define BUILD_HOST "$(uname -a)"
#define BUILD_COMPILER "${BUILD_COMPILER}"
EOM
echo '#define BUILD_VERSION_INFO_IDENT "$Id$"'