#!/bin/sh

tools_path=`cd $(dirname "$0");pwd`
if [ ! "$D8_PATH" ]; then
  d8_public=`which d8`
  if [ -x $d8_public ]; then D8_PATH=$(dirname "$d8_public"); fi
fi
[ "$D8_PATH" ] || D8_PATH=$tools_path/..
d8_exec=$D8_PATH/d8

if [ "$1" = "--no-build" ]; then
  shift
else
# compile d8 if it doesn't exist, assuming this script
# resides in the repository.
  [ -x $d8_exec ] || scons -j4 -C $D8_PATH -Y $tools_path/.. d8
fi


# find the name of the log file to process, it must not start with a dash.
log_file="v8.log"
for arg in "$@"
do
  if ! expr "X${arg}" : "^X-" > /dev/null; then
    log_file=${arg}
  fi
done


# nm spits out 'no symbols found' messages to stderr.
cat $log_file | $d8_exec $tools_path/splaytree.js $tools_path/codemap.js \
  $tools_path/csvparser.js $tools_path/consarray.js \
  $tools_path/profile.js $tools_path/profile_view.js \
  $tools_path/logreader.js $tools_path/tickprocessor.js \
  $tools_path/tickprocessor-driver.js -- $@ 2>/dev/null
