			      Scilab version 2.1.1
			      ********************
                                  11 April 1995

******************************************************************************
			      INSTALLATION GUIDE
******************************************************************************

0 - COPYRIGHT NOTICE
********************

To use Scilab, you need to fill and return the end of the file notice.tex 
(TeX version to be compiled) or notice.ps (postscript file).
You may also use e-mail.

******************************************************************************

In the following, all the paths are relative to the Scilab directory 
(scilab-2.1.1 directory).

I - TO COMPILE AND INSTALL SCILAB
*********************************

 A - IF YOU GET A COMPILED VERSION
 ---------------------------------
   1 - Change the variable SCIDIR in the file Path.incl to make sure that 
       this variable is the path of the Scilab directory 
       (scilab-2.1.1 directory).

   2 - Execute only "make" command in the sub-directory "scripts".
  
 B - IF YOU GET A SOURCE VERSION
 -------------------------------
   This distribution has been tested on the following machines:
    HP9000, SUN Sparcstation (Sun OS and Solaris 5.*), IBM RS6000, DEC mips, 
    DEC alpha, SGI (IRIX 5.2) and PC linux.

   You need X Window (X11R4 or X11R5), xmkmf (a script shell for creating 
    a Makefile from an Imakefile), C compiler and fortran compiler (or f2c).
   If you run X11R4, you also need Athena Widgets libraries libXaw.a and
   libXmu.a   

   1 - Change the variable SCIDIR in the file Path.incl to make sure that 
       this variable is the path of the Scilab directory 
       (scilab-2.1.1 directory).

       If you run X11R4, edit file Imake.incl in the Scilab directory.

   2 - Execute the following commands in the Scilab directory:
	xmkmf
	make Makefiles 
	make depend
	make

     This will create new Makefiles for your system, make dependencies,
       compile Scilab and install it. 

 C - CUSTOMIZING YOUR SCILAB
 ---------------------------
   1 - If you want to recompile Scilab after modifications, execute only 
     the "make" command in Scilab directory.

     If you want to clean all executable, object files and libraries 
     and then recompile Scilab, execute the following commands:
	make distclean
	make

   2 - To print your postscript figures you may need to modify 
       the function macros/xdess/xbasimp.sci to specify
       your default printer.

   3 - Note that the functions macros/util/edit and 
        macros/util/manedit assume that your default editor 
        is emacs. You may change this (or explicitly specify your
        editor when you invoke these functions).

   4  - COLOR RESOURCES: if you want to change the colors of your 
	customization you need to modify the files in the subdirectory 
	X11_defaults (essentially the Xscilab file) or to copy the same
        color resources in your personal resource file (home directory).

******************************************************************************
II - KNOWN PROBLEMS
*******************
   0 - C routines are not ANSI. Add a specific option if your C compiler
       is ANSI (e.g.  gcc -traditional).

   1 - If there is something wrong when you open the scilab window 
       then check your .Xdefault file.

   2 - The fortran compiler version 1.3.1 of SUN Sparcstations has a bug:
       reading or writing (with implicit loop) arrays  bigger than 4096 
       elements does not work. This may cause Scilab to abort.
       The solution is to upgrade your fortran compiler, for instance get 
       version 1.4 (or use version 1.3.1 with object file "recio.o" from 
       newer version).

   3 - Athena widgets libraries libXaw.a and libXmu.a (and 
       corresponding include files) are not systematically
       provided in some X11 installations. 
       If you are under X11R5, these libraries are provided for convenience
       with Scilab and the default is to use them. If you want to use yours,
       see the file Imake.incl and comment the appropriate line.
       If you are under X11R4, you NEED to have these libraries and you 
       have to comment the appropriate lines in Imake.incl.

       On IBM RS6000 there exists a compatibility problem between the
       X11-Mit distribution and the IBM version. If your system runs the IBM
       X11 release you must use the IBM libXaw.a and libXmu.a libraries.

   4 - For DEC ALPHA station you must use the 3.4 version of the fortran 
       compiler (the 3.3 version aborts on floating point exceptions).
       You are encouraged to use the OSF 3.0 system release and the fortran
       3.5 release (the incremental link works fine as well as all the
       floating point exceptions).

   5 - For Dec MIPS Ultrix, programs to be incrementally linked should be 
       compiled with the option "-G 0".
   
   6 - If you have any problem or suggestion to improve Scilab
       send him an e-mail:
       
                          scilab@inria.fr

******************************************************************************
III - TO RUN SCILAB
*******************

Run Scilab by executing "scilab" (shell script in bin).
Use  "scilab -help" to get manual page for scilab command options.

******************************************************************************
IV - DOCUMENTATION
****************** 

In addition to Scilab online documentation (obtained by typing "help item" or
"apropos keyword" or clicking on the help button), you will find 
documentation in:
		doc/intro (compressed file intro.ps.Z) and 
		man/LaTex-doc (compressed file Docu.ps.Z).

******************************************************************************
V - CONTENT OF THE DIRECTORIES
******************************

Main Directory (SCIDIR)

scilab.star: startup file for Scilab: instructions in this file
               are executed when Scilab is launched. This file is 
               made automatically by the main Makefile.  Note that
               you can also define your own startup: the file ".scilab"
               is also executed upon running scilab in your current
               directory.

Imakefile: the main Imakefile.

Imake.incl: the file used by Imakefile. This file can be modified by the 
            user (with care!).
Path.incl : contains the scilab directory pathname, this file is included
            in Makefiles.

Makefile: the main Makefile to make Scilab, automatically generated by
           imake.

demos/    : demos directory. Some of the demos can be executed by clicking
            on the "demos" button.

macros/   : functions directory: this directory is divided into 
                subdirectories corresponding to specific topics
                (control, polynomials,...). Each subdirectory contains 
		the source code of the macros (files *.sci). 

xmetanet/ : Metanet routines.

geci/     : Geci (interprocess communication tool) routines.

libs/	  : directory of libraries: archives of object files needed 
             to link Scilab.

routines/ : directory of fortran or C routines. Divided into subdirectories
             (see below).

doc/      : directory of documentation. Usually LaTeX files.

man/	  : man files.

tests/    : set of exec files to test Scilab.

util/     : useful routines and ASCII files to manage Scilab.

bin/	  : executable code and scripts.
		scilab  : shell-script to call Scilab and miscellaneous tools
                          execute scilab -help scilab for help.
		scilex  : executable code of Scilab.
		minfopr : shell script called by scilab -macro.
		scilink : shell script called by scilab -link.
                intersci: generator of interface program between Scilab and 
                          routines.

intersci/ : Generator of interface program between Scilab and routines.

maple/    : Maple code to link Maple with Scilab.

******************************************************************************
VI - TO CREATE YOUR OWN CUSTOMIZED SCILAB
*****************************************
----------------------------------
   USE YOUR OWN ROUTINES IN SCILAB
----------------------------------

Directory SCIDIR/routines

stack.h    : this file is included in many fortran programs of subdirectories
             of "SCIDIR/routines". The size of the internal Scilab stack is 
             defined here. This is given in the parameter vsiz. 
             You can change it.

Directory SCIDIR/routines/default

matusr.f   : interface to add your own commands to Scilab (see the help for
             "user" command).
interf.f   :interface for fast call to a fortran routine (see the "fort"
              command and the "link" command)
 
Other routines in this directory are used to interface external fortran
routines for use with the functions ode (non linear simulation), optim (non
linear optimization), intg (definite integrals), impl (implicit systems) and
schur (schur form with ordering defined by a fortran routine).
	
To use your own routines you need to replace the 
code .o in the directory SCIDIR/routines/default by your own code, or use 
shell command "scilab -link <object-files>" (type "scilab -help scilab" for 
help).

The libraries are the following:

    - system.a is the interpreter.
    - interf.a is the set of routines which interface the interpreter with
              the calculation routines.
    - system2.a is a set of utility routines for the interpreter.
    - control.a, signal.a, poly.a, optim.a, integ.a, sparse.a and calelm.a 
              are the routines for numerical calculations.
    - X11G.a  and xwindow.a are the routines for graphics.
    - sun.a contains specific routines for Unix (some of them are not 
              portable e.g. the incremental linking routines).
    - xsci.a contains routines which describes xwindow Scilab main window.
    - comm.a contains routines for interprocess communication.
    - metanet.a contains routines for Metanet. 
    - intersci.a contains routines for Intersci.
    - libXaw.a and libXmu.a are Athena widgets libraries (optional).
     
******************************************************************************
VII - ORIGIN OF CODE IN DIRECTORY "ROUTINES"
********************************************

    The contribution of many people is acknowledged (the following list
    is not exhaustive!).

X11G   : Scilab graphic routines by Jean-Philippe Chancelier (Cergrene Enpc).
calelm : BLAS + low level routines (INRIA).
control: LINPACK + EISPACK + INRIA routines.
         dsubsp and exchnqz : Paul van Dooren.
         rpoly : copyrighted by the ACM (alg. 493), which grants
                 general permission to distribute provided 
                 the copies are not made for direct commercial advantage. 
         lybsc, lydsr, lybad,sydsr and sybad are adapted from SLICE 
                (M. Denham).
         sszer: Emami-naeini, A. and van Dooren, P. (Automatica paper).
         syhsc: G.Golub, S.Nash, C.van Loan, Stanford University.
         rilac, ricd : A. Laub.
         dexpm1, pade, dclmat, coef, cerr, wexpm1, wpade, wclmat: J. Roche.
         polmc: adapted from P.Hr. Petkov, Sofia, Bulgaria.
         bdiag: adapted from Bavely and Stewart.
         ereduc,fstair: T. Beelen, P. Van Dooren.
default: Scilab routines (INRIA) for the user.
dld     :  is a library package of C functions that performs "dynamic link
        editing" from  Wilson Ho (how@cs.ucdavis.edu). It is used on 
        the linux version of scilab.
dynamic: Scilab routines for dynamic interfacing (INRIA).
integ  : routines from Odepack and Quadpack.
         dassl: L. Petzold (LLNL).
         hybrd: Minpack (ANL).
interf : Scilab interface with numerical libraries (INRIA).
metanet: routines for network analysis (Metanet, INRIA).
optim  : optimization routines (Modulopt library, INRIA).
         quapro: E. Casas Renteria & C. Pola Mendez (Universidad de Cantabria).
         semidef: L. Vandenberghe- S. Boyd code (sp.c, see copyright notice in
         /routines/optim).
poly   : Scilab polynomial library (INRIA).
signal : routines from IEEE Signal processing library.
sparse : Sparse 1.3 by Kenneth S. Kundert, Alberto Sangiovanni-Vincentelli and 
        the University of California (see Copyright notice in programs of 
        the "sparse" directory). Some operations are taken from
        TOMS 408 and 601.
sun    : system specific Scilab routines. 
         link.c is originated from a program written by Michael Fan and 
         provided by Andre Tits (University of Maryland).
         zzledt.c is from Mitchell and Gauthier ass.
system : basic routines of Scilab interpreter (INRIA). Inspired by
        "classic" Matlab of C. Moler.
system2: low level Scilab routines (INRIA).
X11    : optionnal Xaw and Xmu routines  (from mit X11 distribution)
xless  : Xless
xsci   : top level window and utilities using code from : xterm, xxgdb, xfig 
	 combined and modified by JPChancelier.
xwindow: Scilab menus (INRIA).
geci   : interprocess communication tool made by CalICo group from
         LaBRI (University of Bordeaux I, France).
******************************************************************************
			       THAT'S ALL FOLKS
******************************************************************************
