- Changes to */Makefile.in triggered by stupid automake-version-thingie.
[ginac.git] / INSTALL
1 Prerequisites
2 =============
3
4 GiNaC requires the CLN library by Bruno Haible, available at either
5 one of the following FTP-sites:
6   * <ftp://ftp.santafe.edu/pub/gnu/>,
7   * <ftp://ftp.ilog.fr/pub/Users/haible/gnu/> or
8   * <ftp://ftpthep.physik.uni-mainz.de/pub/gnu/>.
9 You will also need a decent ANSI-compliant C++-compiler.  We use
10 `post-EGCS' GCC, i.e GCC >= 2.95 for development so if you have a
11 different compiler you are on your own.  Note that you may have to use
12 the same compiler you compiled CLN with because of differing
13 name-mangling schemes.
14
15 Optionally, GiNaC may work together with Masaharu Goto's C++
16 interpreter cint (which requires that you register for commercial
17 use).  You may obtain it from
18   * <ftp://root.cern.ch/root/>.
19 Install it by following the instructions included in Cint's
20 distribution before trying to compile GiNaC-cint.  (See section
21 `Working with the Cint C++ interpreter' below.)
22
23
24 Installation
25 ============
26
27 As with any autoconfiguring GNU software, installation is as easy as this:
28
29  $ ./configure
30  $ make
31  $ make check
32 [become root if necessary]
33  $ make install
34
35 Known to work with:
36   - Linux/x86, EGCS-1.1.2 or GCC 2-95.1/2-95.2
37
38 The "configure" script can be given a number of options to enable and
39 disable various features. For a complete list, type:
40
41  $ ./configure --help
42
43 A few of the more important ones:
44
45  --prefix=PREFIX        install architecture-independent files in PREFIX
46                         [defaults to /usr/local]
47  --exec-prefix=EPREFIX  install architecture-dependent files in EPREFIX
48                         [defaults to the value given to --prefix]
49  --disable-shared       suppress the creation of a shared version of libginac
50
51 More detailed installation instructions can be found in the documentation,
52 in the doc/ directory.
53
54 The time the "make" step takes depends heavily on optimization levels.
55 Large amounts of memory (>128MB) will be required by the compiler,
56 also depending on optimization.  To give you a rough idea of what you
57 have to expect the following table may be helpful.  It was measured on
58 a P-III/500MHz with "enough" memory:
59
60 step:         | GCC optimization level:  | comment:
61               |  -O0   |  -O1   |  -O2   |
62 --------------+--------+--------+--------+-------------------------------
63 make          |  ~4m   |  ~6m   |  ~10m  | building shared and static lib
64 make check    |  ~2m   |  ~2m   |  ~7m   | mostly due to compilation
65
66
67 Problems with CLN
68 =================
69
70 You should use at least CLN V1.0.3, since during the development of
71 GiNaC various bugs have been discovered and fixed in earlier versions.
72 To protect you, the "configure" script checks for a feature that was
73 added in V1.0.3 so it won't continue with earlier versions anyhow.
74 Please install CLN properly on your system before continuing with
75 GiNaC.
76
77
78 Working with the Cint C++ interpreter
79 =====================================
80
81 The interface to the Cint C++ interpreter is currently in an alpha
82 state.  Please see <http://root.cern.ch/root/Cint.html> to learn about
83 Cint and install it before installing ginaccint.  For the tool
84 makecint to work properly it must know where Cint has its system
85 directory.  This is usually done by exporting $CINTSYSDIR to point to
86 the proper place.  With GiNaC you may either try to export that
87 variable and type
88  $ ./configure --with-cint
89 or specify it on the command line saying
90  $ ./configure --with-cint=/my/path/to/cintsysdir
91 Good luck!
92
93   Known to work with:  |  Known not to work with:   
94 -----------------------+----------------------------
95   Cint 5.14.26         |  Cint 5.14.29