8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 15:23:03 +01:00
firebird-mirror/src/misc/writeBuildNum.sh
2010-02-02 08:34:22 +00:00

126 lines
3.2 KiB
Bash
Executable File

#!/bin/sh
# This file is used both to rebuild the header file and to set the
# environment variables on the config call
BuildVersion="$Id: writeBuildNum.sh,v 1.25898.2.9 2010-02-02 08:33:15 dimitr Exp $"
BuildType=V
MajorVer=2
MinorVer=5
RevNo=0
BuildNum=25920
if [ "$SPECIAL_BUILD_SUFFIX" = "" ]; then
# Normal builds
SuffixKind="Release Candidate 2"
SuffixVer=""
BuildSuffix="Firebird 2.5"
[ "$SuffixKind" = "" ] || BuildSuffix="$BuildSuffix $SuffixKind"
[ "$SuffixVer" = "" ] || BuildSuffix="$BuildSuffix $SuffixVer"
FIREBIRD_PACKAGE_VERSION="$SuffixKind$SuffixVer"
PRODUCT_VER_STRING="$MajorVer.$MinorVer.$RevNo.$BuildNum"
else
# Special builds (daily snapshots, etc)
BuildSuffix="Firebird 2.5 $SPECIAL_BUILD_SUFFIX"
FIREBIRD_PACKAGE_VERSION=$SPECIAL_BUILD_SUFFIX
PRODUCT_VER_STRING="$MajorVer.$MinorVer.$RevNo.$BuildNum-$SPECIAL_BUILD_SUFFIX"
fi
FIREBIRD_PACKAGE_VERSION=`echo $FIREBIRD_PACKAGE_VERSION | tr -d '[ ]'`
FIREBIRD_VERSION="$MajorVer.$MinorVer.$RevNo"
FILE_VER_STRING="WI-$BuildType$MajorVer.$MinorVer.$RevNo.$BuildNum"
FILE_VER_NUMBER="$MajorVer, $MinorVer, $RevNo, $BuildNum"
if [ $# -eq 3 ]
then
headerFile=$2
tempfile=$3;
else
tempfile=gen/test.header.txt
headerFile=src/jrd/build_no.h;
fi
#______________________________________________________________________________
# Routine to build a new jrd/build_no.h file. If required.
rebuildHeaderFile() {
cat > $tempfile <<eof
/*
FILE GENERATED BY src/misc/writeBuildNum.sh
*** DO NOT EDIT ***
TO CHANGE ANY INFORMATION IN HERE PLEASE
EDIT src/misc/writeBuildNum.sh
FORMAL BUILD NUMBER:$BuildNum
*/
#define PRODUCT_VER_STRING "$PRODUCT_VER_STRING"
#define FILE_VER_STRING "$FILE_VER_STRING"
#define LICENSE_VER_STRING "$FILE_VER_STRING"
#define FILE_VER_NUMBER $FILE_VER_NUMBER
#define FB_MAJOR_VER "$MajorVer"
#define FB_MINOR_VER "$MinorVer"
#define FB_REV_NO "$RevNo"
#define FB_BUILD_NO "$BuildNum"
#define FB_BUILD_TYPE "$BuildType"
#define FB_BUILD_SUFFIX "$BuildSuffix"
eof
cmp -s $headerFile $tempfile
Result=$?
if [ $Result -lt 0 ]
then
echo "error compareing $tempfile and $headerFile"
elif [ $Result -gt 0 ]
then
echo "updating header file $headerFile"
cp $tempfile $headerFile
else
echo "files are identical"
fi
}
#______________________________________________________________________________
# Routine to build a new gen/make.version file.
createMakeVersion() {
cat >$1 <<eof
# FILE GENERATED BY src/misc/writeBuildNum.sh
# *** DO NOT EDIT ***
# TO CHANGE ANY INFORMATION IN HERE PLEASE
# EDIT src/misc/writeBuildNum.sh
# FORMAL BUILD NUMBER:$BuildNum
MajorVer = $MajorVer
MinorVer = $MinorVer
RevNo = $RevNo
BuildNum = $BuildNum
BuildType = $BuildType
BuildSuffix = $BuildSuffix
PackageVersion=$FIREBIRD_PACKAGE_VERSION
FirebirdVersion=$FIREBIRD_VERSION
eof
}
if [ "$1" = "rebuildHeader" ]
then
rebuildHeaderFile
elif [ "$1" = "createMakeVersion" ]
then
if [ -z "$2" ]
then createMakeVersion gen/Make.Version
else createMakeVersion "$2"
fi
elif [ "$1" = "--version" ]
then
echo ""
echo "Build Version : " $BuildType$PRODUCT_VER_STRING $BuildSuffix
echo ""
#echo "($BuildVersion)"
echo "(`echo $BuildVersion | cut -c3-60` )"
fi