mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-24 21:31:46 +00:00
Make comptime.sh conform to POSIX and less redundant, among other improvements
- Shebang now directly calls /bin/sh - Improved indenting within the comprevision() function - Quoted several strings to prevent possible argument splitting - Replaced archaic backtick command statements with more descriptive `"$(...)"` statements - Replaced direct references to `test` with more readable, but equivalent `[ ... ]` statements - Replaced the ${str:0:8} bashism with an equivalent statement using POSIX cut - Moved redundant definitions of the comptime.h body to a single function that takes arguments
This commit is contained in:
parent
9bfc82a14b
commit
a614865d35
1 changed files with 22 additions and 32 deletions
46
comptime.sh
46
comptime.sh
|
@ -1,54 +1,44 @@
|
|||
#!/bin/bash -e
|
||||
#!/bin/sh
|
||||
path="."
|
||||
if [ x"$1" != x ]; then
|
||||
path="$1"
|
||||
fi
|
||||
|
||||
versiongit() {
|
||||
gitbranch=`git rev-parse --abbrev-ref HEAD`
|
||||
gitversion=`git rev-parse HEAD`
|
||||
cat <<EOF > $path/comptime.h
|
||||
version() {
|
||||
cat <<EOF > "$path/comptime.h"
|
||||
|
||||
// Do not edit! This file was autogenerated
|
||||
// by the $0 script with git
|
||||
//
|
||||
const char* compbranch = "$gitbranch";
|
||||
const char* comprevision = "${gitversion:0:8}";
|
||||
const char* compbranch = "$1";
|
||||
const char* comprevision = "$2";
|
||||
EOF
|
||||
}
|
||||
|
||||
versiongit() {
|
||||
gitbranch="$(git rev-parse --abbrev-ref HEAD)"
|
||||
gitversion="$(git rev-parse HEAD | cut -c -8)"
|
||||
version "$gitbranch" "$gitversion";
|
||||
exit 0
|
||||
}
|
||||
|
||||
versionsvn() {
|
||||
svnrevision=`svnversion -n $1`
|
||||
cat <<EOF > $path/comptime.h
|
||||
|
||||
// Do not edit! This file was autogenerated
|
||||
// by the $0 script with subversion
|
||||
//
|
||||
const char* compbranch = "Subversion";
|
||||
const char* comprevision = "r$svnrevision";
|
||||
EOF
|
||||
svnrevision="$(svnversion -n $1)"
|
||||
version "Subversion" "r$svnrevision";
|
||||
exit 0
|
||||
}
|
||||
|
||||
versionfake() {
|
||||
cat <<EOF > $path/comptime.h
|
||||
|
||||
// Do not edit! This file was autogenerated
|
||||
// by the $0 script with an unknown or nonexist SCM
|
||||
//
|
||||
const char* compbranch = "Unknown";
|
||||
const char* comprevision = "illegal";
|
||||
EOF
|
||||
version "Unknown" "illegal";
|
||||
}
|
||||
|
||||
compversion() {
|
||||
touch $path/comptime.c
|
||||
touch "$path/comptime.c"
|
||||
versionfake
|
||||
test -d $path/.svn && versionsvn
|
||||
test -d $path/../.git && versiongit
|
||||
[ -d "$path/.svn" ] && versionsvn
|
||||
[ -d "$path/../.git" ] && versiongit
|
||||
exit 1
|
||||
}
|
||||
|
||||
test -f $path/comptime.c && compversion
|
||||
[ -f "$path/comptime.c" ] && compversion
|
||||
exit 2
|
||||
|
|
Loading…
Reference in a new issue