ZeroTierOne/ext/libpqxx-7.7.3/tools/extract_version
2022-06-24 10:12:36 -07:00

74 lines
1.3 KiB
Bash
Executable File

#! /bin/sh
set -eu
ARG="${1:-}"
# Source directory. In out-of-tree builds, Automake sets this for us.
srcdir=${srcdir:-.}
# Print usage information.
usage() {
cat <<EOF
Print libpqxx version information based on the source tree's VERSION file.
Usage: $0 [option]
Version strings look like: <major>.<minor>.<revision>.
Acceptable option values are:
-h, --help Print this message, and exit.
-a, --abi Show libpqxx ABI version; leave out revision number.
-f, --full Show full libpqxx version string (the default).
-M, --major Show major libpqxx version.
-m, --minor Show minor libpqxx version (between major and revision).
EOF
}
# Print "unknown argument" error.
unknown_arg() {
cat <<EOF >&2
Unknown argument: $1.
Try
$0 --help
for usage information.
EOF
}
case "$ARG" in
''|-f|--full)
# Default: Print full version.
cat $srcdir/VERSION
;;
-h|--help)
# Print usage information, and exit.
usage
exit
;;
-a|--abi)
# Print just the ABI version (major & minor).
sed -e 's/^\([^.]*\.[^.]*\)\..*/\1/' $srcdir/VERSION
;;
-M|--major)
# Print the major version number.
sed -e 's/^\([^.]*\)\..*/\1/' $srcdir/VERSION
;;
-m|--minor)
# Print the minor version number.
sed -e 's/^[^.]*\.\([^.]*\)\..*/\1/' $srcdir/VERSION
;;
*)
unknown_arg $ARG
exit 1
;;
esac