#!/bin/sh

##############################################################################
# Scala classfile decoder 2.1.3
##############################################################################
# (c) 2002-2006 LAMP/EPFL
# This is free software; see the distribution for copying conditions.
# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
##############################################################################

cygwin=false;
darwin=false;
case "`uname`" in
    CYGWIN*) cygwin=true ;;
    Darwin*) darwin=true ;;
esac

SOURCE=$0;
SCRIPT=`basename "$SOURCE"`;
while [ -h "$SOURCE" ]; do
    SCRIPT=`basename "$SOURCE"`;
    LOOKUP=`ls -ld "$SOURCE"`;
    TARGET=`expr "$LOOKUP" : '.*-> \(.*\)$'`;
    if expr "${TARGET:-.}/" : '/.*/$' > /dev/null; then
        SOURCE=${TARGET:-.};
    else
        SOURCE=`dirname "$SOURCE"`/${TARGET:-.};
    fi;
done;
SCALA_HOME=`dirname "$SOURCE"`/..;
SCALA_HOME=`cd "$SCALA_HOME"; pwd`;

EXTENSION_CLASSPATH="$SCALA_HOME/lib/scala-library.jar:$SCALA_HOME/lib/scala-compiler.jar:$SCALA_HOME/lib/scala-decoder.jar"
if [ "$EXTENSION_CLASSPATH" = "" ] ; then
    for jar in `ls "$SCALA_HOME"/lib/*.jar` ; do
        if [ "$EXTENSION_CLASSPATH" = "" ] ; then
            EXTENSION_CLASSPATH="$jar"
        else
            EXTENSION_CLASSPATH="$EXTENSION_CLASSPATH:$jar"
        fi
    done
fi

BOOT_CLASSPATH=""
if [ "$BOOT_CLASSPATH" = "" ] && [ -f "$SCALA_HOME/lib/scala-library.jar" ] ; then
    BOOT_CLASSPATH="$SCALA_HOME/lib/scala-library.jar"
fi

MYCLASSPATH="$EXTENSION_CLASSPATH"
if [ "$BOOT_CLASSPATH" != "" ] ; then
    if [ "$MYCLASSPATH" = "" ] ; then
        MYCLASSPATH="$BOOT_CLASSPATH"
    else
        MYCLASSPATH="$BOOT_CLASSPATH:$MYCLASSPATH"
    fi
fi

for flag in "$@" ; do
    if [ "$flag" = '-version' ] ; then
        echo "Scala classfile decoder version 2.1.3 -- (c) 2002-2006 LAMP/EPFL"
        exit 0
    fi
done

if $cygwin; then
    if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
        format=mixed
    else
        format=windows
    fi
    SCALA_HOME=`cygpath --$format "$SCALA_HOME"`
    BOOT_CLASSPATH=`cygpath --path --$format "$BOOT_CLASSPATH"`
    EXTENSION_CLASSPATH=`cygpath --path --$format "$EXTENSION_CLASSPATH"`
    MYCLASSPATH=`cygpath --path --$format "$MYCLASSPATH"`
fi

${JAVACMD:=java} -Xmx256M -Xms16M -cp "$MYCLASSPATH" -Dscala.home="$SCALA_HOME" -Dscala.boot.class.path="$BOOT_CLASSPATH" -Dscala.ext.path="$EXTENSION_CLASSPATH" -Denv.classpath="$CLASSPATH" -Dscala.tool.name="Scala classfile decoder" -Dscala.tool.version="2.1.3" -Dscala.boot.class.path="$CLASSPATH" scala.tools.scalap.Main  $@
