			  Scilab version 2.2
                          ******************
			   29 February 1996

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

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

To use Scilab, you need to fill and return the end of the file notice.tex 
or notice.ps (postscript file). You may use email.

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

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

I - TO INSTALL SCILAB
*********************

 A - IF YOU HAVE A COMPILED VERSION
 ----------------------------------
   Simply do, in Scilab directory:
	make
  
 B - IF YOU HAVE 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 (a.out and ELF).

   You need X Window (X11R4, X11R5 or X11R6), Athena Widgets libraries, 
   C compiler and fortran compiler.

   1 - Configure your system by issuing the following command in the Scilab 
       directory:
	./configure

       This will create modify a few Makefile and other files for your system.
       You can give options to configure command, see below.

   2 - Do in the Scilab directory:
	make all

       This will compile Scilab and set everything.

   Configure options:
   ------------------
	-enable-debug: compile with "-g" option and don't optimize

	-with-gcc: use gcc C compiler (note that the compilation options
          have not been tested on all machines, see C below)

	-with-g77: use g77 fortran compiler (note that the compilations
          options have not been tested on all machines, see C below)

	-with-gnu: use gcc C compiler and g77 fortran compiler (note that 
          the compilation options have not been tested on all machines, 
          see C below)

	-with-local-Xaw: compile and use Athena Widgets libraries given 
          with Scilab (don't use then for X11R4); configure chooses local
          Athena Widgets library when needed, so the use of this option is not
          recommanded (see below KNOWN PROBLEMS 3).

 C _ CHANGING THE COMPILATION OPTIONS (source version only)
 ------------------------------------
    You may want to change the options used to compile Scilab, names of the
    compilers, compilation options, linker options, and so on; you can easily 
    do that.

    The main Makefile of Scilab includes "Makefile.incl" and 
    "Makefile.<machine>":
      "Makefile.incl" contains all the compilation options
      "Makefile.<machine>" is only used for the link of the executable 
          "scilex" of Scilab

   The file "Makefile.incl" is included by all the Makefiles of the 
   distribution, so it is THE place where you can change compilation 
   options (it is self documented).

   Note that "Makefile.incl" is automatically generated by "configure"
   from "Makefile.incl.in", so your modifications of "Makefile.incl" are
   discarded every time you run "configure". 
   Users knowing the way "configure" works may want to modify directly the 
   "configure" file.
   Even more, users knowing the way "autoconf" works may want to modify 
   the "configure.in" file and then run "autoconf" (version 2.7) to generate
   the "configure" file.

 D - CUSTOMIZING YOUR SCILAB
 ---------------------------
   1 - If you want to recompile Scilab after modifications, execute only 
       the "make all" command in Scilab directory (source version only).

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

   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 - Note that C routines are not ANSI.

   1 - If there is something wrong when you open the scilab window 
       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 or X11R6, these libraries are 
       provided for convenience with Scilab.
       "configure" tries first to find existing Athena Widgets libraries.
       If none are found and X Window release is not X11R4, it uses
       local Athena Widgets libraries. Otherwise an error is issued.
       You can impose the use of local Athena Widgets libraries by using
       the option "-with-local-Xaw" with "configure".

       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 email:
       
                          Scilab@inria.fr

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

Run Scilab by executing "scilab" (shell script in bin).

If the name of the directory of Scilab distribution is not the same on 
your machine than on the machine where Scilab was installed, define the
environment variable SCI to point to the directory of Scilab distribution.
In a sh like shell, do:
 SCI=<name of the directory>
 export SCI
In a csh like shell, do:
 setenv SCI <name of the directory>

******************************************************************************
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 
compressed postscript documentation by anonymous ftp on
"ftp.inria.fr:/INRIA/Projects/Meta2/Scilab/doc" (internet# 192.93.2.54).

Internals.ps.Z
Intersci.ps.Z
Intro.ps.Z
Lmi.ps.Z
Manual.ps.Z
Metanet.ps.Z
Signal.ps.Z

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

scilab.star: startup file for Scilab: instructions in this file
             are executed when Scilab is executed. Note that
             you can also have your own startup file ".scilab"
             in your current directory.

configure.in: used by "autoconf 2.7" to generate "configure"

configure:

Makefile.incl.in: the file used by configure to generate Makefile.incl.

Makefile.incl: the file included by all Makefile. It is automatically 
               generated by configure.

Path.incl: contains the scilab directory pathname. It is included by 
            scripts/Makefile. This file is automatically generated by 
            configure.

Version.incl: contains the scilab version. It is included by a few Makefile.

Makefile.in: the file used by configure to generate Makefile.

Makefile: the main Makefile to make Scilab. It is automatically generated by
           configure.

Makefile.<host>: Makefile included by main Makefile. It depends on the host
                 and is used to created the executable bin/scilex.

config/   : directory used by configure

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 and LaTeX manual.

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 routines

stack.h    : this file is included in many fortran programs of subdirectories
             of "routines".

Directory 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 routines/default by your own code, or use 
shell command "scilab -link <object-files>" (type "scilab -help" for 
help).

******************************************************************************
VII - ORIGIN OF CODE
********************

    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
******************************************************************************
