#! /bin/sh

#	maker 2.0
#	Copyright (c) 1988-1989 by Frame Technology Corp.
# 
# FrameMaker startup script
# runs the version with the appropriate OS
# ejk

# Routine to ask a question answered y or n.
ask(){
	if [ -t 2 ]; then
		answer=undefined
		until [ "$answer" = "y" -o "$answer" = "n" ]; do 
			echo -n "$1 [n]: " >&2
			read answer
			if [ "$answer" = "" ]; then
				answer=n
			fi
		done
		[ $answer = y ]
	else
		:;	# true
	fi
}

maker_is_batch() {	# examine args for -b flag; if on, we're in batch mode
	case "$*" in
	*'-b '*)
		b=t
		;;
	*)
		b=nil
		;;
	esac
	[ $b = t ]
}

myname=`basename $0`

[ $WINDOW_PARENT ] || {
	echo You can only run Frame $myname locally under suntools.
	exit 1
	}
case $WINDOW_PARENT in
/dev/win*)
	# should cover all cases (typically 0 or 6)
	;;
*)
	echo You can only run Frame $myname locally under suntools. >&2
	exit 1
	;;
esac

case $myname in
demo*)
	# demo mode doesn't require any licensing services
	;;
*)
	[ $FRAMEUSERSD_HOST ] || {
		if [ -r $HOME/.fminit2.0/env.sh ]; then
			. $HOME/.fminit2.0/env.sh
		fi
		[ $FRAMEUSERSD_HOST ] || {
			if [ -r $FMHOME/.fminit2.0/env.sh ]; then
				. $FMHOME/.fminit2.0/env.sh ;
			fi
		}
	}
	[ $FRAMEUSERSD_HOST ] || [ -f $FMHOME/.fminit2.0/frameusers ] || {
		if [ ! -f $FMHOME/.fminit2.0/framepasswd -a \
		     ! -f $HOME/.fminit2.0/framepasswd ]; then
			echo "Frame licensing not configured; perhaps try demo$myname." >&2
			if ask "Would you like to continue?"; then
				echo
			else
				exit 1
			fi
		fi
	}
	;;
esac

${ARCH:=`arch`}
echo starting $myname ...
if [ -d $FMHOME/bin/bin.$ARCH/rel4 ]; then
	tstfiles="/usr/lib/libpixrect.so.* /usr/lib/libsuntool.so.* /usr/lib/libsunwindow.so.*"
	if [ "`echo $tstfiles`" = "$tstfiles" ]; then
		myname=rel3/$myname
	else
		myname=rel4/$myname
	fi
fi

# If output isn't already redirected, send it to the console.
# Don't redirect if batch.
maker_is_batch $* || {
	if [ -t 1 -a -t 2 ]; then	# common case; save a struct file
		exec >/dev/console 2>&1
	elif [ -t 2 ]; then		# less common: maker >foo
		exec 2>/dev/console
	elif [ -t 1 ]; then		# unavailable from csh: maker 2>foo
		exec >/dev/console
	fi
}

case $# in
0) exec $FMHOME/bin/bin.$ARCH/$myname & ;;
*) exec $FMHOME/bin/bin.$ARCH/$myname "$@" & ;;
esac
