]> www.ginac.de Git - cln.git/blobdiff - INSTALL
Minor fixes for recent CLang.
[cln.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index e0da44622e2bef1d470f5f37f4acc9464fb7096c..8eca4fdc583750b8368f9718d51bb22f79bd19b5 100644 (file)
--- a/INSTALL
+++ b/INSTALL
-Installation:
+Prerequisites.
 =============
 
-As with any autoconfiguring GNU software, installation is as easy as this:
+ANSI-compliant C++ compiler. GNU C++ compiler (version >= 3.4) is recommend.
+Non-GNU compilers might not work at the moment.
+
+GNU multiprecision library (http://gmplib.org), version > 4.0 (older 3.x
+versions might work too).
+
+[Optional] To build CLN documentation texinfo and TeX are necessary.
+
+If you install CLN from git, you also need 
+
+git itself (http://git.or.cz), version >= 1.5.0
+GNU autoconf (http://www.gnu.org/software/autoconf), version >= 2.59
+GNU libtool  (http://www.gnu.org/software/libtool), version >= 1.5
+GNU automake (http://www.gnu.org/software/automake), version >= 1.8
+
+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
+
+Use GNU multiprecision library (default: yes, if available)
+
+--disable-static
+
+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).
+
+For a complete list, run:
+
+$ ./configure --help
+
+
+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
+
+$ autoreconf -iv
+
+to generate the `configure' script, and proceed in a standard way, i.e.
+
+$ ./configure
+$ make
+[become root if necessary]
+# make install
 
-You need GNU make. On HP-UX, you also need GNU sed.
+CLN is known to work with:
+=========================
 
-Known to work with:
-  - Linux/x86, gcc-2.95.x, gcc-3.[0-3]
-  - Linux/ia64, gcc-2.96, gcc-3.[2-3]
-  - Linux/arm, gcc-2.95.3, gcc-3.[0-3]
-  - Linux/sparc, gcc-2.95.3, gcc-3.[1-3]
-  - Linux/alpha, gcc-2.95.x, gcc-3.[0-3]
-  - Linux/powerpc, gcc-2.95.x, gcc-3.[0-3]
-  - Solaris 2.4 (sparc), gcc-2.95, gcc-3.[1-3]
-  - OSF/1 V4.0 (alpha), gcc-2.95, gcc-3.1
-  - Irix 6.5, gcc-2.95.x, gcc-3.0
-  - BeOS, gcc-2.95.x
+  - Linux/x86, gcc-3.x, gcc-4.[0-5].x
+  - Linux/x86_64, gcc-3.[3-4], gcc-4.[0-6].x, clang-2.8
+  - Linux/ia64, gcc-3.[2-4], gcc-4.[0-4].x
+  - Linux/arm, gcc-3.[0-3] (*), gcc-4.[0-4].x (*)
+  - Linux/mips, gcc-3.3, gcc-4.[0-4].x
+  - Linux/sparc, gcc-3.[1-3], gcc-4.[0-2].x
+  - Linux/alpha, gcc-3.[0-3], gcc-4.[0-2].x
+  - Linux/powerpc, gcc-3.[0-3], gcc-4.[0-4].x
+  - Linux/hppa, gcc-4.2.x (*)
+  - Solaris 2.4 (sparc), gcc-3.[1-3], gcc-4.[0-2].x (*)
+  - OSF/1 V4.0 (alpha), gcc-3.1
+  - Irix 6.5, gcc-3.0
+  - OS X Leopard (x86), gcc 4.0.1
+  - Windows/32-bit, MSVC 16.00.30319.01
 
-The "make" step takes about 1 hour, on a P-II / 400 MHz / 256 MB.
+(*) On these platforms, problems with the assembler routines have been
+reported. It may be best to add "-DNO_ASM" to CPPFLAGS before
+configuring.
 
-If you use g++ gcc-2.95.x or gcc-3.x, I recommend adding "-fno-exceptions" 
-to the CXXFLAGS. This will likely generate better code.
+Using gcc-4.2, the "make" step takes about 15 minutes, on an x86_64 / 2 GHz.
 
 If you use g++ from gcc-3.0.4 or older on Sparc, add either "-O", "-O1" or
 "-O2 -fno-schedule-insns" to the CXXFLAGS. With full "-O2", g++ miscompiles
-the division routines. If you use g++ older than 2.95.3 on Sparc you should
-also specify --disable-shared because of bad code produced in the shared
-library. Also, do not use gcc-3.0 on Sparc for compiling CLN, it won't work
-at all.
-
-If you use g++ on OSF/1 or Tru64 using gcc-2.95.x, you should specify
---disable-shared because of linker problems with duplicate symbols in shared
-libraries.  If you use g++ from gcc-3.0.n with n larger than 1, you should
-not add -fno-exceptions to the CXXFLAGS, since that will generate wrong code
-(gcc-3.1 is okay again, as is gcc-3.0).
+the division routines. Do not use gcc-3.0 on Sparc for compiling CLN, it
+won't work at all.
 
 More detailed installation instructions can be found in the documentation,
 in the doc/ directory.