#!/bin/sh
# Emulate the jdk java command using gcj
# (c) 2002 Bernhard Rosenkraenzer <bero@arklinux.org>
if [ -n "$CLASSPATH" ]; then
        clp="$CLASSPATH:/usr/share/java/libgcj-@GCCVER@.jar"
else
        clp="/usr/share/java/libgcj-@GCCVER@.jar"
fi
unset HAVE_APPNAME || :
while [ "$#" != 0 ]; do
        if [ "$1" = "-version" ]; then
                echo 'java version "1.3.1"' 1>&2
		echo 'jdkgcj 0.2.3 (http://www.arklinux.org/projects/jdkgcj)'
                gcj --version 1>&2
                exit 0
        elif [ "$1" = "-showversion" ]; then
                echo 'java version "1.3.1"' 1>&2
		echo 'jdkgcj 0.2.3 (http://www.arklinux.org/projects/jdkgcj)'
                gcj --version 1>&2
        elif [ "$1" = "-classpath" -o "$1" = "-cp" ]; then
                shift
                clp="`echo $1 | sed 's~.*/lib/rt.jar~/usr/share/java/libgcj-@GCCVER@.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
		fi
		params="$params \"`echo $1 |sed -e 's,",\\\\",g'`\""
        elif [ "`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 ! echo $clp |grep -q /usr/share/java/libgcj-@GCCVER@.jar; then
	# We NEED this
	clp="$clp:/usr/share/java/libgcj-@GCCVER@.jar"
fi

export CLASSPATH="$clp"
unset clp

COMMAND="$(mktemp -t java.XXXXXXXXXX)" || exit
cat >"$COMMAND" <<EOF
unset COMMAND ||:
rm -f "$COMMAND"
exec gij $params
EOF
exec sh $COMMAND
