bottleneck testcase based on rubbos
[bottlenecks.git] / rubbos / app / httpd-2.0.64 / srclib / apr-util / build / get-version.sh
1 #!/bin/sh
2 #
3 # extract version numbers from a header file
4 #
5 # USAGE: get-version.sh CMD VERSION_HEADER PREFIX
6 #   where CMD is one of: all, major, libtool
7 #   where PREFIX is the prefix to {MAJOR|MINOR|PATCH}_VERSION defines
8 #
9 #   get-version.sh all returns a dotted version number
10 #   get-version.sh major returns just the major version number
11 #   get-version.sh libtool returns a version "libtool -version-info" format
12 #
13
14 if test $# != 3; then
15   echo "USAGE: $0 CMD VERSION_HEADER PREFIX"
16   echo "  where CMD is one of: all, major, libtool"
17   exit 1
18 fi
19
20 major_sed="/#define.*$3_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p"
21 minor_sed="/#define.*$3_MINOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p"
22 patch_sed="/#define.*$3_PATCH_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p"
23 major="`sed -n $major_sed $2`"
24 minor="`sed -n $minor_sed $2`"
25 patch="`sed -n $patch_sed $2`"
26
27 if test "$1" = "all"; then
28   echo ${major}.${minor}.${patch}
29 elif test "$1" = "major"; then
30   echo ${major}
31 elif test "$1" = "libtool"; then
32   # Yes, ${minor}:${patch}:${minor} is correct due to libtool idiocy.
33   echo ${minor}:${patch}:${minor}
34 else
35   echo "ERROR: unknown version CMD ($1)"
36   exit 1
37 fi