#!/usr/bin/env bash
################################################################################
# Startup script for Unix APT. Currently this means Linux.
################################################################################

if [ "$(uname -s)" != "Linux" ]; then
    echo "This version of APT requires Linux."
    echo "(Found OS $(uname -s))"
    exit 1
fi

scriptPath="$0"
link=`readlink "${scriptPath}"`
while [ "${link}" != "" ]
do
   case "${link}" in
      /*) scriptPath="${link}";;
      *)  scriptPath=`dirname "${scriptPath}"`/"${link}";;
   esac
   link=`readlink "${scriptPath}"`
done

aptDir=`dirname "${scriptPath}"`

# Verify we can find the APT installation directory...
if [ ! -s "${aptDir}/classes/APT.jar" ] ; then aptDir="${aptDir}/.."; fi
if [ ! -s "${aptDir}/classes/APT.jar" ] ; then echo "Error: Could not find APT"; exit 1; fi

# Decide which Java to use...
if [ -s "${aptDir}/jre/bin/java" ] ; then
   java="${aptDir}/jre/bin/java"
else
   java=java
fi

# Redirect output to /dev/null unless any command line option is used...
if [ "$1" != "" ] ; then
   redirect=/dev/stdout
else
   redirect=/dev/null
fi

# Finally run APT...
echo "Starting APT..."
${java} -Xms64m -Xmx8438m \
        -Dlisp.programs="${aptDir}/LispPrograms" \
        -Dfile.encoding=UTF8 \
        -jar "${aptDir}/classes/APT.jar" "$@" > ${redirect}
