#!/bin/sh

PROG="$0"

if [ "$JSIMHOME" = "" ]
then
  echo "$PROG"": JSIMHOME undefined"
  exit 1
fi

if [ "$JAVARTE" = "" ]
then
  JAVARTE=/Library/Java/Home
fi

# set CLASSPATH
CLASSPATH="$JSIMHOME"/lib/JSimClient.jar
CLASSPATH="$CLASSPATH":"$JSIMHOME"/lib/JSimServer.jar

# native libraries accessed via DYLD_LIBRARY_PATH
JSIMNATIVE="$JSIMHOME"/macos/lib
DYLD_LIBRARY_PATH="$JSIMNATIVE"

# JSIM user dir
if [ "$JSIMUSERDIR" = "" ]
then
  UARG=
else
  UARG="-Djsim.userdir=$JSIMUSERDIR"
fi

# default JSIMMEM
if [ "$JSIMMEM" = "" ]
then
  JSIMMEM=300
fi

export CLASSPATH DYLD_LIBRARY_PATH JSIMMEM


$JAVARTE/bin/java -Djsim.home="$JSIMHOME" -Xmx"$JSIMMEM"m \
  -Xdock:name=JSim:icon="$JSIMHOME"/macos/lib/JSim.icns \
  $UARG JSim.text.JSXWrap $* 


# create JSim wrappers for XSim-style models
#   Part 2: native compile

# check status from Java wrapper generation
if [ $? -ne 0 ]
then
  echo "jsxwrap: JSim wrapper generation failed"
  exit 1
fi

# the following must be defined for proper operation
export JSIMMAKE=make
export JSIMOS=macos
export JSIMOSARCH=macos
JSIMARCH=
if [ "$JSIMOS" = "macos" ]
then
  JSIMARCH=`uname -p`
  if [ "$JSIMARCH" = "powerpc" ]
  then
    JSIMARCH=ppc
  fi
fi
export JSIMARCH

LANG="$1"
shift
MODEL="$1"
shift
OBJECTS="$*"

# compile wrapper to F&P library
export XFP_OBJS="$OBJECTS"
$JSIMMAKE -f $JSIMHOME/lib/Makefile.global jsx"$MODEL".xfp
if [ $? -ne 0 ]
then
  echo "jsxwrap: JSim wrapper compilation failed"
  exit 1
fi

