#!/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() {

    # see if the jvm exists in either of the locations
    if [ -L /usr/lib/mozilla-1.0.1/plugins/libjavaplugin_oji.so ]; then
        JVM_ORIG_LINK=/usr/lib/mozilla-1.0.1/plugins/libjavaplugin_oji.so
    fi

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

    if [ -z "$JVM_ORIG_LINK" ]; then
        return;
    fi

    JVM_LINK=`perl -e "print readlink('$JVM_ORIG_LINK')"`

    # 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-1.0.1/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

# make sure to set any jvm vars that are needed
set_jvm_vars

##
## Make sure that we set the plugin path for backwards compatibility
##
MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins
export MOZ_PLUGIN_PATH

##
## Set FONTCONFIG_PATH for Xft/fontconfig
##
FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
export FONTCONFIG_PATH

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

