#!/bin/sh

NAME=mplabx
#VER=${VER:-5.50}; VER_LAB=${VER_LAB:-3.47.00}
 VER=${VER:-6.20}; VER_LAB=${VER_LAB:-3.53.00}

 BIN=${BIN:-/opt/microchip/$NAME/v$VER/mplab_platform/bin}
 LIB=${LIB:-/opt/microchip/mplabcomm/$VER_LAB/lib:/opt/microchip/$NAME/v$VER/lib}

#
# ext toolchain
#
 EXT=~/dev.bin.avr.x64/9.2.0
PATH=$EXT/bin:$EXT/avr/bin:$PATH
 RAM=${RAM:-/dev/shm/$USER/ram}; RAM+="/out/mplab-$VER"

export LD_LIBRARY_PATH="$LIB:${LD_LIBRARY_PATH}"
export PATH=$BIN:$PATH

#### JAVA OPT
#
# по тестам не влияют на прорисовку шрифтов
# - useSystemAAFontSettings
# - FT2_SUBPIXEL_HINTING
#
#_JAVA_OPTIONS="-Dsun.java2d.xrender=true -Dawt.useSystemAAFontSettings=lcd      -Dswing.aatext=true"
 _JAVA_OPTIONS="-Dsun.java2d.xrender=true -Dawt.useSystemAAFontSettings=lcd_hrgb -Dswing.aatext=true -Djava.io.tmpdir=${RAM}"
#_JAVA_OPTIONS+="-Djava.io.tmpdir=${RAM}"      # заставим JAVA использовать наш временный каталог

#
#FT2_SUBPIXEL_HINTING=0  # Classic mode
 FT2_SUBPIXEL_HINTING=1  # Infinality mode
#FT2_SUBPIXEL_HINTING=2  # Default mode
export _JAVA_OPTIONS  FT2_SUBPIXEL_HINTING

###!!!
# осталось от вер. 5.45
# для этой версии ОПАСНО указывать другую жабу... не будет собирать проекты, отмазываясь всякой фигней, типа
#
# make[2]: *** No rule to make target '.generated_files/caf1546d6fbbfeadc2627595cfbab536bfe8bceb.flag',
# needed by 'build/default/production/main.o'.  Stop.
#
# 1.8.0_241/
# 1.8.0_371/
# 1.8.0_391/
# 1.8.x@
# 11.0.6/
# 13.0.2/
# 14.x/
# 15.0.1/
# 16.0.2/
# 17.0.8/
# 18.0.2/
# 
# echo "JAVA_VER = $JAVA_VER"
if [ -z "${JAVA_VER}" ]; then
case $VER in
5.35) JAVA_VER=1.8.0 ; break ;;
5.45) JAVA_VER=1.8.0 ; break ;; # !!! в записях/скриптах запуска пишет, что жопа, глючит сборка
5.50) JAVA_VER=1.8.0 ; break ;;
6.* ) JAVA_VER=1.8.0 ; break ;;
esac; fi
if [ "${JAVA_VER}" == "DEF" ]; then JAVA=/usr/lib64/java
else                                JAVA=/opt/java/$JAVA_VER; fi

export      JAVA
export  JDK_HOME=$JAVA
export JAVA_HOME=$JAVA
export      PATH=$JAVA/bin:$PATH

export LANG=C
export LC_ALL=C
export BEEP

echo "### MPLab-X $VER ###

_JAVA_OPTIONS = $_JAVA_OPTIONS

J_VER = $JAVA_VER
JAVA  = $JAVA

LIB   = $LIB
BIN   = $BIN
RAM   = $RAM
PATH  = $PATH
"
# exit 1

rm -fr $RAM; mkdir -p $RAM
BEEP_MUTE=1 ~/bin/mplab_clr_resident
$BIN/mplab_ide --jdkhome $JAVA "$@"
BEEP_MUTE=1 ~/bin/mplab_clr_resident
echo "sunc..."; sync;
#echo "sleep 1..."; sleep 1
beep_ok
