xref: /aosp_15_r20/external/cronet/third_party/apache-portable-runtime/src/build/get-version.sh (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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
14if test $# != 3; then
15  echo "USAGE: $0 CMD VERSION_HEADER PREFIX"
16  echo "  where CMD is one of: all, major, libtool"
17  exit 1
18fi
19
20major_sed="/#define.*$3_MAJOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p"
21minor_sed="/#define.*$3_MINOR_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p"
22patch_sed="/#define.*$3_PATCH_VERSION/s/^[^0-9]*\([0-9]*\).*$/\1/p"
23major="`sed -n $major_sed $2`"
24minor="`sed -n $minor_sed $2`"
25patch="`sed -n $patch_sed $2`"
26
27if test "$1" = "all"; then
28  echo ${major}.${minor}.${patch}
29elif test "$1" = "major"; then
30  echo ${major}
31elif test "$1" = "libtool"; then
32  # Yes, ${minor}:${patch}:${minor} is correct due to libtool idiocy.
33  echo ${minor}:${patch}:${minor}
34else
35  echo "ERROR: unknown version CMD ($1)"
36  exit 1
37fi
38