#!/bin/sh

# upstream has set 1024
# I had use cases that required more than 2048
MAXMEM=3072
thisArch=$(arch)
if [ "${thisArch%86}" != "$thisArch" ]
then
        # We found "86" at the end of $(arch), so we lower MAXMEM to
        # 1.9 GB for a 32 bit machine.
        MAXMEM=1946
fi

# Remark: There should be no need to specify CLASSPATH
# explicitely because it is set in manifest - however, this
# does not work

# Remark: Adding /usr/lib/$(dpkg-architecture -qDEB_BUILD_MULTIARCH)/jni
#         to java.library.path helped solving the following problem:
#  $ beast-mcmc -beagle_info >/dev/null
#  Failed to load BEAGLE library: no hmsbeagle-jni in java.library.path
#  Failed to load BEAGLE library: no hmsbeagle-jni in java.library.path
#  Failed to load BEAGLE library: no hmsbeagle-jni in java.library.path
#
# Using the setting above this turns into
#  BEAGLE resources available:
#  0 : CPU
#      Flags: PRECISION_SINGLE PRECISION_DOUBLE COMPUTATION_SYNCH EIGEN_REAL EIGEN_COMPLEX SCALING_MANUAL SCALING_AUTO SCALING_ALWAYS SCALERS_RAW SCALERS_LOG VECTOR_SSE VECTOR_NONE THREADING_NONE PROCESSOR_CPU FRAMEWORK_CPU


BEAST_LIB="/usr/share/beast2-mcmc"
EXTRA_LIBS="/usr/lib/$(dpkg-architecture -qDEB_BUILD_MULTIARCH)"
COMBINED_LIB="$BEAST_LIB:$EXTRA_LIBS"
DEBJAR="/usr/share/java"
java -Xms64m -Xmx${MAXMEM}m -Djava.library.path="$COMBINED_LIB" \
   -classpath "${CLASSPATH}::${DEBJAR}/beagle.jar:${BEAST_LIB}/BEAST.app.jar:${BEAST_LIB}/BEAST.base.jar:${DEBJAR}/colt.jar:${DEBJAR}/javafx-base.jar:${DEBJAR}/javafx-controls.jar:${DEBJAR}/javafx-fxml.jar:${DEBJAR}/javafx-graphics.jar:${DEBJAR}/javafx-swing.jar:${DEBJAR}/javafx-web.jar:${BEAST_LIB}/launcher.jar" \
   beast.pkgmgmt.launcher.BeastLauncher $*
