#!/bin/sh

dist_bin=`dirname $0`

# Figure out if we need to ser LD_ASSUME_KERNEL for older versions of the JVM.

function set_jvm_vars() {

    if [ ! -L /usr/lib/mozilla/plugins/libjavaplugin_oji.so ]; then
	return;
    fi

    JVM_LINK=`perl -e 'print readlink("/usr/lib/mozilla/plugins/libjavaplugin_oji.so")'`

    # is it relative?  if so append the full path

    echo "${JVM_LINK}" | grep -e "^/" 2>&1 > /dev/null

    if [ "$?" -ne "0" ]; then
	JVM_LINK=/usr/lib/mozilla/plugins/${JVM_LINK}
    fi

    JVM_BASE=`basename $JVM_LINK`
    JVM_DIR=`echo $JVM_LINK | sed -e s/$JVM_BASE//g`
    JVM_COMMAND=$JVM_DIR/java
    if [ ! -r $JVM_COMMAND ]; then
       JVM_DIR=${JVM_DIR}../../../bin/
       JVM_COMMAND=$JVM_DIR/java
       # does the command exist?
       if [ ! -r "$JVM_COMMAND" ]; then
           return
       fi
    fi

    # export this temporarily - it seems to work with old and new
    # versions of the JVM.
    export LD_ASSUME_KERNEL=2.2.5

    # get the version
    JVM_VERSION=`$JVM_COMMAND -version 2>&1 | grep version | cut -f 3 -d " " | sed -e 's/\"//g'`

    unset LD_ASSUME_KERNEL

    case "$JVM_VERSION" in
	(1.3.0*)
	# bad JVM
	export LD_ASSUME_KERNEL=2.2.5
	;;
    esac
}

if test -n "$MOZILLA_FIVE_HOME"; then
	MOZILLA_HOME=$MOZILLA_FIVE_HOME
elif [ -f /usr/lib/mozilla/chrome/comm.jar ]; then
	MOZILLA_HOME=/usr/lib/mozilla
elif [ -f /usr/local/mozilla/chrome/comm.jar ]; then
	MOZILLA_HOME=/usr/local/mozilla
elif [ -f /usr/lib/mozilla/chrome/comm.jar ]; then
	MOZILLA_HOME=/usr/lib/mozilla
elif [ -f /opt/mozilla/chrome/comm.jar ]; then
	MOZILLA_HOME=/opt/mozilla
elif [ -f /usr/lib/mozilla-0.9.7/chrome/comm.jar ]; then
	MOZILLA_HOME=/usr/lib/mozilla-0.9.7/
elif [ -f /opt/gnome/lib/mozilla/chrome/comm.jar ]; then
        MOZILLA_HOME=/opt/gnome/lib/mozilla/
else
	echo "Cannot find mozilla installation directory. Please set MOZILLA_FIVE_HOME to your mozilla directory"
	exit
fi

LD_LIBRARY_PATH=$MOZILLA_HOME:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

MOZILLA_FIVE_HOME=$MOZILLA_HOME
export MOZILLA_FIVE_HOME

set_jvm_vars

if [ -f ./galeon-bin ]; then
exec ./galeon-bin "$@"
else
exec $dist_bin/galeon-bin "$@"
fi

