#!/bin/bash
set -e

if [ "" = "1" ]; then
  EUSLISP_EXE=/usr/local/bin/irteusgl  # osx
elif [ "$EUSDIR" = "" ]; then
  EUSLISP_EXE=`find -L /usr/bin/*eus* -type f -name irteusgl`  # fix find: File system loop detected; '/usr/bin/X\11' is part of the same file system loop as '/usr/bin'.
else
  EUSLISP_EXE=`find -L $EUSDIR -type f -name irteusgl`  # linux
fi
ROSEUS_DIR=`rospack find roseus`
ARG_STR=("(pushnew \"${ROSEUS_DIR}/euslisp/\" *load-path* :test #'equal)" \
        ${ROSEUS_DIR}/euslisp/roseus.l ${ROSEUS_DIR}/euslisp/eustf.l ${ROSEUS_DIR}/euslisp/actionlib.l ${ROSEUS_DIR}/euslisp/roseus-utils.l)
# echo "rosrun euslisp irteusgl ${ARG_STR[@]} $@"

LAUNCH_PREFIX="exec"
case $1 in
    --gdb)
        shift # past argument
        GDB_OPTIONS=/tmp/roseus_gdbinit
        cat <<EOF > $GDB_OPTIONS
break -qualified error
commands
where
end
run
EOF
        LAUNCH_PREFIX="gdb -x $GDB_OPTIONS --args"
esac

${LAUNCH_PREFIX} ${EUSLISP_EXE} "${ARG_STR[@]}" "$@"
exit $?
