#!/bin/sh
TAUROOT=/Users/suravee/Desktop/TAU_winter05/tau2-ktau
MACHINE=apple
OLDJDK=no

LIBDIR=${TAUROOT}/${MACHINE}/lib
CONFIG_FILE=${HOME}/.ParaProf/perfdmf.cfg


# If paraprof is invoked with the -p option, read and/or generate pprof.dat
if [ "x$1" = "x-p" ]
then
  shift
  echo "Using pprof to generate pprof.dat"
  pprof_path=${TAUROOT}/${MACHINE}/bin/pprof
  if [ "x$pprof_path" = "x" ]
  then
     echo "pprof not found ... will start ParaProf anyway."
     echo "Unless you have a pprof.dat file already present,"
     echo "you will have to load one manually."
  else
      echo "Found pprof in ${pprof_path}"
      if [ -r pprof.dat ] 
      then
        echo "Found pprof.dat"
        if [ profile.0.0.0 -nt pprof.dat ]
        then
          echo "Regenerating pprof.dat file ..." 
  	${pprof_path} -d > pprof.dat
        else 
  	echo "pprof.dat is current"
        fi
      else
        if [ -r profile.0.0.0 ]
        then
          echo "Please wait while I generate the pprof.dat file ..."
          ${pprof_path} -d > pprof.dat
        else
  	for i in MULTI__*
  	do
          echo "Looking for pprof.dat file in $i directory ..."
  	  if [ -r $i/pprof.dat ]
  	  then
  	    echo "Found $i/pprof.dat"
  	    if [ $i/profile.0.0.0 -nt $i/pprof.dat ]
  	    then
  	      echo "Regenerating $i/pprof.dat file ..."
  	      ${pprof_path} -d -f $i/profile > $i/pprof.dat
  	    else
  	      echo "$i/pprof.dat file is current"
  	    fi
  	  else
  	    echo "Please wait while I generate the $i/pprof.dat file ..."
  	    ${pprof_path} -d -f $i/profile > $i/pprof.dat
            fi
  	done   
        fi
  
      fi
     
      echo "Done ... now starting ParaProf ..."
  fi
  PPROFOPT="-f pprof pprof.dat"
fi 
#Searching for a preference file.

if [ -f "${HOME}/.ParaProf/ParaProfPreferences.dat" ] ; then
    echo "Found a global ParaProf pref." ; \
    cp "${HOME}/.ParaProf/ParaProfPreferences.dat" . ; \
fi

# get the jdbc jar file from the configuration file
JDBC_JAR=`grep jdbc_db_jarfile ${CONFIG_FILE} 2>/dev/null | sed s/jdbc_db_jarfile://`

if [ "x${JDBC_JAR}" != "x" ]; then
    if [ ! -r ${JDBC_JAR} ]; then
        echo ""
        echo "Warning: JDBC driver '$JDBC_JAR' not found."
        echo ""
    fi
fi

# Invoke ParaProf with the optional PPROFOPT argument. For large profiles, increase 500m (500MB).
if [ "$OLDJDK" = "yes" ]
then
java -Xmx500m -cp ${LIBDIR}/ParaProf-Old.jar:${LIBDIR}/dms.jar:${LIBDIR}/jatha.jar:${LIBDIR}/jgraph-1.3.jar:${LIBDIR}/xerces.jar:${JDBC_JAR}:${LIBDIR}/jargs.jar edu/uoregon/tau/paraprof/ParaProf ${PPROFOPT} $*
else
java -Xmx500m -cp ${LIBDIR}/ParaProf.jar:${LIBDIR}/dms.jar:${LIBDIR}/jatha.jar:${LIBDIR}/jgraph.jar:${LIBDIR}/xerces.jar:${JDBC_JAR}:${LIBDIR}/jargs.jar edu/uoregon/tau/paraprof/ParaProf ${PPROFOPT} $*
fi
