diff options
Diffstat (limited to 'src/fluent-bit/lib/avro/version.sh')
-rwxr-xr-x | src/fluent-bit/lib/avro/version.sh | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/fluent-bit/lib/avro/version.sh b/src/fluent-bit/lib/avro/version.sh new file mode 100755 index 000000000..be90c0f63 --- /dev/null +++ b/src/fluent-bit/lib/avro/version.sh @@ -0,0 +1,79 @@ +#!/bin/bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# This script is used to generate version numbers for autotools +# +# The information for libtool is maintained manually since +# the public API for the C library can change independent of the project +# +# Do each of these steps in order and libtool will do the right thing +# (1) If there are changes to libavro: +# libavro_micro_version++ +# libavro_interface_age++ +# libavro_binary_age++ +# (2) If any functions have been added: +# libavro_interface_age = 0 +# (3) If backwards compatibility has been broken: +# libavro_binary_age = 0 +# libavro_interface_age = 0 +# +libavro_micro_version=23 +libavro_interface_age=0 +libavro_binary_age=0 + +# IGNORE EVERYTHING ELSE FROM HERE DOWN......... +if test $# != 1; then + echo "USAGE: $0 CMD" + echo " where CMD is one of: project, libtool, libcurrent, librevision, libage" + exit 1 +fi + +# https://www.sourceware.org/autobook/autobook/autobook_91.html +# 'Current' is the most recent interface number that this library implements +libcurrent=$(($libavro_micro_version - $libavro_interface_age)) +# The implementation number of the 'current' interface +librevision=$libavro_interface_age +# The difference between the newest and oldest interfaces that this library implements +# In other words, the library implements all the interface numbers in the range from +# number 'current - age' to current +libage=$(($libavro_binary_age - $libavro_interface_age)) + +if test "$1" = "project"; then + project_ver="undef" + version_file="VERSION.txt" + if test -f $version_file; then + project_ver=$(cat $version_file) + else + version_file="../../share/VERSION.txt" + if test -f $version_file; then + project_ver=$(cat $version_file) + fi + fi + printf "%s" $project_ver +elif test "$1" = "libtool"; then + # useful for the -version-info flag for libtool + printf "%d:%d:%d" $libcurrent $librevision $libage +elif test "$1" = "libcurrent"; then + printf "%d" $libcurrent +elif test "$1" = "librevision"; then + printf "%d" $librevision +elif test "$1" = "libage"; then + printf "%d" $libage +fi |