#!/bin/sh
# Emulate the jdk java command using gcj
# (c) 2002-2003 Bernhard Rosenkraenzer <bero@arklinux.org>

GCC=`gcj --version |head -n1 |awk '{ print $3; }'`

if [ -n "$CLASSPATH" ]; then
        clp="$CLASSPATH:/usr/share/java/libgcj-$GCC.jar"
else
        clp="/usr/share/java/libgcj-$GCC.jar"
fi
unset HAVE_APPNAME || :
while [ "$#" != 0 ]; do
        if [ "$1" = "-version" ]; then
                echo 'java version "1.4.2"' 1>&2
                gcj --version 1>&2
                exit 0
        elif [ "$1" = "-fullversion" ]; then
                echo 'java full version "gcj-1.4.2"' 1>&2
                exit 0
        elif [ "$1" = "-showversion" ]; then
                echo 'java version "1.4.2"' 1>&2
                gcj --version 1>&2
        elif [ "$1" = "-classpath" -o "$1" = "-cp" ]; then
                shift
                clp="`echo $1 | sed \"s~.*/lib/rt.jar~/usr/share/java/libgcj-$GCC.jar~\"`"
	elif [ "`echo $1 |cut -b1-2`" = "-D" ]; then
		if [ "`echo $1 |cut -b1-20`" = "-Djava.library.path=" ]; then
			export LD_LIBRARY_PATH=`echo $1 |cut -b21-`:$LD_LIBRARY_PATH
		elif [ "`echo $1 |cut -b1-12`" = "-Djava.home=" ]; then
		    HAVE_JAVA_HOME=yes
		elif [ "`echo $1 |cut -b1-15`" = "-Djava.version=" ]; then
		    HAVE_JAVA_VERSION=yes
		fi
		params="$params \"`echo $1 |sed -e 's,",\\\\",g'`\""
        elif [ -z "$HAVE_APPNAME" -a "`echo $1 |cut -b1`" = "-" ]; then
                # Yuck. Unknown parameter. Let's pretend nothing happened.
                echo "Warning: $1 not understood. Ignoring." >&2
        else
		if [ -n "$HAVE_APPNAME" ]; then
			params="$params \"`echo $1 |sed -e 's,",\\\\",g'`\""
		else
			params="$params \"`echo $1 |sed -e 's,",\\\\",g;s,/,.,g'`\""
			HAVE_APPNAME=yes
		fi
        fi
        shift
done

if [ -z "$HAVE_JAVA_HOME" ]; then
    params="-Djava.home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre $params"
fi

if [ -z "$HAVE_JAVA_VERSION" ]; then
    params="-Djava.version=1.4.2 $params"
fi

if ! echo $clp |grep -q /usr/share/java/libgcj-$GCC.jar; then
	# We NEED this
	clp="$clp:/usr/share/java/libgcj-$GCC.jar"
fi
export CLASSPATH="$clp"
COMMAND=`mktemp /tmp/javaXXXXXX`
echo "rm $COMMAND" >$COMMAND
echo "exec /usr/bin/gij $params" >>$COMMAND
chmod +x $COMMAND
exec $COMMAND
