#!/bin/sh

PROG="$0"

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

if [ "$JAVARTE" = "" ]
then
  JAVARTE=$JSIMHOME/linux_i386/jre
fi

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

# native libraries accessed via LD_LIBRARY_PATH
JSIMNATIVE=$JSIMHOME/linux_i386/lib
LD_LIBRARY_PATH=$JAVARTE/lib/i386:$JSIMNATIVE

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

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

export CLASSPATH LD_LIBRARY_PATH JSIMMEM


$JAVARTE/bin/java -Djsim.home=$JSIMHOME -Xmx"$JSIMMEM"m $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=linux
export JSIMOSARCH=linux_i386
JSIMARCH=i386
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

