229 lines
4.6 KiB
Tcsh
229 lines
4.6 KiB
Tcsh
#!/bin/tcsh -f
|
|
#
|
|
# Run Medley
|
|
#
|
|
# Syntax: run-medley [-nogreet][-xns][-noxns] [-geometry pixelgeometry]
|
|
# [-display xdisplay-device] [-screensize pixelgeometry]
|
|
# [-raw] [-t xtimeout][-prog executable-program]
|
|
# [-vmem savevmemfilename] |
|
|
# [-m memorylimit] [-kbd keyboardtype] [-key key]
|
|
# [sysoutfilename | -lfg | -lisp | -full |
|
|
# -{name of any in the sysouts} ]
|
|
#
|
|
# -xns means leave unix xns running
|
|
# -noxns means suppress Lisp xns.
|
|
|
|
# LDESRCESYSOUT
|
|
# LDESOURCESYSOUT SYSOUT full-file name you want to run
|
|
|
|
# LDEDESTSYSOUT SYSOUT name for destination of SAVEVM/LOGOUT
|
|
|
|
# LDEKBDTYPE
|
|
# type2
|
|
# type3
|
|
# type4
|
|
# jle
|
|
# as3000j
|
|
# LDEFILETIMEOUT
|
|
|
|
|
|
setenv HOSTNAME `hostname`
|
|
setenv OSVERSION `uname -r`
|
|
|
|
# Directory variables are accessible from Lisp via UNIX-GETENV
|
|
|
|
if (! $?MEDLEYDIR ) setenv MEDLEYDIR `pwd`
|
|
if (! -d $MEDLEYDIR/loadups ) then
|
|
echo MEDLEYDIR not found: "$MEDLEYDIR"
|
|
exit 1
|
|
endif
|
|
|
|
if (! $?MAIKODIR ) then
|
|
setenv MAIKODIR $MEDLEYDIR/../maiko
|
|
if (! -d "$MAIKODIR"/bin ) then
|
|
echo "MAIKODIR not found: $MAIKODIR"
|
|
exit 1
|
|
endif
|
|
endif
|
|
|
|
setenv LDEINIT "$MEDLEYDIR/initfiles/local-init"
|
|
|
|
|
|
set mem="-m 256" # Default, has to be set
|
|
#set geometry="-g 1060x790"
|
|
# MBA screensize
|
|
set geometry="-g 1440x900"
|
|
set screensize="-sc 1440x900"
|
|
setenv LDEKBDTYPE x
|
|
set ICONSPEC=" "
|
|
|
|
setenv LDEFILETIMEOUT 60
|
|
setenv TAKEXNSDOWN 0
|
|
setenv LDELISPXNS 0
|
|
#default is no lispxns
|
|
|
|
if ($#argv != 0) then
|
|
while ("$1" != "")
|
|
switch ($1)
|
|
case "-m":
|
|
set mem="-m $2"
|
|
shift
|
|
breaksw
|
|
case "-xlisp":
|
|
setenv LDESRCESYSOUT "$MEDLEYDIR/loadups/xlisp.sysout"
|
|
breaksw
|
|
case "-lisp":
|
|
setenv LDESRCESYSOUT "$MEDLEYDIR/loadups/lisp.sysout"
|
|
breaksw
|
|
case "-xfull35":
|
|
setenv LDESRCESYSOUT "$MEDLEYDIR/loadups/xfull35.sysout"
|
|
breaksw
|
|
case "-full":
|
|
setenv LDESRCESYSOUT "$MEDLEYDIR/loadups/full.sysout"
|
|
breaksw
|
|
case "-lfg":
|
|
case "-lfg35":
|
|
case "-xlfg35":
|
|
setenv LDESRCESYSOUT "$LFGPARSERDIR/release/lfg35.sysout"
|
|
set ICONSPEC = "-iconbitmap $LFGPARSERDIR/release/lfg.xbm -icontitle Xerox"
|
|
breaksw
|
|
case "-nogreet":
|
|
setenv LDEINIT ""
|
|
breaksw
|
|
case "-greet"
|
|
setenv LDEINIT "$2"
|
|
shift
|
|
breaksw
|
|
case "-xns":
|
|
setenv TAKEXNSDOWN 1
|
|
setenv LDELISPXNS 1
|
|
breaksw
|
|
case "-noxns":
|
|
setenv TAKEXNSDOWN 0
|
|
setenv LDELISPXNS 0
|
|
breaksw
|
|
case "-raw":
|
|
unsetenv DISPLAY
|
|
breaksw
|
|
case "-geometry":
|
|
set geometry="-g $2"
|
|
shift
|
|
breaksw
|
|
case "-screensize":
|
|
set screensize="-sc $2"
|
|
shift
|
|
breaksw
|
|
case "-display":
|
|
setenv DISPLAY $2
|
|
shift
|
|
breaksw
|
|
case "-t":
|
|
set xtimeout=$2
|
|
shift
|
|
breaksw
|
|
case "-prog":
|
|
set progparam=$2
|
|
shift
|
|
breaksw
|
|
case "-vmem":
|
|
setenv LDEDESTSYSOUT $2
|
|
shift
|
|
breaksw
|
|
case "-kbd":
|
|
setenv LDEKBDTYPE $2
|
|
shift
|
|
breaksw
|
|
|
|
default:
|
|
# anything else is a public sysout name
|
|
if (`expr index "$1" "[-]"` == 1) then
|
|
set name=`expr substr $1 2 999`
|
|
setenv LDESRCESYSOUT "$MEDLEYDIR/loadups/${name}.sysout"
|
|
else # not an option so must be a sysout name
|
|
0 setenv LDESRCESYSOUT $1
|
|
endif
|
|
breaksw
|
|
endsw
|
|
shift
|
|
end
|
|
else
|
|
# no options specified
|
|
endif
|
|
|
|
if ($?LDEDESTSYSOUT) then
|
|
if (-f /$HOSTNAME/$LOGNAME/lisp.virtualmem) then
|
|
setenv LDEDESTSYSOUT /$HOSTNAME/$LOGNAME/lisp.virtualmem
|
|
else if (-f ~/lisp.virtualmem) then
|
|
setenv LDEDESTSYSOUT ~/lisp.virtualmem
|
|
else if (-d /$HOSTNAME/$LOGNAME) then
|
|
setenv LDEDESTSYSOUT /$HOSTNAME/$LOGNAME/lisp.virtualmem
|
|
endif
|
|
endif
|
|
|
|
if (! $?LDESRCESYSOUT) then
|
|
setenv LDESRCESYSOUT $LDEDESTSYSOUT
|
|
endif
|
|
|
|
|
|
if (! $?LDEKBDTYPE) then
|
|
# switch (`/usr/bin/hostinfo keyboardtype`)
|
|
# endsw
|
|
endif
|
|
echo "keyboard type is " $LDEKBDTYPE
|
|
|
|
setenv INMEDLEY 1
|
|
echo "sysout is " $LDESRCESYSOUT
|
|
#set version = `medley-lisp-version $LDESRCESYSOUT`
|
|
set version = "35010"
|
|
if ($status) exit
|
|
|
|
if ($LDELISPXNS) then
|
|
set prog="ldeether"
|
|
else
|
|
set prog="lde"
|
|
echo "running without xns protocols"
|
|
endif
|
|
switch ("$version")
|
|
case "35000":
|
|
set version = "3.5"
|
|
breaksw
|
|
case "35010":
|
|
set version = "3.501"
|
|
breaksw
|
|
default:
|
|
set version = "3.5"
|
|
endsw
|
|
echo "using emulator version $version"
|
|
|
|
switch ("$version")
|
|
case "3.5":
|
|
case "3.501":
|
|
|
|
setenv PATH .:"$PATH"
|
|
pushd "$MAIKODIR"/bin
|
|
setenv PATH $MAIKODIR/`osversion`.`machinetype`:"$PATH"
|
|
popd
|
|
|
|
# if ${?DISPLAY} then # we are running under X
|
|
$prog $mem $geometry $screensize $ICONSPEC
|
|
# else $prog $mem
|
|
endif
|
|
breaksw
|
|
|
|
endsw
|
|
#
|
|
# Now we are done, so clean up after ourselves
|
|
#
|
|
cleanup:
|
|
|
|
if ${?DISPLAY} then
|
|
# do X cleanup
|
|
else
|
|
# reset
|
|
endif
|
|
|
|
|
|
|
|
|
|
|