added something about functions with variable number of arguments
[ginac.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 3730e91c0489aaf8c329e6bbb316ecc0fbf2cc0e..f5d6635dd4e29db599b2b49530736f33879f4c67 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,23 +1,14 @@
 PREREQUISITES
 =============
 
 PREREQUISITES
 =============
 
-GiNaC requires the CLN library by Bruno Haible, available from either
-one of the following FTP-sites:
-  * <ftp://ftp.santafe.edu/pub/gnu/>,
-  * <ftp://ftp.ilog.fr/pub/Users/haible/gnu/> or
-  * <ftp://ftpthep.physik.uni-mainz.de/pub/gnu/>.
-You will also need a decent ANSI-compliant C++-compiler.  We use
-`post-EGCS' GCC, i.e GCC >= 2.95 for development so if you have a
-different compiler you are on your own.  Note that you may have to use
-the same compiler you compiled CLN with because of differing
-name-mangling schemes.
-
-Optionally, GiNaC may work together with Masaharu Goto's free C++
-interpreter Cint.  You may obtain it from
-  * <ftp://root.cern.ch/root/>.
-Install it by following the instructions included in Cint's
-distribution before trying to compile GiNaC-cint.  (See section
-`Working with the Cint C++ interpreter' below.)
+GiNaC requires the CLN library by Bruno Haible installed on your system.
+It is available from <ftp://ftpthep.physik.uni-mainz.de/pub/gnu/>.
+
+You will also need a decent ANSI-compliant C++-compiler.  We recommend
+the C++ compiler from the GNU compiler collection, GCC >= 3.0.  If you
+have a different or older compiler you are on your own.  Note that you
+may have to use the same compiler you compiled CLN with because of
+differing name-mangling schemes.
 
 
 INSTALLATION
 
 
 INSTALLATION
@@ -29,12 +20,13 @@ As with any autoconfiguring GNU software, installation is as easy as this:
  $ make
  $ make check
 [become root if necessary]
  $ make
  $ make check
 [become root if necessary]
$ make install
# make install
 
 Known to work with:
 
 Known to work with:
-  - Linux/x86, EGCS-1.1.x and GCC 2-95.x
+  - Linux on x86, Alpha and Sparc using GCC 3.0.x, 3.1 and 3.2.
 Known not to work with:
 Known not to work with:
-  - GCC 2.7.x or earlier because proper exception support is missing there.
+  - GCC 2.96 or earlier because proper exception and standard library support
+    is missing there.
 
 The "configure" script can be given a number of options to enable and
 disable various features. For a complete list, type:
 
 The "configure" script can be given a number of options to enable and
 disable various features. For a complete list, type:
@@ -56,13 +48,13 @@ The time the "make" step takes depends heavily on optimization levels.
 Large amounts of memory (>128MB) will be required by the compiler,
 also depending on optimization.  To give you a rough idea of what you
 have to expect the following table may be helpful.  It was measured on
 Large amounts of memory (>128MB) will be required by the compiler,
 also depending on optimization.  To give you a rough idea of what you
 have to expect the following table may be helpful.  It was measured on
-a P-III/500MHz with "enough" memory:
+an Athlon/800MHz with "enough" memory:
 
 
-step:         | GCC optimization level:  | comment:
-              |  -O0   |  -O1   |  -O2   |
---------------+--------+--------+--------+-------------------------------
-make          |  ~4m   |  ~6m   |  ~10m  | building shared and static lib
-make check    |  ~3m   |  ~3m   |  ~7m   | mostly due to compilation
+step          | GCC optimization  | comment
+              |   -O1   |   -O2   |
+--------------+---------+---------+----------------------------------------
+make          |   ~6m   |   ~8m   | shared and static library
+make check    |   ~8m   |  ~12m   | largely due to compilation
 
 
 COMMON PROBLEMS
 
 
 COMMON PROBLEMS
@@ -71,10 +63,8 @@ COMMON PROBLEMS
 Problems with CLN
 -----------------
 
 Problems with CLN
 -----------------
 
-You should use at least CLN V1.0.3, since during the development of
+You should use at least CLN-1.1, since during the development of
 GiNaC various bugs have been discovered and fixed in earlier versions.
 GiNaC various bugs have been discovered and fixed in earlier versions.
-To protect you, the "configure" script checks for a feature that was
-added in V1.0.3 so it won't continue with earlier versions anyhow.
 Please install CLN properly on your system before continuing with
 GiNaC.
 
 Please install CLN properly on your system before continuing with
 GiNaC.
 
@@ -88,28 +78,10 @@ libreadline and maybe libreadline-dev.  If your system's vendor
 doesn't supply such packages, go to <ftp://ftp.gnu.org/gnu/readline/>
 and compile it yourself.
 
 doesn't supply such packages, go to <ftp://ftp.gnu.org/gnu/readline/>
 and compile it yourself.
 
+Problems with missing standard header files
+-------------------------------------------
 
 
-Working with the Cint C++ interpreter
-=====================================
-
-Please see <http://root.cern.ch/root/Cint.html> to learn about Cint
-and install it prior to installing ginaccint.  For the interpreter-
-compiler `makecint' to work properly, the Makefiles need to know where
-Cint has its system directory.  This is usually done by exporting
-$CINTSYSDIR to point to the proper place.  With GiNaC you may either
-try to export that variable and type
- $ ./configure --with-cint
-or specify it directly on the command line by saying
- $ ./configure --with-cint=/my/path/to/cintsysdir
-This variable does not have to be exported for running the installed
-binary: since the actual program is started by a launcher that sets it.
-Enjoy!
-
-Here is an overview to gives you an idea if you can expect GiNaC-cint
-to compile, install and work properly:
-
- Cint version | how it works
---------------+----------------------------------------------------------
- < 5.14.39    | `VERBOTEN' by license (please bite your favorite lawyer)
- < 5.14.39,40 | compiles but does not feel happy at all (inconsistent!)
-   5.14.41    | tested on egcs 1.1.1, gcc 2.95.2: only minor weirdnesses
+Building GiNaC requires many standard header files.  If you get a
+configure error complaining about such missing files your compiler and
+library are probably not up to date enough and it's no worth
+continuing.