46 lines
1.2 KiB
Bash
Executable file
46 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# USAGE: get-version.sh path/to/expat.h
|
|
#
|
|
# This script will print Expat's version number on stdout. For example:
|
|
#
|
|
# $ ./conftools/get-version.sh ./lib/expat.h
|
|
# 1.95.3
|
|
# $
|
|
#
|
|
|
|
if test $# = 0; then
|
|
echo "ERROR: pathname for expat.h was not provided."
|
|
echo ""
|
|
echo "USAGE: $0 path/to/expat.h"
|
|
exit 1
|
|
fi
|
|
if test $# != 1; then
|
|
echo "ERROR: too many arguments were provided."
|
|
echo ""
|
|
echo "USAGE: $0 path/to/expat.h"
|
|
exit 1
|
|
fi
|
|
|
|
hdr="$1"
|
|
if test ! -r "$hdr"; then
|
|
echo "ERROR: '$hdr' does not exist, or is not readable."
|
|
exit 1
|
|
fi
|
|
|
|
MAJOR_VERSION="`sed -n -e '/MAJOR_VERSION/s/[^0-9]*//gp' $hdr`"
|
|
MINOR_VERSION="`sed -n -e '/MINOR_VERSION/s/[^0-9]*//gp' $hdr`"
|
|
MICRO_VERSION="`sed -n -e '/MICRO_VERSION/s/[^0-9]*//gp' $hdr`"
|
|
|
|
# Determine how to tell echo not to print the trailing \n. This is
|
|
# similar to Autoconf's @ECHO_C@ and @ECHO_N@; however, we don't
|
|
# generate this file via autoconf (in fact, get-version.sh is used
|
|
# to *create* ./configure), so we just do something similar inline.
|
|
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
|
|
*c*,-n*) ECHO_N= ECHO_C='
|
|
' ;;
|
|
*c*,* ) ECHO_N=-n ECHO_C= ;;
|
|
*) ECHO_N= ECHO_C='\c' ;;
|
|
esac
|
|
|
|
echo $ECHO_N "$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$ECHO_C"
|