#!/bin/sh

SED='/usr/bin/sed'
ECHO='/usr/bin/echo'

#
# JAW_HOME ... path to Sun JDMK installation directory
#
if [ -z "${JAW_HOME}" ]; then
    JAW_HOME=/opt/SUNWconn/jaw
fi

#
# JAVA_HOME ... path to JDK installation directory
#
if [ -z "${JAVA_HOME}" ]; then
    JAVA_HOME=/usr/java1.2
fi

#
# CLASSPATH initialization
#
if [ -f "${JAW_HOME}/classes/jawall.jar" ] ; then
    JAW_CLASSPATH=${JAW_HOME}/classes/jawall.jar
else
    JAW_CLASSPATH=${JAW_HOME}/classes/jawco.jar:${JAW_HOME}/classes/jawag.jar:${JAW_HOME}/classes/jawcl.jar:${JAW_HOME}/classes/jawcs.jar:${JAW_HOME}/classes/jawtk.jar
fi
CLASSPATH=${JAW_CLASSPATH}:${CLASSPATH}

#
# Check the JAVA version
#
JAVA_VERSION=`${JAVA_HOME}/bin/java -version 2>&1`
if [ $? -ne 0 ]; then
    $ECHO ${JAVA_VERSION}
    exit 1
fi
JAVA_VERSION=`$ECHO ${JAVA_VERSION} | $SED 's/.*\"\([^"]*\)\".*/\1/'`
case ${JAVA_VERSION} in
1.2*)
    break
    ;;
*)
    $ECHO "\nError: Wrong version (${JAVA_VERSION}) of JDK, only JDK 1.2 is supported."
    exit 1
    ;;
esac

#
# Export all needed variables
#
export JAW_HOME JAVA_HOME CLASSPATH

#
# Check the command line arguments
#
if [ $# -lt 2 ]; then
    $ECHO "Usage: $0 <kstat module name> <kstat instance name>"
    $ECHO "       example :"
    $ECHO "                $0 le le0"
    exit 1
fi

#
# Let's go
#
MODNAME=$1
INSTANCE=$2

${JAVA_HOME}/bin/java build ${MODNAME} ${INSTANCE}

if [ -f ${INSTANCE}.java ]; then
    $ECHO "Compiling ${INSTANCE}.java..."
    ${JAVA_HOME}/bin/javac -d . ${INSTANCE}.java

    $ECHO "Generating JAW interface and stub..."
    mogen ${INSTANCE}

    if [ -f ${INSTANCE}MO.java ]; then
	$ECHO "Compiling the interface..."
	${JAVA_HOME}/bin/javac -d . ${INSTANCE}MO.java
	$ECHO "Now you can use ${INSTANCE}"
	exit 0
    else
	$ECHO "$0: Cannot build ${INSTANCE}MO.java"
	exit 1
    fi
else 
    $ECHO "$0: Cannot build ${MODNAME} ${INSTANCE}"
    exit 1
fi
