#!/usr/bin/env bash

# Function to provide "readlink -f" even on systems missing -f:
readlinkf(){
    perl -MCwd -e 'print Cwd::abs_path shift' "$1";
}

if [[ @MCCODE_LEGACY_PATHS@ == 1 ]]; then
  # Legacy McCode PATH setup 
  TOPENV="$0"

  # Check if we are being called with a non-full path
  if [[ $TOPENV != "/"* ]]; then
    TOPENV="$PWD/$TOPENV"
  fi

  TOPENV=`readlinkf "$TOPENV"`
  TOPENV=`dirname $TOPENV`
else
  TOPENV=$( dirname $( readlinkf ${BASH_SOURCE[0]} ) )
fi

@MCCODE_ENV_PREAMBLE@

ARCH=`uname -m`
UNAME=`uname -s`

# On macOS, shorten TMPDIR 
if [[ ${UNAME} = Darwin* ]]; then
    export TMPDIR=/tmp
    OSXVER=`sw_vers -productVersion|cut -f 1 -d.`
fi

export PATH=$MCCODE_BINDIR:$PATH

export @FLAVOR_UPPER@=$MCCODE_RESOURCEDIR

# Check if we are running with miniconda-provided python libs and set PYTHONPATH accordingly
if [ -d "$@FLAVOR_UPPER@/miniconda3" ]; then
    export PATH=$TOPENV/miniconda3/bin:$PATH
    #Activation hook for conda 
    _conda_bindir="$@FLAVOR_UPPER@/miniconda3/bin"
    function conda() {
	unset conda
	eval "$(${_conda_bindir}/conda shell.bash hook 2> /dev/null)"
	conda "$@"
    }
    conda activate $@FLAVOR_UPPER@/miniconda3
    export PS1='(@FLAVOR@-@MCCODE_VERSION@/miniconda3) \W \$ '
else
    export PS1='@FLAVOR@-@MCCODE_VERSION@ env \W \$ '
fi

 
if [ -d "$@FLAVOR_UPPER@/share/NCrystal/python/" ]; then
    export PYTHONPATH=$@FLAVOR_UPPER@/share/NCrystal/python/:$PYTHONPATH
fi

echo
echo The new shell started here is now set up for running this version of @FLAVOR@:
echo
@FLAVOR@ -v
echo
echo To end using this version of @FLAVOR@, exit this shell.
echo
if ! [ "${CONDA_PREFIX}x" == "x" ]; then
    echo \( Using CONDA env placed in 
    echo    ${CONDA_PREFIX} \)
    echo
fi

if [ -x ${SHELL} ]; then
  ${SHELL}
else
  /bin/sh
fi

