1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
#!/bin/sh
#
# makever - Generate OpenLink style Version Information
#
# This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
# project.
#
# Copyright (C) 1998-2024 OpenLink Software
#
# This project is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; only version 2 of the License, dated June 1991.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
#
# Globals
#
USAGE=0
OUTPUT_FILE=""
PRODUCT_NAME="OpenLink Application"
PRODUCT_VERSION="1.0"
#
# Get system information
#
LANG=C
DATE=`date`
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
if [ -n "$SOURCE_DATE_EPOCH" ]
then
DATE=$(LC_ALL=POSIX date --utc --date="@$SOURCE_DATE_EPOCH")
UNAME_RELEASE=
fi
#
# Parse command line
#
while test "x$1" != "x"
do
case "$1" in
-o)
shift
OUTPUT_FILE="$1"
;;
-p)
shift
PRODUCT_NAME="$1"
;;
-v)
shift
PRODUCT_VERSION="$1"
;;
-h|-\?)
USAGE=1
;;
esac
shift
done
#
# Make sure we at least know where to write output to
#
if test "$USAGE" -eq 0
then
if test "x$OUTPUT_FILE" = "x"
then
echo "makever: -o flag missing" >&2
USAGE=1
fi
fi
#
# Show Usage information
#
if test "$USAGE" -eq 1
then
cat >&2 <<-EOF_USAGE
OpenLink Version Information
Version $PRODUCT_VERSION as of $DATE.
Compiled for $UNAME_SYSTEM $UNAME_RELEASE
Copyright (C) 1998-2024 OpenLink Software.
Usage: makever [OPTIONS]
-o file specify output filename
-p release specify product name
-v version specify product version
EOF_USAGE
exit 1
fi
#
# Do the work
#
cat >$OUTPUT_FILE <<-EOF_VERSION
/*
* DO NOT EDIT THIS FILE -- IT WAS GENERATED WITH makever
*/
char version[] = "\\
$PRODUCT_NAME\\n\\
Version $PRODUCT_VERSION as of $DATE.\\n\\
Compiled for $UNAME_SYSTEM $UNAME_RELEASE\\n\\
Copyright (C) 1998-2024 OpenLink Software.\\n";
EOF_VERSION
exit 0
|