#!/bin/sh

find_target(){
  myexe="$1"
  dir=`dirname $myexe`

  target=`ls -l $myexe | awk '{loc=match($0,"->");target=substr($0,loc+3);print target}'`
  target_strip_slash=`echo $target | sed -e 's=^/=='`

  if [ x"$target_strip_slash" = x"$target" ]; then
  target="$dir/$target"
  fi
  
  if [ -h "$target" ]; then
    echo `find_target "$target" "$dir"`
  else
    echo $target  
  fi
}

if [ -h "$0" ]; then
  target=`find_target "$0"`
else
  target="$0"
fi

mydir=`dirname $target`

mydir_strip_dot=`echo $mydir | sed -e 's/^\.//'`
mydir_strip_dotdot=`echo $mydir | sed -e 's/^\.\.//'`

MGROOT="$mydir/.."


if [ x"$mydir" = x"." ]; then
  MGROOT="$PWD/.."
fi

if [ x"$mydir" != x"$mydir_strip_dot" ]; then
  MGROOT="$PWD/$mydir/.."
fi

if [ x"$mydir" != x"$mydir_strip_dotdot" ]; then
  MGROOT="$PWD/$mydir/.."
fi

if [ "${MGROOT#/}" = "${MGROOT}" ]; then
  #echo "This is a relative path, so let us make it absolute."
  MGROOT="`pwd`/$MGROOT"
fi

#echo $MGROOT

PATH="$MGROOT/bin":"$MGROOT/pythondist/bin":"$MGROOT/ffmpeg/bin":${PATH}
if [ x"$OSMESA" = x"true" ];  then
DYLD_FALLBACK_LIBRARY_PATH="$MGROOT":"$CCP4MG/lib_osmesa":"$CCP4MG/lib":$DYLD_FALLBACK_LIBRARY_PATH
LD_LIBRARY_PATH="$MGROOT":"$CCP4MG/lib_osmesa":"$CCP4MG/lib":$LD_LIBRARY_PATH
PYTHONPATH="$CCP4MG/python/ui":"$CCP4MG/lib_osmesa"
else
DYLD_FALLBACK_LIBRARY_PATH="$MGROOT":"$CCP4MG/util":"$CCP4MG/pygl":"$CCP4MG/mgapp":"$CCP4MG/mmut":"$CCP4MG/mmdb/src":"$CCP4MG/surface":"$CCP4MG/lib":$DYLD_FALLBACK_LIBRARY_PATH
LD_LIBRARY_PATH="$MGROOT":"$CCP4MG/util":"$CCP4MG/pygl":"$CCP4MG/mgapp":"$CCP4MG/mmut":"$CCP4MG/mmdb/src":"$CCP4MG/surface":"$CCP4MG/lib":$LD_LIBRARY_PATH
PYTHONPATH="$MGROOT":"$CCP4MG/util":"$CCP4MG/pygl":"$CCP4MG/mgapp":"$CCP4MG/mmut":"$CCP4MG/mmdb/src":"$CCP4MG/surface":"$CCP4MG/python/ui":"$CCP4MG/lib"
PLUGIN_DIRS=`find "${MGROOT}/qtgui/plugins/" -name _\*.so -o -name \*.pyd`
for i in $PLUGIN_DIRS; do 
   DYLD_FALLBACK_LIBRARY_PATH="${DYLD_FALLBACK_LIBRARY_PATH}:`dirname ${i}`" 
   LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:`dirname ${i}`"; 
done
fi

if [ -r "${MGROOT}/../Frameworks" ]; then 
  DYLD_FRAMEWORK_PATH="${MGROOT}/../Frameworks"
  export DYLD_FRAMEWORK_PATH
elif [ -r "${MGROOT}/pythondist" ]; then
  PYTHONHOME="${MGROOT}/pythondist/"
  PATH="${PYTHONHOME}/bin"/:$PATH
  DYLD_FALLBACK_LIBRARY_PATH="${MGROOT}/pythondist/lib":${DYLD_FALLBACK_LIBRARY_PATH}
  LD_LIBRARY_PATH="${MGROOT}/pythondist/lib":${LD_LIBRARY_PATH}
  export LD_LIBRARY_PATH
  export DYLD_FALLBACK_LIBRARY_PATH
  export PYTHONHOME
  pyver=`echo "import sys;print sys.version[:3]"|python`
  LD_LIBRARY_PATH="${MGROOT}/pythondist/lib/python${pyver}":"${MGROOT}/pythondist/lib/python${pyver}/site-packages/PyQt4":"${MGROOT}/pythondist/lib/python${pyver}/site-packages":"${MGROOT}/pythondist/lib/python${pyver}/lib-dynload":${LD_LIBRARY_PATH}
  DYLD_FALLBACK_LIBRARY_PATH="${MGROOT}/pythondist/lib/python${pyver}":"${MGROOT}/pythondist/lib/python${pyver}/site-packages/PyQt4":"${MGROOT}/pythondist/lib/python${pyver}/site-packages:pythondist/lib/python${pyver}
/lib-dynload":${DYLD_FALLBACK_LIBRARY_PATH}
fi

if [ -r "${MGROOT}/../Frameworks/Python.framework/Versions/Current" ]; then
  PYTHONHOME="${MGROOT}/../Frameworks/Python.framework/Versions/Current"
  export PYTHONHOME
fi

export CCP4MG LD_LIBRARY_PATH DYLD_FALLBACK_LIBRARY_PATH PYTHONPATH CCP4_MGDATA MONOMER_LIBRARY MGROOT CLIBD

if [ -r "${MGROOT}/bin/QtMG" ]; then
  "${MGROOT}/bin/QtMG" "${MGROOT}/qtgui/MGTestBrowser.py" $*
else
  python "${MGROOT}/qtgui/MGTestBrowser.py" $*
fi


