Commit | Line | Data |
---|---|---|
a0be6343 WJ |
1 | : run this script through /bin/sh |
2 | ||
3 | : this hacks past a bug in make... | |
4 | exec 3<&- 4<&- 5<&- 6<&- 7<&- | |
5 | ||
6 | OFS="$IFS" IFS=: | |
7 | ||
8 | if [ "x$1" = x ]; then echo 'usage: version.sh module' 1>&2; exit 1; fi | |
9 | ||
10 | for A in rprompt hostname uname who | |
11 | do | |
12 | for D in $PATH | |
13 | do | |
14 | if [ ! -f $D/$A ]; then | |
15 | continue | |
16 | fi | |
17 | case $A in | |
18 | rprompt) LOCAL=`$A %h` | |
19 | ;; | |
20 | hostname) LOCAL=`$A` | |
21 | ;; | |
22 | uname) LOCAL=`$A -n` | |
23 | ;; | |
24 | who) LOCAL=`$A am i | sed -e 's%^\(.*\)!.*$%\1%'` | |
25 | ;; | |
26 | esac | |
27 | break | |
28 | done | |
29 | if [ "x$LOCAL" != x ]; then | |
30 | break | |
31 | fi | |
32 | done | |
33 | ||
34 | IFS= | |
35 | ||
36 | if [ ! -r version.major ]; then echo 0 > version.major; fi | |
37 | if [ ! -r version.minor ]; then echo 1 > version.minor; fi | |
38 | if [ ! -r version.local ]; then echo 0 > version.local; fi | |
39 | echo `cat version.major` `cat version.minor` `cat version.local` $1 $2 > version | |
40 | rm -f version.c version.local | |
41 | ||
42 | awk ' { major = $1; minor = $2; local = $3 + 1; sfw = $4; \ | |
43 | if (NF >= 5) note = $5; else note = ""; }\ | |
44 | END { printf "char *%sversion = \"%s%s %d.%d #%d ", sfw, sfw, note, major, minor, local; \ | |
45 | printf "%d\n", local > "version.local"; }' < version | |
46 | echo '('$LOCAL') of '`date`'";' | |
47 | ||
48 | rm -f version |