diff options
author | midipix <writeonce@midipix.org> | 2015-11-26 21:43:06 -0500 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-11-10 23:35:27 -0500 |
commit | 4ab720b44ac5a98a9192d87a50630f964ab5eaa6 (patch) | |
tree | 49adfdc87e639265b6f9e80d3e5bd617a612d0a2 /sysinfo | |
parent | 9c5807c7cadf7219a32f3b2c081a8d21aceb4837 (diff) | |
download | perk-4ab720b44ac5a98a9192d87a50630f964ab5eaa6.tar.bz2 perk-4ab720b44ac5a98a9192d87a50630f964ab5eaa6.tar.xz |
build system: version.sh: initial implementation.
Diffstat (limited to 'sysinfo')
-rwxr-xr-x | sysinfo/version.sh | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/sysinfo/version.sh b/sysinfo/version.sh new file mode 100755 index 0000000..fb1e8c3 --- /dev/null +++ b/sysinfo/version.sh @@ -0,0 +1,61 @@ +#!/bin/sh + +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" || exit 2 + +gitver=`git rev-parse --verify HEAD` || gitver="unknown" +macro=`echo "$prefix"_GIT_VERSION | tr '[:lower:]' '[:upper:]'` + +cd "$workdir" || exit 2 +printf "#define $macro\t\"$gitver\"\n" > "$output" + +# all done +exit 0 |