]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | # | |
3 | # USAGE: get-version.sh path/to/expat.h | |
4 | # | |
5 | # This script will print Expat's version number on stdout. For example: | |
6 | # | |
7 | # $ ./conftools/get-version.sh ./lib/expat.h | |
8 | # 1.95.3 | |
9 | # $ | |
10 | # | |
11 | ||
12 | if test $# = 0; then | |
13 | echo "ERROR: pathname for expat.h was not provided." | |
14 | echo "" | |
15 | echo "USAGE: $0 path/to/expat.h" | |
16 | exit 1 | |
17 | fi | |
18 | if test $# != 1; then | |
19 | echo "ERROR: too many arguments were provided." | |
20 | echo "" | |
21 | echo "USAGE: $0 path/to/expat.h" | |
22 | exit 1 | |
23 | fi | |
24 | ||
25 | hdr="$1" | |
26 | if test ! -r "$hdr"; then | |
27 | echo "ERROR: '$hdr' does not exist, or is not readable." | |
28 | exit 1 | |
29 | fi | |
30 | ||
31 | MAJOR_VERSION="`sed -n -e '/MAJOR_VERSION/s/[^0-9]*//gp' $hdr`" | |
32 | MINOR_VERSION="`sed -n -e '/MINOR_VERSION/s/[^0-9]*//gp' $hdr`" | |
33 | MICRO_VERSION="`sed -n -e '/MICRO_VERSION/s/[^0-9]*//gp' $hdr`" | |
34 | ||
35 | # Determine how to tell echo not to print the trailing \n. This is | |
36 | # similar to Autoconf's @ECHO_C@ and @ECHO_N@; however, we don't | |
37 | # generate this file via autoconf (in fact, get-version.sh is used | |
38 | # to *create* ./configure), so we just do something similar inline. | |
39 | case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in | |
40 | *c*,-n*) ECHO_N= ECHO_C=' | |
41 | ' ;; | |
42 | *c*,* ) ECHO_N=-n ECHO_C= ;; | |
43 | *) ECHO_N= ECHO_C='\c' ;; | |
44 | esac | |
45 | ||
46 | echo $ECHO_N "$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$ECHO_C" |