#!/bin/sh

#
# @(#)jws	1.75 96/07/30  
#
# Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
#
# Permission to use, copy, modify, and distribute this software
# and its documentation for NON-COMMERCIAL purposes and without
# fee is hereby granted provided that this copyright notice
# appears in all copies. Please refer to the file "copyright.html"
# for further important copyright and licensing information.
#
# SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
# THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
# TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
# ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
# DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
#

#
# Determine JWS_HOME
#

# jsk: 11/2/95: removed explicit paths to shell commands.  It is assumed that
#   pwd, echo, uname and mkdir are on the path.  On sparc arch, it used to match
#   up with the existing JDK directory structure

if [ -z "$_SS_JWS_HOME" ] ; then
    _SS_JWS_HOME=`dirname $0`
    _SS_JWS_HOME=`cd $_SS_JWS_HOME/../.. ; pwd`
#    echo "_SS_JWS_HOME is set to $_SS_JWS_HOME"
fi

. $_SS_JWS_HOME/solaris/bin/locate_dirs

JAVA_HOME=${_SS_JDK_HOME}
export JAVA_HOME

if [ `/bin/uname -p` = "sparc" ] ; then
  ARCH='sparc'
elif [  `/bin/uname -p` = "i386" ] ; then
  ARCH='i386'
fi
 
#
# Set Paths
#
export SEPARATOR
SEPARATOR=":"

if [ `/bin/uname -s` = "SunOS" ] ; then
  
  RUNCLASSPATH="${_SS_JWS_HOME}/classes:${_SS_JWS_HOME}/lib/jws.zip:${_SS_JDK_HOME}/classes:${_SS_JDK_HOME}/lib/classes.zip"
  CLASSPATH=${_SS_JDK_HOME}/classes:${_SS_JDK_HOME}/lib/classes.zip
  export CLASSPATH

  export PATH
  PATH="$PATH:$_SS_JWS_HOME/${VARIANT}/bin"

  JWS_BIN=$_SS_JWS_HOME/${VARIANT}/bin

  # check for motif library
  MOTIFHOME=${MOTIFHOME:-/usr/dt}
  if [ -s ${MOTIFHOME}/lib/libXm.so.3 ] ; then
    LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${_SS_JDK_HOME}/lib/$ARCH:${MOTIFHOME}/lib"
  else
    echo "Motif library $MOTIFHOME/lib/libXm.so.3  not found "
    exit 1
  fi
fi

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JWS_BIN
export LD_LIBRARY_PATH
#
# Create .jws directory
#

# backwards compatibility
if [ -d "$HOME/.jde" ] ; then
    if [ ! -d "$HOME/.jws" ] ; then
        echo "Moving $HOME/.jde to $HOME/.jws"
        mv $HOME/.jde $HOME/.jws
    fi
fi
if [ ! -d "$HOME/.jws" ] ; then
    echo "Creating $HOME/.jws directory"
    mkdir -p $HOME/.jws
fi

#
# Parse arguments
#  the -debug option is assumed to have a value associated with it.
#  transform '-debug <file>' to '-debug -Djws.startup.props=<file>'

prog=java
main_class=sun.jws.Main;
opts="";
while [ $# -ne 0 ]; do
   case "$1" in 
    -debug) prog=java_g; main_class=sun.jws.Debugger.Agent; debug_prop="-Ddebug.browser=yes" ; opts="$opts -noasyncgc";;
    -classpath) shift;RUNCLASSPATH="$1$SEPARATOR$RUNCLASSPATH" ;;
    -*) opts="$opts $1" ;;
    *)  args="$args $1" ;;
   esac
   shift;
done

#
# Select a java interpreter
#

if [ -x "${_SS_JDK_HOME}/bin/$ARCH/$prog" ] ; then
    JAVA="${_SS_JDK_HOME}/bin/$ARCH/$prog"
else
  echo "Java WorkShop can not find ${_SS_JDK_HOME}/bin/$ARCH/$prog"
  exit 1
fi


#
# Add WWW_HOME option
#
if [ ! -z "$WWW_HOME" ] ; then
    opts="$opts -Dwww.home=$WWW_HOME"
fi

JWSLOG=${JWSLOG:-$HOME/.jws/weblog}
export JWSLOG

if [ $prog = "java_g" ] ; then
	exec $JAVA -classpath $RUNCLASSPATH -Djws.home=$_SS_JWS_HOME -Dhotjava.home=$_SS_JWS_HOME -Djws.bin=$JWS_BIN -Djdk.bin=${_SS_JDK_HOME}/bin  -Djws.ut.user=$USER "-Djws.ut.platform=\"`uname -srp`\"" -Djws.build.classes=$CLASSPATH $debug_prop $opts $main_class $args
else
	exec $JAVA -classpath $RUNCLASSPATH -Djws.home=$_SS_JWS_HOME -Dhotjava.home=$_SS_JWS_HOME -Djws.bin=$JWS_BIN -Djdk.bin=${_SS_JDK_HOME}/bin  -Djws.ut.user=$USER "-Djws.ut.platform=\"`uname -srp`\"" -Djws.build.classes=$CLASSPATH $debug_prop $opts $main_class $args 2>/dev/null
fi
