]> www.ginac.de Git - cln.git/blobdiff - INSTALL
Finalize CLN 1.3.7 release.
[cln.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index f0ccf99f0fc1c7cf898230bb02b9c840ad2e6ca7..c61aa918f6a2d608ad8de031aa5a1f80cfbdbe33 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,41 +1,94 @@
-Installation:
+Prerequisites.
 =============
 
-As with any autoconfiguring GNU software, installation is as easy as this:
+C++11-compliant C++ compiler. GNU C++ compiler (version >= 4.8.1) is recommend.
+Non-GNU compilers might not work at the moment.
+
+GNU multiprecision library (http://gmplib.org), version > 4.0.
+
+[Optional] To build CLN documentation texinfo and TeX are necessary.
+
+If you install CLN from git, you also need 
+
+git itself (http://git-scm.com), version >= 1.5.0
+GNU autoconf (http://www.gnu.org/software/autoconf), version >= 2.63
+GNU libtool  (http://www.gnu.org/software/libtool), version >= 1.5
+GNU automake (http://www.gnu.org/software/automake), version >= 1.11
+
+Installation from a source .tar.bz2 distribution.
+================================================
 
 $ ./configure
 $ make
 $ make check
-$ make install
+[ become root if necessary ]
+# make install
+
+To build the manual in PDF, HTML, or PostScript formats, use one of
+
+$ make pdf
+$ make html
+$ make ps
+
+To compile and run CLN's test suite and check whether the library was
+compiled correctly you can use
+
+$ make check
+
+The "configure" script can be given a number of options to enable and
+disable various features. Most useful ones are:
+
+--prefix=DIR
+
+Install CLN into the directory DIR (default: /usr/local).
+
+--with-gmp
 
-You need GNU make. On HP-UX, you also need GNU sed.
+Use GNU multiprecision library (default: yes, if available)
 
-Known to work with:
-  - Linux/x86, gcc-2.7.0, gcc-2.7.2, gcc-2.8.0, egcs-1.1, gcc-2.95
-  - Solaris 2.4 (sparc), gcc-2.7.0, gcc-2.7.2, egcs-1.1, gcc-2.95
-  - OSF/1 V4.0 (alpha), egcs-1.1, gcc-2.95
-  - Irix 5.3, CC 4
+--disable-static
 
-The "make" step takes about 4 hours, on a 486 DX / 33 MHz / 8 MB.
+Don't build static version of CLN library. This option is useful if
+want to reduce the build time (and you don't need the static library).
 
-On Linux, g++ needs 15 MB to compile the tests. So better have
-17 MB swap space and 1 MB room in $TMPDIR.
+For a complete list, run:
 
-If you use gcc and g++ version 2.7.x, don't add -O2 to the CXXFLAGS, because
-"g++ -O" generates better code for libcln.a than "g++ -O2".
+$ ./configure --help
 
-If you use g++ version 2.8.x or egcs-2.91.x (a.k.a. egcs-1.1) or gcc-2.95.x,
-I recommend adding "-fno-exceptions" to the CXXFLAGS. This will likely
-generate better code.
 
-If you use g++ version egcs-2.91.x (egcs-1.1) or gcc-2.95.x on Sparc, add
-either "-O", "-O1" or "-O2 -fno-schedule-insns" to the CXXFLAGS. With full 
-"-O2", g++ miscompiles the division routines. Also, if you have g++ version
-egcs-1.1.1 or older on Sparc, you must specify --disable-shared because g++
-would miscompile parts of the library.
+Installation from git.
+=====================
+
+1. Download the code.
+
+Initial download:
+
+$ git clone git://www.ginac.de/cln.git
+
+Later on you can update your copy with
+
+$ git pull
+
+2. Make sure all required software is installed. This is *really*
+important step. If some package is missing, the ‘configure’ script might
+be misgenerated,
+
+3. Run
+
+$ ./autogen.sh
+
+to generate the ‘configure’ script, and proceed in a standard way, i.e.
+
+$ ./configure
+$ make
+[become root if necessary]
+# make install
+
+On some platforms (arm, hppa, sparc), problems with the assembler routines
+have been reported. It may be best to add "-DNO_ASM" to CPPFLAGS before
+configuring:
 
-On MIPS (SGI Irix 6), pass option "--without-gmp" to configure. gmp does
-not work when compiled in "n32" binary format on Irix.
+$ ./configure CPPFLAGS=-DNO_ASM
 
 More detailed installation instructions can be found in the documentation,
 in the doc/ directory.