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 printf '%s.%s.%s' "$MAJOR_VERSION" "$MINOR_VERSION" "$MICRO_VERSION" 36