libx52/version-info

61 lines
1.2 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 -u +%Y-%m-%dT%H:%M:%S%z)"
#define BUILD_ARCH "$(uname -mp)"
#define BUILD_KERNEL "$(uname -sr)"
#define BUILD_OS_VERSION "$(uname -v)"
#define BUILD_COMPILER "${BUILD_COMPILER}"
EOM
echo '#define BUILD_VERSION_INFO_IDENT "$Id$"'
if test -n "${CC}"
then
BUILD_TARGET="$(${CC} -dumpmachine || echo "unknown")"
else
BUILD_TARGET=unknown
fi
echo "#define BUILD_TARGET \"${BUILD_TARGET}\""