*******************************************************************************
*                                                                             *
*                              LEDA 3.0                                       *
*                                                                             *
*                            INSTALLATION                                     *
*                                                                             *
*******************************************************************************


In this file I use <LEDA> to denote the path name of the LEDA main 
directory. It should contain the following files and subdirectories: 

README                    informations about LEDA
INSTALL                   this file
Changes                   most recent changes (Please read it!)
Makefile                  make script
incl/                     LEDA include directory
src/                      LEDA source files
prog/                     example programs
man/                      user manual (TeX)


LEDA can be used with almost any AT&T and GNU C++ compiler. It is developed 
and testet with cfront-2.0, cfront-2.1, cfront-3.0.1, g++-1.37, g++-1.40, 
g++-2.2, and g++-2.3


Currently, the template version (LEDA-3.0) can be used with cfront 3.0.1 
and g++-2.3. Note however that there are still many bugs in the template 
implementation of g++-2.3 (see Problems/gnu-2.3). In particular, there are 
problems with function templates that further make the use of the 
"LEDA_TYPE_PARAMETER" macro necessary for non-simple type parameters.

For compilers not supporting templates there is a non-template variant "LEDA-N"
available whose parameterized data types are based on declare-macros as in
the previous LEDA versions.


1. COMPILING
-------------

   You have to make the following libraries (cf. user manual section 1.9) :

   libL.a             main  library
   libG.a             graph library
   libP.a             plane library
   libWx.a/libWs.a    xview/sunview window library  (optional)


   a)  go to the LEDA main directory
       cd <LEDA>

   b)  Create a symbolic link "c++" to your C++ compiler
          ln -s /usr/local/bin/g++  c++  
       or ln -s /bin/CC  c++

       If using g++ (version > 2) you also have to make a link "gcc" to the 
       GNU C compiler: 
          ln -s /usr/local/bin/gcc gcc

   c)  Type "make".




2. INSTALLATION 
----------------

a) Header Files
  
   All LEDA header files are contained in "<LEDA>/incl/LEDA".
   You have to copy this directory to the C++ default include 
   directory, e.g., 

   AT&T CC:  cp -r <LEDA>/incl/LEDA /usr/include/CC

   GNU g++:  cp -r <LEDA>/incl/LEDA /usr/local/lib/g++-include     



b) Libraries

   Copy the libraries to /usr/lib  or /usr/local/lib 
   and run ranlib, e.g.,  

   AT&T CC: cp <LEDA>/lib*.a /usr/lib
            ranlib /usr/lib/lib[L,G,P,W]*.a

   GNU g++: cp <LEDA>/lib*.a /usr/local/lib
            ranlib /usr/local/lib/lib[L,G,P,W]*.a
 


   Then the -l option  can be used to compile and link programs
   (see section 1.9 of the user manual):

   CC (g++)  prog.c -lL
   CC (g++)  prog.c -lG -lL          (for programs using graph data types)
   CC (g++)  prog.c -lP -lG -lL -lm  (for programs using geometric data types)

   for programs using windows:
   CC (g++)  prog.c -lP -lG -lL -lWx -lxview -lolgx -lX11 -lm
   CC (g++)  prog.c -lP -lG -lL -lWs -lsuntool -lsuntool -lpixrect -lm



REMARK:

   If you cannot write "/usr/(local/)include" and "/usr/(local/)lib"
   on your system, you have to use the -I and -L compiler flags to 
   compile LEDA programs:

   CC (g++) -I<LEDA>/incl -L<LEDA>  ...




3. EXAMPLE PROGRAMS
-------------------

   Example programs can be found on  <LEDA>/prog, to compile them 
   you have to use the following libraries:

   <LEDA>/prog/basic:    -lL
   <LEDA>/prog/graph:    -lG -lL
   <LEDA>/prog/plane:    -lP -lG -lL -lm

   <LEDA>/prog/graphics: 

   xview    (see Makefile.xview)
                          -lP -lG -lL -lWx -lxview -lolgx -lX11 -lm 

   sunview  (see Makefile.sunview)
                          -lP -lG -lL -lWs -lsunwindow -lsuntool -lpixrect -lm 



4. GRAPH ALGORITHMS
-------------------

   The source code for all graph algorithms (included in libG.a) can be 
   found on <LEDA>/src/graph_alg



5. USER MANUAL
--------------

   <LEDA>/man contains the TeX sources for the LEDA user manual.
   To make MANUAL.dvi call "tex MANUAL" in this directory, probably you
   have to change the values of "\hoffset" and "\voffset" in "MANUAL.mac". 
   The man directory also contains a simple interactive manual reader:
   csh-script "Lman". To use it you must have installed "gawk" or a 
   compatible awk version, in the "Lman" script you have to set variable 
   "awk_cmd" to the name of your awk command and variable "man_dir" to 
   the name of the LEDA man directory on your machine.


