#!/bin/sh
#
#  makever - Generate OpenLink style Version Information
#
#  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
#  project.
#  
#  Copyright (C) 1998-2018 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


#
#  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-2018 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-2018 OpenLink Software.\\n";
EOF_VERSION

exit 0
