#!/bin/sh
#
# LightZone startscript
#
echo Starting LightZone version 5.0.0 beta2 ...
echo with options : ${@}
java -version

arch=`getconf LONG_BIT`
PLATFORM=`uname`
if [ "${PLATFORM}" = "Linux" ]; then
  if [ -f /.flatpak-info ]; then
    usrdir=/app
  else
    usrdir=/usr
  fi
elif [ "${PLATFORM}" = "SunOS" ]; then
  usrdir=/usr
elif [ "${PLATFORM}" = "FreeBSD" ]; then
  usrdir=%%LOCALBASE%%
fi

if [ -d ${usrdir}/share/java/lightzone ]; then
  pkgjavadir=${usrdir}/share/java/lightzone
else
  # Gentoo
  pkgjavadir=${usrdir}/share/lightzone/lib
fi

if [ -d ${usrdir}/libexec/lightzone ]; then
  pkglibexecdir=${usrdir}/libexec/lightzone
elif [ -d ${usrdir}/lib64/lightzone ]; then
  pkglibexecdir=${usrdir}/lib64/lightzone
else
  pkglibexecdir=${usrdir}/lib/lightzone
fi

classpath=${pkgjavadir}'/*'
if   [ -d ${usrdir}/share/java ]; then  # Debian, Ubuntu, Fedora, OpenSUSE, PCLinuxOS
   classpath=${classpath}:${usrdir}/share/java/'*'
fi
if [ -d ${usrdir}/share/java/classes ]; then  # FreeBSD
   classpath=${classpath}:${usrdir}/share/java/classes/'*'
fi
for name in javahelp; do  # TODO: Add paths for other jars
  if [ -d ${usrdir}/share/java/${name} ]; then  # Arch
     classpath=${classpath}:${usrdir}/share/java/${name}/'*'
  elif [ -d ${usrdir}/share/${name}/lib ]; then  # Gentoo
     classpath=${classpath}:${usrdir}/share/${name}/lib/'*'
  elif [ -d ${usrdir}/j2se/opt/${name}/lib ]; then  # OpenIndiana
     classpath=${classpath}:${usrdir}/j2se/opt/${name}/lib/'*'
  fi
done

# IFS should be \n to handle filenames that include space.
IFS="
"
file=""
for i in "$@"; do
  if [ -f $i ] ; then
    file=file $(cd $(dirname $i) && pwd)/$(basename $i)
  fi
done

echo ${classpath}
(cd ${pkgjavadir} && LD_LIBRARY_PATH=${pkglibexecdir} exec java \
--add-exports=java.desktop/sun.awt.image=ALL-UNNAMED \
-classpath ${classpath} \
-XX:MinHeapFreeRatio=30 \
-XX:MaxHeapFreeRatio=30 \
-Xmx2048m \
-Djava.library.path=${pkglibexecdir} \
-Dfile.encoding=UTF8 \
com.lightcrafts.platform.linux.LinuxLauncher ${file} ${@} )
