#!/bin/sh
#
#==============================================================================
# Copyright (c) 2016-present Allan CORNET (Nelson)
#==============================================================================
# This file is part of Nelson.
#=============================================================================
# LICENCE_BLOCK_BEGIN
# SPDX-License-Identifier: LGPL-3.0-or-later
# LICENCE_BLOCK_END
#==============================================================================
progname="$0"
#==============================================================================
SCRIPT_DIRECTORY=$(cd "$(dirname "$0")"; pwd)
#==============================================================================
DEFAULT_NELSON_MODE="-gui"
if ! test -f "$SCRIPT_DIRECTORY/nelson$DEFAULT_NELSON_MODE-exec"; then
DEFAULT_NELSON_MODE="-cli"
fi
#==============================================================================
NELSON_MODE=$DEFAULT_NELSON_MODE
#==============================================================================
if (echo "$progname"|grep "nelson-adv-cli" 2>&1 > /dev/null;) || (echo "$@"|grep "\-adv-cli" 2>&1 > /dev/null;) then
    NELSON_MODE="-adv-cli"
elif (echo "$progname"|grep "nelson-sio-cli" 2>&1 > /dev/null;) || (echo "$@"|grep "\-sio-cli" 2>&1 > /dev/null;) then
    NELSON_MODE="-sio-cli"
elif (echo "$progname"|grep "nelson-cli$" 2>&1 > /dev/null;) || (echo "$@"|grep "\-cli" 2>&1 > /dev/null;) then
    NELSON_MODE="-cli"
elif (echo "$progname"|grep "nelson-gui" 2>&1 > /dev/null;) || (echo "$@"|grep "\-gui" 2>&1 > /dev/null;) then
    NELSON_MODE="-gui"
fi
#==============================================================================
for arg do
    shift
    case $arg in
        ($NELSON_MODE) : ;;
            (*) set -- "$@" "$arg" ;;
    esac
done    
#==============================================================================
if test -f $SCRIPT_DIRECTORY/../lib64/Nelson/libnlsEngine.so; then
  CURRENT_DIRECTORY=$(pwd -P)
  cd "$SCRIPT_DIRECTORY/../lib64/Nelson"
  NLS_LIBRARY_PATH=$(pwd)
  cd $CURRENT_DIRECTORY
fi 
if test -f $SCRIPT_DIRECTORY/../lib/Nelson/libnlsEngine.so; then
  CURRENT_DIRECTORY=$(pwd -P)
  cd "$SCRIPT_DIRECTORY/../lib/Nelson"
  NLS_LIBRARY_PATH=$(pwd)
  cd $CURRENT_DIRECTORY
fi 
if [ "$LD_LIBRARY_PATH" = "" ]; then
  export LD_LIBRARY_PATH=$NLS_LIBRARY_PATH
else
  export LD_LIBRARY_PATH="$NLS_LIBRARY_PATH:$LD_LIBRARY_PATH"
fi
#==============================================================================
if test -d /usr/lib64/openmpi/lib; then
  NLS_OPENMPI_LIBRARY_PATH="/usr/lib64/openmpi/lib"
  NLS_OPENMPI_BIN_PATH="/usr/lib64/openmpi/bin"
fi
if test -d /usr/lib32/openmpi/lib; then
  NLS_OPENMPI_LIBRARY_PATH="/usr/lib32/openmpi/lib"
  NLS_OPENMPI_BIN_PATH="/usr/lib32/openmpi/bin"
fi
if test -d $NLS_OPENMPI_LIBRARY_PATH; then
  if [ "$LD_LIBRARY_PATH" = "" ]
  then
    export LD_LIBRARY_PATH="$NLS_OPENMPI_LIBRARY_PATH"
  else
    export LD_LIBRARY_PATH="$NLS_OPENMPI_LIBRARY_PATH:$LD_LIBRARY_PATH"
  fi
fi
if test -d $NLS_OPENMPI_BIN_PATH; then
  if [ "$PATH" = "" ]
  then
    export PATH="$NLS_OPENMPI_BIN_PATH"
  else
    export PATH="$NLS_OPENMPI_BIN_PATH:${PATH}"
  fi
fi
#==============================================================================
if test -d "/usr/local/lib"; then
    if [ "$LD_LIBRARY_PATH" = "" ]
    then
        export LD_LIBRARY_PATH="/usr/local/lib"
    else
        export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
    fi
fi
#==============================================================================
if [ "$LD_LIBRARY_PATH" = "" ]
then
  export LD_LIBRARY_PATH="$SCRIPT_DIRECTORY"
else
  export LD_LIBRARY_PATH="$SCRIPT_DIRECTORY:$LD_LIBRARY_PATH"
fi
#==============================================================================
exec "$SCRIPT_DIRECTORY/nelson$NELSON_MODE-exec" "$@"
#==============================================================================
