#!/bin/sh
#

basename=`basename $0`
relpath=
xtra_args=

# Some Sun OpenWindows specific stuff first.
# if OPENWINHOME is not set but /usr/openwin exists, set it
if [ -z "$OPENWINHOME" -a -d /usr/openwin ]; then
	OPENWINHOME=/usr/openwin export OPENWINHOME
fi
# End of Sun OpenWindows specific stuff

# The following attempts to determine SMTVHELPROOT automatically and compares it
# with any setting inherited from the environment. Warn if the two differ.
# It should work even in the presence of (cursed) symbolic links
#
# First, determine path to apparent executable.
case $0 in 
	*/*)	path=`dirname $0`
		relpath=$path
		;;
	*)	SAVEIFS="$IFS"
		IFS="$IFS:"
		for path in $PATH; do
			if [ -x $path/$0 ]; then
				break
			fi
			# if we ever fall through it must be the current dir.
			path=.
		done
		IFS="$SAVEIFS"
		;;
esac
# Next, follow sym links, if any.
lsout=`ls -l $path/$basename`
while test `expr "$lsout" : "l"` = 1; do
	lpath=`echo $lsout | sed 's/.* //'`
	basename=`basename $lpath`
	case $lpath in
		/*)	path=`dirname $lpath` ;;
		*)	path=$path/`dirname $lpath` ;;
	esac
	lsout=`ls -l $path/$basename`
done
# Expand any sym links to get real path.
realdir=`cd $path; cd ..; pwd | sed -e 's.^/tmp_mnt/./.'`

SMTVHELPROOT=$realdir
export SMTVHELPROOT

if [ ! -z "$LC_ALL" ]; then
        HELPLANG=$LC_ALL
elif [ ! -z "$LC_MESSAGES" ]; then
        HELPLANG=$LC_MESSAGES
elif [ ! -z "$LANG" ]; then
        HELPLANG=$LANG
else
        HELPLANG=C
fi
if [ "$HELPLANG" = "en_US" ]; then
        HELPLANG=C
fi
if [ $HELPLANG != "C" ]; then
    if [ ! -d $SMTVHELPROOT/lib/locale/$HELPLANG/help ]; then
        echo "$0: could not find help directory for $HELPLANG" >&2
        echo "trying to use help for locale C" >&2
        HELPLANG=C
    fi
else
    if [ ! -d $SMTVHELPROOT/lib/locale/$HELPLANG/help ]; then
        echo "$0: could not find help directory" >&2
        echo "on-line help might not work correctly"
    fi
fi

ShowMeTVHelpDir=$SMTVHELPROOT/lib/locale/$HELPLANG/help ; \
    export ShowMeTVHelpDir

if [ ! -z "$XFILESEARCHPATH" ]; then
    XFILESEARCHPATH=$XFILESEARCHPATH:$SMTVHELPROOT/app-defaults/$HELPLANG/showmetvh
else
    XFILESEARCHPATH=$SMTVHELPROOT/app-defaults/$HELPLANG/showmetvh
fi
export XFILESEARCHPATH

if [ ! -z "$XUSERFILESEARCHPATH" ]; then
    XUSERFILESEARCHPATH=$XUSERFILESEARCHPATH:$SMTVHELPROOT/app-defaults/$HELPLANG/showmetvh
else
    XUSERFILESEARCHPATH=$SMTVHELPROOT/app-defaults/$HELPLANG/showmetvh
fi
export XUSERFILESEARCHPATH

# Defaults.
opt=${SMTVHELPROOT}

# Coerce basename to lower case if not already.
basename=`echo $basename | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
fname=help/bin/$basename

# fix path if not invoked via PATH.
if [ ! -z "$relpath" ]; then
	PATH=$relpath:$PATH export PATH
fi

# Ok, finally, let's go for it.
if [ ! -z "$*" ]; then
	exec $opt/$fname $xtra_args "$@"
else
	exec $opt/$fname $xtra_args
fi
