diff options
author | midipix <writeonce@midipix.org> | 2018-12-26 08:48:48 -0500 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2018-12-31 21:36:45 -0500 |
commit | f7f887d5191514f5cd61db8f9e4cb9676c296abf (patch) | |
tree | e625a8482ac45336aae39c05ae51976f71674e1c /sofort/version.sh | |
parent | eb9c1bcf86daeb0dab4164ce59c68f2008f3d774 (diff) | |
download | slibtool-f7f887d5191514f5cd61db8f9e4cb9676c296abf.tar.bz2 slibtool-f7f887d5191514f5cd61db8f9e4cb9676c296abf.tar.xz |
build system: major overhaul: removed sysinfo, integrated ccenv.
Diffstat (limited to 'sofort/version.sh')
-rwxr-xr-x | sofort/version.sh | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/sofort/version.sh b/sofort/version.sh new file mode 100755 index 0000000..f510a32 --- /dev/null +++ b/sofort/version.sh @@ -0,0 +1,72 @@ +#!/bin/sh + +set -eu + +usage() +{ +cat << EOF >&2 + +Usage: + -h show this HELP message + -s SRCDIR set source directory + -o OUTPUT set output header + -p PREFIX set macro prefix + +EOF +exit 1 +} + + +# one +workdir=$(pwd) +srcdir= +output= +prefix= + + +while getopts "hs:o:p:" opt; do + case $opt in + h) + usage + ;; + s) + srcdir="$OPTARG" + ;; + o) + output="$OPTARG" + ;; + p) + prefix="$OPTARG" + ;; + \?) + printf "Invalid option: -%s" "$OPTARG" >&2 + usage + ;; + esac +done + + +# two +if [ -z "$srcdir" ] || [ -z "$output" ] || [ -z "$prefix" ]; then + usage +fi + +cd "$srcdir" + +gitver=$(git rev-parse --verify HEAD 2>/dev/null) || gitver="unknown" +cvdate=$(git show -s --format=%ci $gitver 2>/dev/null) || cvdate=$(date) + +vmacro=$(printf '%s' "$prefix"'_GIT_VERSION' | tr '[:lower:]' '[:upper:]') +dmacro=$(printf '%s' "$prefix"'_GIT_DATE ' | tr '[:lower:]' '[:upper:]') + +cd "$workdir" + + +# three +printf '#define %s "%s"\n#define %s "%s"\n' \ + "$vmacro" "$gitver" \ + "$dmacro" "$cvdate" \ + > "$output" + +# all done +exit 0 |