#!/bin/sh
#
# loader for Forte Developer Performance Analyzer
#
# Copyright 04/02/02 Sun Microsystems, Inc. All Rights Reserved
#

# This string is here for the 'version' command:
# It gets sed'ed in at build-time:
# @(#)RELEASE VERSION Forte Developer 7 Performance Analyzer 7.0 Patch 111705-03 2002/09/24

#
# L10N Message translation utility
#	$1 - message id
#	$2 - fallback message text
#

Message()
{
    if [ -x /usr/dt/bin/dtdspmsg ]; then
	/usr/dt/bin/dtdspmsg -s 17 analyzer.cat $1 "$2" "$3"
    else
	echo "$2"
    fi
}

Usage()
{
    Message 1 "Usage: %s {options} arguments\n\nOptions can be\n\n" $0
    Message 2 "\t-h\n\t    shows usage\n"
    Message 3 "\t-j <path>\n\t    specifies the JVM directory\n"
    Message 4 "\t-J<jvm_options>\n\t    passes <jvm_options> to JVM\n"
    Message 5 "\t-v\n\t    enables verbose output\n"
    Message 6 "\t-V\n\t    shows version\n"
    Message 7 "\nAll other options and arguments are passed to the Analyzer.\nSee documentations for details.\n"
}

# defaults

# the jdkhome value set here can be overriden by $JAVA_PATH or the -jdkhome switch
# the jvmflags value set here can be augmented by a -J argument
# the verbose value set here can be overriden by a -v argument

# the FFJ installer will set the value for the next variable (BUG 4658498)
FFJ_JDK_HOME=""

# BugId 4647753
if [ "$FFJ_JDK_HOME" = "" ] ; then
	jdkhome="/usr/j2se"
else
	jdkhome=$FFJ_JDK_HOME
fi

jvmflags="-Xmx1024m"
verbose="false"

# end of defaults

PRG=$0

PATH=/bin:/usr/bin:$PATH
export PATH

#
# resolve symlinks
#

while [ -h "$PRG" ]; do
    ls=`ls -ld "$PRG"`
    link=`expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null`
    if expr "$link" : '^/' > /dev/null 2>/dev/null; then
	PRG="$link"
    else
	PRG="`dirname $PRG`/$link"
    fi
done

progdir=`dirname $PRG`
fdhome="$progdir/.."

#
# L10N path
#

NLSPATH="$progdir/../lib/locale/%L/LC_MESSAGES/%N:$NLSPATH"
export NLSPATH

#
# absolutize fdhome
#

oldpwd=`pwd` ; cd $fdhome; fdhome=`pwd`; cd $oldpwd; unset oldpwd

jargs=$jvmflags

args=""

#
# defaults
#

# if JAVA_PATH is set it overrides the default in the script

if [ ! -z "$JAVA_PATH" ] ; then
    jdkhome=$JAVA_PATH
fi

# if JDK_HOME is set it overrides the default and JAVA_PATH in the script

if [ ! -z "$JDK_HOME" ] ; then
    jdkhome=$JDK_HOME
fi

#
# parse arguments
#

while [ $# -gt 0 ] ; do
    case "$1" in
	-h|-help) Usage; exit 1;;
	-j|-jdkhome) shift; if [ $# -gt 0 ] ; then jdkhome=$1; fi;;
	-J*) jopt=`expr $1 : '-J\(.*\)'`; jargs="$jargs \"$jopt\"";;
	-v) verbose="true";;
	-V) echo `basename $PRG`: "Forte Developer 7 Performance Analyzer 7.0 Patch 111705-03 2002/09/24"; exit 0;;
	*) args="$args \"$1\"" ;;
    esac
    shift
done

if [ $verbose = "true" ] ; then
	echo `basename $PRG`: "Forte Developer 7 Performance Analyzer 7.0 Patch 111705-03 2002/09/24";
	echo JVM: $jdkhome/bin/java $jargs -jar $fdhome/lib/analyzer.jar $args;
	$jdkhome/bin/java -version;
fi

#
# check JVM
#

if [ -z "$jdkhome" ] ; then
    Message 8 "Cannot find JVM. Please set the JAVA_PATH environment variable to point\nto your JVM installation directory, or use the -j switch.\n"
    exit 1
fi

if [ ! -x "$jdkhome/bin/java" ] ; then
    Message 9 "Cannot find JVM at '%s'. Please set the JAVA_PATH\nenvironment variable to point to your JVM installation directory,\nor use the -j switch.\n" $jdkhome
    exit 1
fi

#
# run perftools_validate
#

anvalidate="$progdir/perftools_validate"
if [ -x "$anvalidate" ] ; then
    eval $anvalidate -J $jdkhome/bin/java -q
fi

eval $jdkhome/bin/java $jargs -jar $fdhome/lib/analyzer.jar $args
