#! /bin/sh
#
#  Name:
#     matlab    script file for invoking MATLAB
#
#  Usage:
#     matlab [-h|-help] | [-n] [-arch | -ext | -arch/ext]
#	     [[-c licensefile] [-display Xserver] [-debug]]
#	     [-runtime] [-Ddebugger [options]]
#
#  Description:
#     This Bourne Shell script sets MATLAB environment variables,
#     determines the machine architecture, and starts the appropriate
#     executable.
#
#  Options:
#
#     -h,-help
#
#           Help. Show command usage
#
#     -n
#
#	    Print out the values of the environment variables used by 
#	    matlab. The image is NOT run.
#
#     -arch
#
#	    Run MATLAB assuming this architecture rather than the
#	    actual machine architecture.
#
#     -ext
#	    Execute the version of MATLAB with extension ext if it
#           exists for the actual machine architecture.
#
#     -arch/ext
#
#	    Execute the version of MATLAB with extension ext assuming
#	    this architecture rather than the actual machine
#	    architecture.
#
#     -c licensefile 
#
#           Set LM_LICENSE_FILE to licensefile. It can have the form
#           port@host. This supersedes either the value set in
#	    .matlab5rc.sh or the default set in this script.
#	    $MATLAB/etc/license.dat.DEMO.* files are NOT appended
#	    using the ':' notation to this value. Those license.dat.DEMO*
#	    files are appended in all other cases.
#
#     -display Xserver
#
#	    Send X commands to X Window Server given by Xserver. This
#	    supersedes the value of the DISPLAY environment variable.
#
#     -debug
#
#           Provides debugging information especially for X based
#	    problems. Should be used only in conjunction with a
#	    Technical Support Representative from The MathWorks, Inc.
#
#     -runtime
#
#	    Run MATLAB in Runtime Server mode. Required only if MATLAB
#	    is run from the Runtime Development Kit.
#
#     -Ddebugger options
#
#	    Startup matlab with debugger (e.g. dbx, xdb, gdb, ups, etc.)
#	    The options if any depend on the debugger. If the debugger
#	    allows options to be passed to matlab always include them
#	    as part of options. Sets the environment variable:
#	    		MATLAB_DEBUG=debugger
#
#	    NOTE: For certain debuggers like gdb, the SHELL environment
#		  variable is ALWAYS set to /bin/sh.
#
# Copyright (c) 1984-1998 by The MathWorks, Inc.
# All Rights Reserved.
# $Revision: 1.50 $  $Date: 1998/11/11 23:44:04 $
#__________________________________________________________________________
#
    arg0_=$0
#
# Temporary file that hold MATLABPATH code from .matlab5rc.sh file.
#
    temp_file=/tmp/$$a; cat /dev/null > /tmp/$$a
#
    trap "rm -rf $temp_file > /dev/null 2>&1; exit 1" 1 2 3 15
#=======================================================================
# Functions:
#   program ()
#   actualpath ()
#   check_rc_file ()
#   check_license ()
#=======================================================================
    program () { # Returns the name of the program to execute.
		 # If no extension use matlab unless matlab.rt or
		 # or matlab.RT exist by themselves.
		 #
                 # Always returns a zero status.
                 #
                 # usage: program arch [ext]
                 #
	arch=$1
        if [ $# -eq 2 ]; then
	    ext=$2
        else
	    ext=""
        fi
#
        if [ "$ext" = "" ]; then
    	    if [ -f $MATLAB/bin/$arch/matlab ]; then
	        echo matlab
    	    elif [ ! -f $MATLAB/bin/$arch/matlab -a -f $MATLAB/bin/$arch/matlab.rt ]; then
	        echo matlab.rt
	    elif [ ! -f $MATLAB/bin/$arch/matlab -a -f $MATLAB/bin/$arch/matlab.RT ]; then
	        echo matlab.RT
	    else
	        echo matlab
	    fi
        elif [ "$ext" = "rt" -o "$ext" = "RT" ]; then
    	    if [ -f $MATLAB/bin/$arch/matlab.rt ]; then
	        echo matlab.rt
	    elif [ -f $MATLAB/bin/$arch/matlab.RT ]; then
	        echo matlab.RT
	    else
	        echo matlab
	    fi
        elif [ -f $MATLAB/bin/$arch/matlab.$ext ]; then
	    echo matlab.$ext
        else
	    echo matlab
        fi
#
        return 0
    }
#=======================================================================
    actualpath () { # Determine the actual path of a file following
		    # all links. Returns the real path or null if it
		    # is not a file.
                    #
		    # Always returns a 0 status.
		    #
                    # usage: actualpath path
                    #

        File=$1
        Filepath=
#
        lsCmd=`ls -ld $File 2>/dev/null`
        if [ "$lsCmd" ]; then
#
# Check for link portably
#
	    if [ `expr "$lsCmd" : '.*->.*'` -eq 0 ]; then
    	        if [ ! -d $File ]; then
	            Filepath=$File
                fi
            else
#
# A directory link?
#
		if [ -d $File ]; then
	            :
                else
#
# Now it is either a file, link to a file, or still a bad path.
#
	            cpath=`/bin/pwd`
                    localFile=$File
#
# Follow up to 8 links before giving up. Same as BSD 4.3
#
	            n=1
    	            while [ $n -le 8 ]
    	            do
#
# Get directory correctly!
#
   	                newDir=`echo "$localFile" | awk '
	{ tail = $0
          np = index (tail, "/")
          while ( np != 0 ) {
              tail = substr (tail, np + 1, length (tail) - np)
              if (tail == "" ) break
              np = index (tail, "/")
          }
          head = substr ($0, 1, length ($0) - length (tail))
          if ( tail == "." || tail == "..")
              print $0
          else
              print head
        }'`
	                if [ ! "$newDir" ]; then
	                    newDir="."
	                fi
			if [ ! -d $newDir ]; then
		            break
	                fi
	                cd $newDir
	                newDir=`/bin/pwd`
	 newBase=`expr //$localFile : '.*/\(.*\)' \| $localFile`
                        lsCmd=`ls -l $newBase 2>/dev/null`
	                if [ ! "$lsCmd" ]; then
		            break
	                fi
#
# Check for link portably
#
	                if [ `expr "$lsCmd" : '.*->.*'` -ne 0 ]; then
	                    localFile=`echo "$lsCmd" | \
				awk '{ print $NF }'`
	                else
#
# It's a file
#
	                    Filepath=$newDir/$newBase
	                fi
		        n=`expr $n + 1`
    	            done
    	            cd $cpath
	        fi
	    fi
        fi
	echo $Filepath
	return 0
    }
#=======================================================================
    check_rc_file () { # Checks rc_file file for minimal features.
		       # Currently the only thing it checks for is:
		       #
		       #    $NEW_X11 - app-defaults is now in $MATLAB/X11.
		       #
		       # If it fails the check print a warning message.
		       # The rc_file is assumed to exist.
		       #
                       # Always returns a zero status.
                       #
                       # usage: check_rc_file rc_file
                       #
	grep '\$NEW_X11' $1 > /dev/null 2>&1
	if [ $? -ne 0 ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo "---------------------------------------------------------------------------"
echo "Warning: The .matlab5rc.sh file that was sourced is old . . ."
echo "         --> file = $1"
echo " "
echo '         Please use $MATLAB/bin/.matlab5rc.sh to update this file.'
echo "         --> MATLAB = $MATLAB"
echo "---------------------------------------------------------------------------"
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	fi
	return 0
    }
#=======================================================================
    check_license () { # Check the license file.
		       # 1. If there is at least one port@host then
		       #    continue.
		       # 2. If no port@host and a single file then
		       #    continue.
		       # 3. Otherwise check all the files on the
		       #    ":" separated list for existence.
		       #
                       # Return a zero status unless a ":" separated
		       # list, no port@host, and ALL files don't exist.
                       #
                       # usage: check_license
                       #
#
# LM_LICENSE_fILE can be a ":" separated list. Check first for a port@host.
# If there is at least one then skip the rest of the checking. Otherwise, check
# the whole list and only print something if they are all bad.
#
	licensefilelist=`echo $LM_LICENSE_FILE | tr ':' ' '`
	nbadfiles=0
	nfiles=0
        for licensefile in $licensefilelist
        do
            if [ `expr "$licensefile" : '.*@.*'` -ne 0 ]; then
	        return 0
	    elif [ ! -f $licensefile ]; then
	        nbadfiles=`expr $nbadfiles + 1`
	    fi
	    nfiles=`expr $nfiles + 1`
        done
        if [ "$nfiles" = "$nbadfiles" -a "$nfiles" != "1" ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo ''
    echo '    matlab: license files in LM_LICENSE_FILE path do not exist'
    echo ''
    echo '            $LM_LICENSE_FILE'" = $LM_LICENSE_FILE"
    echo ''       
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            for licensefile in $licensefilelist
            do
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo "            file = $licensefile"
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            done
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo ''
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            return 1
        fi
	return 0
    }
#=======================================================================
#
#========================= archlist.sh (start) ============================
#
# usage:        archlist.sh
#
# abstract:     This Bourne Shell script creates the variable ARCH_LIST.
#
# note(s):      1. This file is always imbedded in another script
#
# Copyright (c) 1997-1998 by The MathWorks, Inc.
# $Revision: 1.3 $  $Date: 1998/11/03 22:06:40 $
#----------------------------------------------------------------------------
#
    ARCH_LIST='sol2 hp700 alpha ibm_rs sgi sgi64 lnx86'
#========================= archlist.sh (end) ==============================
#
#========================= bugcheck.sh (start) ============================
#
# usage:        bugcheck.sh
#
# abstract:     This Bourne Shell checks for critical OS bugs.
#
# note(s):      1. This routine must be called using a . (period)
#
# Copyright (c) 1996-1998 The Mathworks, Inc. All Rights Reserved.
# $Revision: 1.3 $  $Date: 1998/12/24 17:31:56 $
#----------------------------------------------------------------------------
#
# Check for HP-UX 10.x 'expr' bug.
#
    if [ "`expr 'CASE' : '\(CA=\)'`" = "0" ]; then 
	Arch="unknown"
        if [ -f /bin/hp9000s700 ]; then
	    (/bin/hp9000s700) > /dev/null 2>&1
            if [ $? -eq 0 ]; then
		Arch="hp700"
	    fi
	fi
        if [ -f /bin/hp9000s800 ]; then
            (/bin/hp9000s800) > /dev/null 2>&1
            if [ $? -eq 0 ]; then
                Arch="hp700"
            fi
	fi
	if [ "$Arch" = "hp700" ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo '-------------------------------------------------------------------'
    echo '    Sorry! This command will not run correctly on this HP system!'
    echo "           We have detected a HP bug in the 'expr' command. It"
    echo '           affects HP-UX 10.0, 10.01, 10.10, and 10.20 systems. A'
    echo '           patch is provided in'
    echo ' '
    echo '                   $MATLAB/hpux10.pch'
    echo ' '
    echo '           To install the patch:'
    echo ' '
    echo '                   cd /tmp'
    echo '                   tar -xf $MATLAB/hpux10.pch'
    echo ' '
    echo '           $MATLAB is the MATLAB root directory path.'
    echo ' '
    echo '           It creates patch directory: /tmp/hpux10.pch'
    echo ' '
    echo '           See the README file in this directory for installation'
    echo '           instructions.'
    echo '-------------------------------------------------------------------'
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    exit 1
        else
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo '-------------------------------------------------------------------'
    echo '    Sorry! This command will not run correctly on this system!'
    echo "           We have detected a bug in the 'expr' command. For help"
    echo '           please contact The MathWorks Technical Support:'
    echo ' '
    echo '               The MathWorks, Inc.'
    echo '               phone: (508) 647-7000'
    echo '               email: support@mathworks.com'
    echo '               web:   http://www.mathworks.com'
    echo ' '    
    echo '-------------------------------------------------------------------'
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    exit 1
	fi
    fi
#========================= bugcheck.sh (end) ==============================
#
#**************************************************************************
# Determine the path of the MATLAB root directory - always one directory
# up from the path to this command.
#**************************************************************************
#
    filename=$arg0_
#
# Now it is either a file or a link to a file.
#
    cpath=`pwd`
#
# Follow up to 8 links before giving up. Same as BSD 4.3
#
    n=1
    maxlinks=8
    while [ $n -le $maxlinks ]
    do
#
# Get directory correctly!
#
	newdir=`echo "$filename" | awk '
                        { tail = $0
                          np = index (tail, "/")
                          while ( np != 0 ) {
                             tail = substr (tail, np + 1, length (tail) - np)
                             if (tail == "" ) break
                             np = index (tail, "/")
                          }
                          head = substr ($0, 1, length ($0) - length (tail))
                          if ( tail == "." || tail == "..")
                             print $0
                          else
                             print head
                        }'`
	if [ ! "$newdir" ]; then
	    newdir="."
	fi
	(cd $newdir) > /dev/null 2>&1
	if [ $? -ne 0 ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo ''
    echo 'Internal error 1: We could not determine the path of the'
    echo '                  MATLAB root directory.'
    echo ''
    echo "                  original command path = $arg0_"
    echo "                  current  command path = $filename"
    echo ''
    echo '                  Please contact:'
    echo '' 
    echo '                      MathWorks Technical Support'
    echo ''
    echo '                  for further assistance.'
    echo ''
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    exit 1
	fi
	cd $newdir
#
# Need the function pwd - not the built in one
#
	newdir=`/bin/pwd`
#
	newbase=`expr //$filename : '.*/\(.*\)' \| $filename`
        lscmd=`ls -l $newbase 2>/dev/null`
	if [ ! "$lscmd" ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo ''
    echo 'Internal error 2: Could not determine the path of the'
    echo '                  MATLAB root directory.'
    echo ''
    echo "                  original command path = $filename"
    echo "                  current  command path = $filename"
    echo ''
    echo '                  Please contact:'
    echo '' 
    echo '                      MathWorks Technical Support'
    echo ''
    echo '                  for further assistance.'
    echo ''
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    exit 1
	fi
#
# Check for link portably
#
	if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then
	    filename=`echo "$lscmd" | awk '{ print $NF }'`
	else
#
# It's a file
#
	    dir="$newdir"
	    command="$newbase"
#
	    cd $dir/..
	    MATLABdefault=`/bin/pwd`
	    break
	fi
	n=`expr $n + 1`
    done
    if [ $n -gt $maxlinks ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo ''
    echo 'Internal error 3: More than $maxlinks links in path to'
    echo "                  this script. That's too many!"
    echo ''
    echo "                  original command path = $filename"
    echo "                  current  command path = $filename"
    echo ''
    echo '                  Please contact:'
    echo '' 
    echo '                      MathWorks Technical Support'
    echo ''
    echo '                  for further assistance.'
    echo ''
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	exit 1
    fi
#	
    cd $cpath
#
#**************************************************************************
#
# Do not use ARCH if it exists in the environment
#
    ARCH=""
#
    RCSHEADER='$Revision: 1.50 $  $Date: 1998/11/11 23:44:04 $'
#
    USAGE1="${command} [-h|-help] | [-n] [-arch | -ext | -arch/ext]"
    USAGE2="       [[-c licensefile] [-display Xserver] [-debug]]"
    USAGE3="       [-runtime] [-Ddebugger [options]]" 
#
# Parse the arguments
#
    stat="OK"
    EXT=""
    arglist=""
    arglist2=
    while [ "$stat" = "OK" -a  $# -gt 0 ]; do
	case "$1" in
	    -h|-help)
		stat=""
		;;
            -n)
                showenv=1
                ;;
	    -c)
		if [ $# -eq 1 ]; then
		   stat=""
		else
		   shift
		   licensefile=$1
		fi
		;;
	    -display)
		if [ $# -eq 1 ]; then
		    stat=""
		else
		    arglist="$arglist $1"
		    shift
		    isoption=`expr "/$1" : '/\(-.*\)'`
		    if [ "$isoption" != "" ]; then
		        stat=""
		    else
		        arglist="$arglist $1"
			display="$1"
		    fi
		fi
 		;;
	    -D*)
		debugger=`expr "$1" : '-D\(.*\)'`
		if [ "$debugger" = "" ]; then
		    stat=""
		else
		    MATLAB_DEBUG=`expr "//$debugger" : ".*/\(.*\)"`
		fi
		;;
	    -*/*)
		found=0
                if [ "$debugger" = "" ]; then
#
# Don't test any options after the debugger.
#
                    value=`expr "$1" : '-\(.*\)/.*'`
                    ext=`expr "$1" : '-.*/\(.*\)'`
                    for arch in $ARCH_LIST 
                    do
                        if [ "$arch" = "$value" ]; then
    			    if [ -f $MATLABdefault/bin/$value/matlab.$ext ]; then
			        ARCH=$value
				EXT=$ext
				found=1
                                break 
			    fi
			fi
                    done
		fi
		if [ "$found" = "0" ]; then
                    arglist="$arglist $1"
		fi
		;;
	    -*)
		found=0
                if [ "$debugger" = "" ]; then
#
# Don't test any options after the debugger.
#
                    value=`expr "$1" : '-\(.*\)'`
		    for arch in $ARCH_LIST 
                    do
                        if [ "$arch" = "$value" ]; then
			    ARCH=$value
			    EXT=""
			    found=1
                            break 
			fi
                    done
		    ext=$value
		    if [ "$found" = "0" ]; then
                        if [ "$ext" = "rt" -o "$ext" = "RT" ]; then
                            ARCH=""
                            EXT=$ext
                            found=1
  			else
  			    . $MATLABdefault/bin/util/arch.sh
  			    if [ -f $MATLABdefault/bin/$ARCH/matlab.$ext ]; then
  			        EXT=$ext
  			        found=1
  			    fi
			fi
		    fi
                fi
		if [ "$found" = "0" ]; then
                    arglist="$arglist $1"
		fi
                ;;
            *=*)
                lhs=`expr "$1" : '\([a-zA-Z0-9_]*\)=.*'`
                rhs=`expr "$1" : '[a-zA-Z0-9_]*=\(.*\)$'`
                arglist=`echo $arglist $lhs='"'$rhs'"'`
                ;;
	    *)
		arglist="$arglist $1"
		;;
	esac
	shift
    done
    ARCH_CHECK=1
#
# Check for errors
#
    if [ "$stat" != "OK" -a "$showenv" != "1" ]; then	# An error occurred.
#
        RCSREVISION=`echo "$RCSHEADER" | awk '{ print $2 }'`
#
        if [ "$stat" != "" ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo ""
    echo "    ${command}:  $stat"
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        fi
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo ""
    echo "    Usage:  $USAGE1"
    echo "            $USAGE2"
    echo "            $USAGE3"
    echo ""
    echo "    -h|-help             - Display arguments." 
    echo "    -n                   - Print environment variables only." 
    echo "    -arch                - Run MATLAB assuming architecture arch."
    echo "    -ext                 - Run the version of MATLAB with"
    echo "                           extension ext if it exists."
    echo "    -arch/ext            - Run the version of MATLAB with"
    echo "                           extension ext if it exists assuming"
    echo "                           architecture arch."
    echo "    -c licensefile       - Set LM_LICENSE_FILE to licensefile."
    echo "                           It can have the form port@host."
    echo "    -display Xserver     - Send X commands to Xserver."
    echo "    -debug               - Turn on some MATLAB internal debugging."
    echo "    -Ddebugger [options] - Startup matlab with debugger."
    echo ""
    echo "    Revision #: $RCSREVISION"
    echo ""
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        exit 1
    fi
#
# Determine what is set in the environment
#
    AUTOMOUNT_MAPenv="$AUTOMOUNT_MAP"
    DISPLAYenv="$DISPLAY"
    LM_LICENSE_FILEenv="$LM_LICENSE_FILE"
    TOOLBOXenv="$TOOLBOX"
    MATLABPATHenv="$MATLABPATH"
    XAPPLRESDIRenv="$XAPPLRESDIR"
    XKEYSYMDBenv="$XKEYSYMDB"
    SHELLenv="$SHELL"
#
# Set the defaults - MATLABdefault is determined above.
#
    AUTOMOUNT_MAPdefault=''
    DISPLAYdefault=''
    ARCHdefault=''
    LM_LICENSE_FILEdefault='$MATLAB/etc/license.dat'
    TOOLBOXdefault='$MATLAB/toolbox'
    MATLABPATHdefault=''
#
    NEW_X11=1
    XAPPLRESDIRdefault='$MATLAB/X11/app-defaults'
    XKEYSYMDBdefault='$MATLAB/X11/app-defaults/XKeysymDB'
#
    SHELLdefault='$SHELL'
#
    MATLAB_UTIL_DIRdefault=$MATLABdefault/bin/util
#
# Feature state variables
#
    NEW_NO54_SOL2=1
    NEW_NO5_SGI=1
#
#--------------------------------------------------------------------------
#
# Source file .matlab5rc.sh and get values for the following environment
# variables
#
#       MATLAB                  (MATLAB root directory)
#       AUTOMOUNT_MAP           (Path prefix map for automounting)
#       DISPLAY                 (DISPLAY variable for X Window System)
#       ARCH                    (machine architecture)
#       LM_LICENSE_FILE         (FLEXlm license file)
#       TOOLBOX                 (toolbox path)
#       MATLABPATH              (matlab search path)
#       XAPPLRESDIR             (X Application Resource Directory)
#       XKEYSYMDB               (X keysym Database file)
#       SHELL                   (which shell to use for ! in MATLAB)
#	LDPATH_PREFIX		(path(s) that appear at the start
#				 of the <final_load_library_path>)
#       <load_library_path>     (platform dependent)
#
# The search order for .matlab5rc.sh is:
#
#       .               (current directory)
#       $HOME           (users home directory)
#       $MATLAB/bin     (MATLAB bin directory)
#
    if [ -f .matlab5rc.sh ]; then
        SOURCED_DIR='.'
        SOURCED_DIReval=`pwd`
        . $cpath/.matlab5rc.sh
    elif [ -f $HOME/.matlab5rc.sh ]; then
        SOURCED_DIR='$HOME'
        SOURCED_DIReval=$HOME
        . $HOME/.matlab5rc.sh
    elif [ -f $MATLABdefault/bin/.matlab5rc.sh ]; then
#
# NOTE: At this point we will use the MATLAB determined earlier to
#       source the file. After that the value in that file if not
#       null will be used.
#
        SOURCED_DIR='$MATLAB/bin'
        SOURCED_DIReval=$MATLABdefault/bin
        . $MATLABdefault/bin/.matlab5rc.sh
    else
        SOURCED_DIR=
        MATLAB_UTIL_DIR=$MATLAB_UTIL_DIRdefault
#
# arch.sh requires MATLAB - save temporarily
#
        MATLABsave="$MATLAB"
        MATLAB="$MATLABdefault"
#
        . $MATLAB_UTIL_DIR/arch.sh
        if [ "$ARCH" = "unknown" ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo ''
    echo '^G    Sorry! We could not determine the machine architecture for your'
    echo '           host. Please contact:'
    echo ''
    echo '               MathWorks Technical Support'
    echo ''
    echo '           for further assistance.'
    echo ''
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            exit 1
        fi
        MATLAB="$MATLABsave"
#
	ARCHdefault=$ARCH
    fi
#
# Determine the final values for the following variables
#
#       MATLAB                    (MATLAB root directory)
#       AUTOMOUNT_MAP             (Path prefix map for automounting)
#       DISPLAY                   (DISPLAY variable for X Window System)
#       ARCH                      (machine architecture)
#       LM_LICENSE_FILE           (FLEXlm license file)
#       TOOLBOX                   (toolbox path)
#       MATLABPATH                (matlab search path)
#       XAPPLRESDIR               (X Application Resource Directory)
#       XKEYSYMDB                 (X keysym Database file)
#       MATLAB_DEBUG		  (name of the debugger from -Ddebugger argument)
#       SHELL                     (which shell to use for ! in MATLAB)
#       <final_load_library_path> (platform dependent)
#
    rcfile='r '
    environ='e '
    script='s '
    argument='a '
    rcfilep='rs'
    environp='es'
#
# Sourced a .matlab5rc.sh file
#
    if [ "$SOURCED_DIR" != "" ]; then
	if [ "$AUTOMOUNT_MAP" != "" ]; then
	    if [ "$MATLAB" != "$MATLABdefault" -a "$AUTOMOUNT_MAPenv" != "" ]; then
                AUTOMOUNT_MAPmode="$environ"
	    else
                AUTOMOUNT_MAPmode="$rcfile"
	    fi
	else
            AUTOMOUNT_MAPmode="$script"
	    AUTOMOUNT_MAP="$AUTOMOUNT_MAPdefault"
	fi
#
        if [ "$MATLAB" != "" ]; then
            MATLABmode="$rcfile"
        else
            MATLABmode="$script"
            MATLAB="$MATLABdefault"
        fi
        if [ "$AUTOMOUNT_MAP" != "" ]; then
            MATLAB=`echo $MATLAB $AUTOMOUNT_MAP | awk '
                {if (substr($1,1,length($2)) == $2)
                     if (NF == 4)                               # a -> b
                         print $NF substr($1,length($2) + 1)
                     else                                       # a ->
                         print substr($1,length($2) + 1)
                     else
                         print $1}'`
        fi
#
	if [ "$display" != "" ]; then
            DISPLAYmode="$argument"
	    DISPLAY="$display"
	elif [ "$DISPLAY" != "" ]; then
	    if [ "$DISPLAYenv" = "$DISPLAY" ]; then
                DISPLAYmode="$environ"
	    else
                DISPLAYmode="$rcfile"
	    fi
	else
            DISPLAYmode="$script"
	    DISPLAY="`eval echo $DISPLAYdefault`"
	fi
#
	if [ "$ARCH" != "" ]; then
            ARCHmode="$rcfile"
	else
            ARCHmode="$script"
	    ARCH="$ARCHdefault"	
	fi
#
	if [ "$licensefile" != "" ]; then
	    LM_LICENSE_FILE="$licensefile"
            LM_LICENSE_FILEmode="$argument"
	elif [ "$LM_LICENSE_FILE" != "" ]; then
	    LM_LICENSE_FILE="`eval echo $LM_LICENSE_FILE`"
	    if [ "$LM_LICENSE_FILEenv" = "$LM_LICENSE_FILE" ]; then
                LM_LICENSE_FILEmode="$environ"
	    else
                LM_LICENSE_FILEmode="$rcfile"
	    fi
	else
            LM_LICENSE_FILEmode="$script"
	    LM_LICENSE_FILE="`eval echo $LM_LICENSE_FILEdefault`"
	fi
#
	if [ "$TOOLBOX" != "" ]; then
	    if [ "$TOOLBOXenv" = "$TOOLBOX" ]; then
                TOOLBOXmode="$environ"
	    else
                TOOLBOXmode="$rcfile"
	    fi
	else
            TOOLBOXmode="$script"
	    TOOLBOX="`eval echo $TOOLBOXdefault`"
	fi
#
	if [ "$XAPPLRESDIR" != "" ]; then
	    XAPPLRESDIR="`eval echo $XAPPLRESDIR`"
	    if [ "$XAPPLRESDIRenv" = "$XAPPLRESDIR" ]; then
                XAPPLRESDIRmode="$environ"
	    else
                XAPPLRESDIRmode="$rcfile"
	    fi
	else
            XAPPLRESDIRmode="$script"
	    XAPPLRESDIR="`eval echo $XAPPLRESDIRdefault`"
	fi
#
	if [ "$XKEYSYMDB" != "" ]; then
	    XKEYSYMDB="`eval echo $XKEYSYMDB`"
	    if [ "$XKEYSYMDBenv" = "$XKEYSYMDB" ]; then
                XKEYSYMDBmode="$environ"
	    else
                XKEYSYMDBmode="$rcfile"
	    fi
	else
            XKEYSYMDBmode="$script"
	    XKEYSYMDB="`eval echo $XKEYSYMDBdefault`"
	fi
#
        if [ "$MATLABPATH" != "" ]; then
	    if [ "$MATLABPATHenv" = "$MATLABPATH" ]; then
                MATLABPATHmode="$environp"
	    else
                MATLABPATHmode="$rcfilep"
	    fi
        else
            MATLABPATHmode="$script"
	    MATLABPATH="`eval echo $MATLABPATHdefault`"
        fi
#
	if [ "$MATLAB_DEBUG" = "" ]; then
	    MATLAB_DEBUG=
            MATLAB_DEBUGmode="$script"
	else
            MATLAB_DEBUGmode="$argument"
	fi
#
	if [ "$SHELL" != "" ]; then
	    if [ "$SHELLenv" = "$SHELL" ]; then
                SHELLmode="$environ"
	    else
                SHELLmode="$rcfile"
	    fi
	else
            SHELLmode="$script"
	    SHELL="`eval echo $SHELLdefault`"
	fi
    else
	if [ "$AUTOMOUNT_MAPenv" != "" ]; then
    	    AUTOMOUNT_MAPmode="$environ"
	    AUTOMOUNT_MAP="$AUTOMOUNT_MAPenv"
	else
    	    AUTOMOUNT_MAPmode="$script"
	    AUTOMOUNT_MAP="$AUTOMOUNT_MAPdefault"
	fi
	MATLABmode="$script"
        if [ "$AUTOMOUNT_MAP" != "" ]; then
            MATLAB=`echo $MATLABdefault $AUTOMOUNT_MAP | awk '
                {if (substr($1,1,length($2)) == $2)
                     if (NF == 4)                               # a -> b
                         print $NF substr($1,length($2) + 1)
                     else                                       # a ->
                         print substr($1,length($2) + 1)
                     else
                         print $1}'`
	else
	    MATLAB="$MATLABdefault"
        fi
	if [ "$display" != "" ]; then
            DISPLAYmode="$argument"
	    DISPLAY="$display"
	else
            DISPLAYmode="$environ"
	    DISPLAY="$DISPLAYenv"
	fi
        ARCHmode="$script"
	ARCH="$ARCHdefault"
	if [ "$licensefile" != "" ]; then
	    LM_LICENSE_FILE="$licensefile"
            LM_LICENSE_FILEmode="$argument"
	else
            LM_LICENSE_FILEmode="$script"
	    LM_LICENSE_FILE="`eval echo $LM_LICENSE_FILEdefault`"
	fi
	TOOLBOXmode="$script"
	TOOLBOX="`eval echo $TOOLBOXdefault`"
        XAPPLRESDIRmode="$script"
	XAPPLRESDIR="`eval echo $XAPPLRESDIRdefault`"
        XKEYSYMDBmode="$script"
	XKEYSYMDB="`eval echo $XKEYSYMDBdefault`"
        if [ "$MATLABPATHenv" != "" ]; then
            MATLABPATHmode="$environp"
	    MATLABPATH="$MATLABPATHenv"
	else
            MATLABPATHmode="$script"
	    MATLABPATH="`eval echo $MATLABPATHdefault`"
	fi
	if [ "$MATLAB_DEBUG" = "" ]; then
	    MATLAB_DEBUG=
            MATLAB_DEBUGmode="$script"
	else
            MATLAB_DEBUGmode="$argument"
	fi
        SHELLmode="$environ"
	SHELL="$SHELLenv"
    fi
#
# Check rc_file
#
    if [ "$SOURCED_DIR" = '.' ]; then
	check_rc_file $cpath/.matlab5rc.sh
    elif [ "$SOURCED_DIR" = '$HOME' ]; then
	check_rc_file $HOME/.matlab5rc.sh
    fi
#
# Determine which version of MATLAB to run.
#
    PROGRAM=`program $ARCH $EXT`
#
#--------------------------------------------------------------------------
#
    rcfile='r '
    environ='e '
    script='s '
    argument='a '
    rcfilep='rs'
    environp='es'
#
# Determine the java vm path for each platform.
#
    case "$ARCH" in
	sol2)
	    JARCH="sparc"
	    ;;
	sgi)
	    JARCH="sgi"
	    ;;
	hp700)
	    JARCH="PA_RISC"
	    ;;
	*)
	    JARCH=$ARCH
	    ;;
    esac

    JAVA_VM_PATH="$MATLAB/java/vm/$ARCH/lib/$JARCH/native_threads:$JAVA_HOME/lib/$JARCH/native_threads"

#
# Determine <final_load_library_path> for each platform
#
    case "$ARCH" in
	sun4|sol2|alpha|lnx86)
	    LD_LIBRARY_PATH="`eval echo $LD_LIBRARY_PATH`"
	    LDPATH_MATLAB=$MATLAB/sys/os/$ARCH:$MATLAB/bin/$ARCH:$MATLAB/extern/lib/$ARCH:$MATLAB/windu/$ARCH:$JAVA_VM_PATH
	    if [ "$LD_LIBRARY_PATH" != "" ]; then
		LD_LIBRARY_PATH=$LDPATH_MATLAB:$LD_LIBRARY_PATH
                LD_LIB_PATHmode="$rcfilep"
	    else
		LD_LIBRARY_PATH=$LDPATH_MATLAB
                LD_LIB_PATHmode="$script"
	    fi
	    if [ "$LDPATH_PREFIX" != "" ]; then
	        LDPATH_PREFIX="`eval echo $LDPATH_PREFIX`"
	        if [ "$LDPATH_PREFIX" != "" ]; then
                    LD_LIBRARY_PATH=$LDPATH_PREFIX:$LD_LIBRARY_PATH
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    if [ "$LDPATH_SUFFIX" != "" ]; then
	        LDPATH_SUFFIX="`eval echo $LDPATH_SUFFIX`"
	        if [ "$LDPATH_SUFFIX" != "" ]; then
                    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LDPATH_SUFFIX
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    export LD_LIBRARY_PATH
	    ;;
	hp700)
	    SHLIB_PATH="`eval echo $SHLIB_PATH`"
	    LDPATH_MATLAB=$MATLAB/sys/os/$ARCH:$MATLAB/bin/$ARCH:$MATLAB/extern/lib/$ARCH:$MATLAB/windu/$ARCH:$JAVA_VM_PATH
	    if [ "$SHLIB_PATH" != "" ]; then
		SHLIB_PATH=$LDPATH_MATLAB:$SHLIB_PATH
                LD_LIB_PATHmode="$rcfilep"
	    else
		SHLIB_PATH=$LDPATH_MATLAB
                LD_LIB_PATHmode="$script"
	    fi
	    if [ "$LDPATH_PREFIX" != "" ]; then
	        LDPATH_PREFIX="`eval echo $LDPATH_PREFIX`"
	        if [ "$LDPATH_PREFIX" != "" ]; then
                    SHLIB_PATH=$LDPATH_PREFIX:$SHLIB_PATH
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    if [ "$LDPATH_SUFFIX" != "" ]; then
	        LDPATH_SUFFIX="`eval echo $LDPATH_SUFFIX`"
	        if [ "$LDPATH_SUFFIX" != "" ]; then
                    SHLIB_PATH=$SHLIB_PATH:$LDPATH_SUFFIX
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    export SHLIB_PATH
	    ;;
	ibm_rs)
	    LIBPATH="`eval echo $LIBPATH`"
            if [ "matlab.$EXT" = "$PROGRAM" -a -f $MATLAB/bin/$ARCH/$EXT/matlab ]; then
		LDPATH_MATLAB=$MATLAB/sys/os/$ARCH:$MATLAB/bin/$ARCH/$EXT:$MATLAB/bin/$ARCH:$MATLAB/extern/lib/$ARCH:$MATLAB/windu/$ARCH:$JAVA_VM_PATH
            else
                LDPATH_MATLAB=$MATLAB/sys/os/$ARCH:$MATLAB/bin/$ARCH:$MATLAB/extern/lib/$ARCH:$MATLAB/windu/$ARCH
            fi
	    LDPATH_SYSTEM=/usr/lib:/lib
	    if [ "$LIBPATH" != "" ]; then
		LIBPATH=$LDPATH_MATLAB:$LIBPATH:$LDPATH_SYSTEM
                LD_LIB_PATHmode="$rcfilep"
	    else
		LIBPATH=$LDPATH_MATLAB:$LDPATH_SYSTEM
                LD_LIB_PATHmode="$script"
	    fi
	    if [ "$LDPATH_PREFIX" != "" ]; then
	        LDPATH_PREFIX="`eval echo $LDPATH_PREFIX`"
	        if [ "$LDPATH_PREFIX" != "" ]; then
                    LIBPATH=$LDPATH_PREFIX:$LIBPATH
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    if [ "$LDPATH_SUFFIX" != "" ]; then
	        LDPATH_SUFFIX="`eval echo $LDPATH_SUFFIX`"
	        if [ "$LDPATH_SUFFIX" != "" ]; then
                    LIBPATH=$LIBPATH:$LDPATH_SUFFIX
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    export LIBPATH
	    ;;
	sgi)
	    LD_LIBRARY_PATH="`eval echo $LD_LIBRARY_PATH`"
	    LDPATH_MATLAB=$MATLAB/sys/os/$ARCH:$MATLAB/bin/$ARCH:$MATLAB/extern/lib/$ARCH:$MATLAB/windu/$ARCH:$JAVA_VM_PATH
	    if [ "$LD_LIBRARY_PATH" != "" ]; then
		LD_LIBRARY_PATH=$LDPATH_MATLAB:$LD_LIBRARY_PATH
                LD_LIB_PATHmode="$rcfilep"
	    else
		LD_LIBRARY_PATH=$LDPATH_MATLAB
                LD_LIB_PATHmode="$script"
	    fi
	    if [ "$LDPATH_PREFIX" != "" ]; then
	        LDPATH_PREFIX="`eval echo $LDPATH_PREFIX`"
	        if [ "$LDPATH_PREFIX" != "" ]; then
                    LD_LIBRARY_PATH=$LDPATH_PREFIX:$LD_LIBRARY_PATH
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    if [ "$LDPATH_SUFFIX" != "" ]; then
	        LDPATH_SUFFIX="`eval echo $LDPATH_SUFFIX`"
	        if [ "$LDPATH_SUFFIX" != "" ]; then
                    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LDPATH_SUFFIX
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    export LD_LIBRARY_PATH
	    ;;
	sgi64)
	    LD_LIBRARY64_PATH="`eval echo $LD_LIBRARY64_PATH`"
	    LDPATH_MATLAB=$MATLAB/sys/os/$ARCH:$MATLAB/bin/$ARCH:$MATLAB/extern/lib/$ARCH:$MATLAB/windu/$ARCH:$JAVA_VM_PATH
	    if [ "$LD_LIBRARY64_PATH" != "" ]; then
		LD_LIBRARY64_PATH=$LDPATH_MATLAB:$LD_LIBRARY64_PATH
                LD_LIB_PATHmode="$rcfilep"
	    else
		LD_LIBRARY64_PATH=$LDPATH_MATLAB
                LD_LIB_PATHmode="$script"
	    fi
	    if [ "$LDPATH_PREFIX" != "" ]; then
	        LDPATH_PREFIX="`eval echo $LDPATH_PREFIX`"
	        if [ "$LDPATH_PREFIX" != "" ]; then
                    LD_LIBRARY64_PATH=$LDPATH_PREFIX:$LD_LIBRARY64_PATH
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    if [ "$LDPATH_SUFFIX" != "" ]; then
	        LDPATH_SUFFIX="`eval echo $LDPATH_SUFFIX`"
	        if [ "$LDPATH_SUFFIX" != "" ]; then
                    LD_LIBRARY64_PATH=$LD_LIBRARY64_PATH:$LDPATH_SUFFIX
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    export LD_LIBRARY64_PATH
	    ;;
	*)
	    LD_LIBRARY_PATH="`eval echo $LD_LIBRARY_PATH`"
	    LDPATH_MATLAB=$MATLAB/sys/os/$ARCH:$MATLAB/bin/$ARCH:$MATLAB/extern/lib/$ARCH
	    if [ "$LD_LIBRARY_PATH" != "" ]; then
		LD_LIBRARY_PATH=$LDPATH_MATLAB:$LD_LIBRARY_PATH
                LD_LIB_PATHmode="$rcfilep"
	    else
		LD_LIBRARY_PATH=$LDPATH_MATLAB
                LD_LIB_PATHmode="$script"
	    fi
	    if [ "$LDPATH_PREFIX" != "" ]; then
	        LDPATH_PREFIX="`eval echo $LDPATH_PREFIX`"
	        if [ "$LDPATH_PREFIX" != "" ]; then
                    LD_LIBRARY_PATH=$LDPATH_PREFIX:$LD_LIBRARY_PATH
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    if [ "$LDPATH_SUFFIX" != "" ]; then
	        LDPATH_SUFFIX="`eval echo $LDPATH_SUFFIX`"
	        if [ "$LDPATH_SUFFIX" != "" ]; then
                    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LDPATH_SUFFIX
                    LD_LIB_PATHmode="$rcfilep"
		fi
	    fi
	    export LD_LIBRARY_PATH
	    ;;
    esac
#--------------------------------------------------------------------------
#
# On Alpha, set unaligned access control to produce a bus error.
#
    if [ "$ARCH" = "alpha" ]; then
# To fix unaligned accesses and attempt to continue, use the following line
# instead:
#       uac p noprint
        uac p nofix noprint sigbus
    fi
#
#--------------------------------------------------------------------------
#
# SHELL must currently be defined. (problem showed up on sol2)
#
    if [ "$SHELL" = "" ]; then 
        SHELLmode="$script"
	SHELL="/bin/sh"
    fi
#
#--------------------------------------------------------------------------
#
# Add any 'DEMO' licenses in $MATLAB/etc unless -c option is used
#
    if [ "$license" = "1" ]; then
        if [ "$LM_LICENSE_FILEmode" != "$argument" ]; then
	    demolist=`ls $MATLAB/etc/license.dat.DEMO* 2>/dev/null`
            if [ "$demolist" != "" ]; then
	        for demofile in $demolist
	        do
		    LM_LICENSE_FILE="$LM_LICENSE_FILE:$demofile"
	        done
            fi
        fi
    fi
#--------------------------------------------------------------------------
#
# Be sure that X sees the Matlab Resource Database (X11/R5).
#
# The critical thing that can block access to the $XAPPLRESDIR/Matlab
# database is the existence of the XUSERFILESEARCHPATH variable. If
# it exists then it does NOT automatically use $XAPPLRESDIR/Matlab even if
# it is not part of the XUSERFILESEARCHPATH path variable.
#
    if [ "$XUSERFILESEARCHPATH" != "" ]; then
        XAPPLRESDIRmode="$environp"
	XUSERFILESEARCHPATH=$XUSERFILESEARCHPATH:$XAPPLRESDIR/%N
	export XUSERFILESEARCHPATH
    fi
#
    BASEMATLABPATH=$MATLABPATH; export BASEMATLABPATH
#
#--------------------------------------------------------------------------
#
# Add on $HOME/matlab if available and $MATLAB/toolbox/local
#

    if [ -d $HOME/matlab ]; then
	MATLABPATH=$MATLABPATH:$HOME/matlab
    fi
    MATLABPATH=$MATLABPATH:$MATLAB/toolbox/local
#
# Remove any leading ":" character from the path. Can't use awk
# here because it fails on very long paths.
#
    MATLABPATH=`echo $MATLABPATH | sed 's/^://'`
#
#--------------------------------------------------------------------------
#
# Check OS version
#
    if [ -f $MATLAB_UTIL_DIR/oscheck.sh ]; then
	. $MATLAB_UTIL_DIR/oscheck.sh
	if [ "$oscheck_status" = "1" ]; then
	    exit 1
	fi
    fi
#
#--------------------------------------------------------------------------
#
    if [ "$showenv" = "1" ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    (
    echo '------------------------------------------------------------------------'
	if [ "$SOURCED_DIR" != "" ]; then
    echo "->      (.matlab5rc.sh) sourced from directory (DIR = $SOURCED_DIR)"
    echo "->      DIR = $SOURCED_DIReval"
	else
    echo "->      (.matlab5rc.sh) not found."
	fi
    echo '------------------------------------------------------------------------'
    echo '        a = argument  e = environment  r = rcfile  s = script'
    echo '------------------------------------------------------------------------'
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo "->  $MATLABmode  MATLAB              = $MATLAB"
    echo "->  $AUTOMOUNT_MAPmode  AUTOMOUNT_MAP       = $AUTOMOUNT_MAP"
    echo "->  $DISPLAYmode  DISPLAY             = $DISPLAY"
    echo "->  $ARCHmode  ARCH                = $ARCH"
    echo "->  $LM_LICENSE_FILEmode  LM_LICENSE_FILE     = $LM_LICENSE_FILE"
    echo "->  $TOOLBOXmode  TOOLBOX             = $TOOLBOX"
	if [ "$XUSERFILESEARCHPATH" != "" ]; then
    echo "->  $XAPPLRESDIRmode  XUSERFILESEARCHPATH = $XUSERFILESEARCHPATH"
	else
    echo "->  $XAPPLRESDIRmode  XAPPLRESDIR         = $XAPPLRESDIR"
	fi
    echo "->  $XKEYSYMDBmode  XKEYSYMDB           = $XKEYSYMDB"
    echo "->  $MATLAB_DEBUGmode  MATLAB_DEBUG        = $MATLAB_DEBUG"
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	case "$ARCH" in
	    sun4|sol2|alpha|lnx86)
    echo "->  $LD_LIB_PATHmode  LD_LIBRARY_PATH     = $LD_LIBRARY_PATH"
		;;
	    hp700)
    echo "->  $LD_LIB_PATHmode  SHLIB_PATH          = $SHLIB_PATH"
		;;
	    ibm_rs)
    echo "->  $LD_LIB_PATHmode  LIBPATH             = $LIBPATH"
		;;
	    sgi)
    echo "->  $LD_LIB_PATHmode  LD_LIBRARY_PATH     = $LD_LIBRARY_PATH"
		;;
	    sgi64)
    echo "->  $LD_LIB_PATHmode  LD_LIBRARY64_PATH   = $LD_LIBRARY64_PATH"
		;;
	    *)
    echo "->  $LD_LIB_PATHmode  LD_LIBRARY_PATH     = $LD_LIBRARY_PATH"
		;;
	esac
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo "->  $argument  arglist             = $arglist"
    echo "->  $SHELLmode  SHELL               = $SHELL"
    echo "->  e   PATH                = $PATH"
    echo " "
    echo "->  $MATLABPATHmode  MATLABPATH          = (initial version)"
	if [ "$MATLABPATH" != "" ]; then
	    for dir in `echo $MATLABPATH | tr ':' ' '`
	    do
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo "	$dir"
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    done
	fi
#
    echo " "
        if [ -f $MATLAB/bin/$ARCH/$PROGRAM -a -f $MATLAB/bin/ldd ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo '->      $MATLAB/bin/'"$ARCH/$PROGRAM shared library information -"
    echo "|-----------------------------------------------------------------------"
            $MATLAB/bin/ldd $MATLAB/bin/$ARCH/$PROGRAM 2>/dev/null | awk '{ print "| " $0 }'
    echo "|-----------------------------------------------------------------------"
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        fi
#
    echo " "
    echo '->      $MATLAB/toolbox/local/pathdef.m -'
    echo "|-----------------------------------------------------------------------"
	if [ -f $MATLAB/toolbox/local/pathdef.m ]; then
	    cat $MATLAB/toolbox/local/pathdef.m | awk '{ print "| " $0 }'
	else
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo '    Warning: $MATLAB/toolbox/local/pathdef.m not found . . .'
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	fi
    echo "|-----------------------------------------------------------------------"
#
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo '------------------------------------------------------------------------') | more
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	exit 0
    fi
#
# Export the variables
#
    export MATLAB
    export AUTOMOUNT_MAP
    export DISPLAY
    export ARCH
    export LM_LICENSE_FILE
    export TOOLBOX
    export MATLABPATH
    export XAPPLRESDIR
    export XKEYSYMDB
    export MATLAB_DEBUG
    export SHELL
#
    check_license
    if [ $? -ne 0 ]; then
	exit 1
    fi
#
    if [ ! -d $MATLAB/bin/$ARCH ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo ''
    echo '    matlab: No MATLAB bin directory for this machine architecture.'
    echo ''       
    echo "           ARCH = $ARCH" 
    echo ''
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        exit 1
    fi
#
    if [ ! -f $MATLAB/bin/$ARCH/$PROGRAM ]; then
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo ''
    echo "	matlab: No MATLAB executable for this machine architecture."
    echo ''       
    echo "           $MATLAB/bin/$ARCH/$PROGRAM does not exist!"
    echo ''
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        exit 1
    fi
#
    . $MATLAB/bin/util/syscheck.sh
#
# Fully evaluate the MATLAB executable path to handle cases when the
# name of executable must be matlab. The only known problems are
# on ibm_rs.
#
    if [ "$ARCH" != "ibm_rs" ]; then
        exec_path=$MATLAB/bin/$ARCH/$PROGRAM
    else
        exec_path=`actualpath $MATLAB/bin/$ARCH/$PROGRAM`
    fi
#
    case "$ARCH" in
        sun4|sol2|hp700|ibm_rs|alpha|sgi|sgi64)
	    if [ -d $MATLAB/rtw/bin/$ARCH ]; then
	        PATH=$MATLAB/rtw/bin/$ARCH:$PATH; export PATH
	    fi
            if [ "$debugger" != "" ]; then
                if [ "$MATLAB_DEBUG" = "gdb" -o "$MATLAB_DEBUG" = "xxgdb" ]; then
                    SHELL=/bin/sh; export SHELL
                fi
		exec $debugger $exec_path $arglist
            else
		exec $exec_path $arglist
            fi
	    ;;
        *)
            if [ "$debugger" != "" ]; then
                if [ "$MATLAB_DEBUG" = "gdb" -o "$MATLAB_DEBUG" = "xxgdb" ]; then
                    SHELL=/bin/sh; export SHELL
                fi
		exec $debugger $exec_path $arglist
            else
		exec $exec_path $arglist
            fi
	    ;;
    esac
