INSTALL

Go to the documentation of this file.
00001 /*!\page INSTALL INSTALL
00002 
00003 <h2>
00004 Quick Start
00005 </h2>
00006 
00007 To build CVC3, do the following in the root directory of the CVC3
00008 distribution:
00009 
00010 <pre>
00011    ./configure
00012    make
00013 </pre>
00014 
00015 If this fails, read the next section for more information.
00016 
00017 A successful make creates a library libcvc3 in the lib directory and an
00018 executable cvc3 in the bin directory (these are actually links to
00019 the actual files which are stored in architecture and configuration-dependent
00020 subdirectories).
00021 
00022 By default, make creates optimized code, static libraries, and a static
00023 executable.  To build the "debug" version (much slower but more error checking)
00024 use:
00025 
00026 <pre>
00027    ./configure --with-build=debug
00028 </pre>
00029 
00030 To build shared libraries (and thus a much smaller executable), use:
00031 
00032 <pre>
00033   ./configure --enable-dynamic
00034 </pre>
00035 
00036 Be sure to set LD_LIBRARY_PATH to &lt;cvc3dir&gt;/lib when using shared libraries.
00037 
00038 Alternatively, these and other options can be changed by editing the
00039 Makefile.local file after running configure.  However, be aware that re-running
00040 configure will overwrite any changes you have made to Makefile.local.
00041 
00042 The subdirectory test contains an example program using the library
00043 libcvc3.  To try it out, do the following:
00044 
00045 <pre>
00046    cd test
00047    make
00048    bin/test
00049 </pre>
00050 
00051 <h2>
00052 Advanced Configuration
00053 </h2>
00054 
00055 The configure script checks for the components needed to build CVC3.  If for
00056 some reason, the configure script is missing or doesn't run on your platform,
00057 you can recreate it from configure.ac by running autoconf.
00058 
00059 As the configure script runs, if something is not found, it complains.
00060 configure looks for components in standard locations and also uses several
00061 environment variables that you can set to help it find things.  In particular,
00062 you can set CPPFLAGS to -I<I>includeDir</I> if you have headers in a
00063 nonstandard directory and LDFLAGS to -L<I>libDir</I> if you have libraries in a
00064 nonstandard directory.  Run ./configure --help for a list of all such
00065 environment variables.
00066 
00067 <h3>
00068 GMP
00069 </h3>
00070 
00071 One of the components CVC3 depends on is the GNU Multiple Precision (GMP)
00072 library.  If you do not have GMP installed, we recommend that you do so:
00073 
00074 1. Download the GMP source code from http://swox.com/gmp/
00075 
00076 2. Unpack the sources, and from the root-directory of the GMP source code, run
00077 
00078 <pre>
00079    ./configure 
00080    make
00081 </pre>
00082 
00083    On some Solaris machines, you may need to configure GMP with
00084   
00085 <pre>
00086    ./configure ABI=32
00087 </pre>
00088 
00089    to make the resulting GMP library compatible with the CVC3
00090    libraries.  The reason for this is that the default ABI that gcc
00091    chooses in CVC3 compilation is not necessarily the default ABI
00092    that the GMP configure script selects, and one of them may need to be
00093    adjusted.
00094 
00095 3. Now, either install GMP system-wide (make install), or supply the
00096    appropriate values for CPPFLAGS and LDFLAGS to the CVC3 configure script.
00097 
00098 If for some reason, you do not want to use GMP, you can configure CVC3 to use
00099 native arithmetic by running:
00100 
00101 <pre>
00102    ./configure --with-arith=native
00103 </pre>
00104 
00105 If you compile CVC3 with native arithmetic, it is possible that CVC3 may fail
00106 as the result of arithmetic overflow.  If an overflow occurs, you will get
00107 an error message and CVC3 will abort.
00108 
00109 <h3>
00110 Other Configuration Options
00111 </h3>
00112 
00113 Other configuration options include where to install the results of "make
00114 install" (see below), what type of build to use (optimized, debug, gprof, or
00115 gcov), and whether to use static or dynamic libraries.  For help on these
00116 options, type
00117 
00118 <pre>
00119    ./configure --help
00120 </pre>
00121 
00122 configure creates the file Makefile.local which stores all of the configuration
00123 information.  If you want to customize your build without rerunning configure,
00124 or if you want to customize it in a way that configure does not allow, you can
00125 do it by editing Makefile.local.  For example, you can build a debug, gprof
00126 version by editing Makefile.local and setting OPTIMIZED to 0 and GPROF to 1 (by
00127 default, gprof runs with an optimized executable).  Note that for most
00128 configuration options, the objects, libraries, and executables are stored in a
00129 configuration-dependent directory, with only symbolic links being stored in the
00130 main bin and lib directories.  This allows you to easily maintain multiple
00131 configurations and multiple platforms using the same source tree.
00132 
00133 <h4>
00134 Additional make options:
00135 </h4>
00136 
00137 To rebuild dependencies, type:
00138 
00139 <pre>
00140    make depend
00141 </pre>
00142 
00143 To remove just the executable or libraries in the current configuration, type:
00144 
00145 <pre>
00146    make spotty
00147 </pre>
00148 
00149 To remove in addition all object files and makefile dependencies for the
00150 current configuration, type:
00151 
00152 <pre>
00153    make clean
00154 </pre>
00155 
00156 To remove all files that are not part of the distribution (including all
00157 object, library, ane executables built for any configuration or platform),
00158 type:
00159 
00160 <pre>
00161    make distclean
00162 </pre>
00163 
00164 To build a tarball distribution of the currenct source tree, type:
00165 
00166 <pre>
00167    make dist
00168 </pre>
00169 
00170 
00171 <h2>
00172 Installing CVC3
00173 </h2>
00174 
00175 To install CVC3 system-wide, (assuming you have already run autoconf and
00176 configure) run:
00177 
00178 <pre>
00179 
00180    make install
00181 
00182 </pre>
00183 
00184 Installation depends on two configuration options: prefix and exec_prefix.  By
00185 default, both are set to /usr/local, but these can be overridden by specifying
00186 the correct arguments to configure or by editing Makefile.local.
00187 
00188 Installation copies all necessary header files to &lt;prefix&gt;/include/cvc3.  It
00189 installs the library libcvc3 in &lt;exec_prefix&gt;/lib and the executable cvc3 in
00190 &lt;exec_prefix&gt;/bin.  By default, a shared library and executable are installed.
00191 If you want to install static versions, configure for a static build as
00192 described above.
00193 
00194 <h2>
00195 Documentation
00196 </h2>
00197 
00198 To build HTML documentation, run
00199 
00200 <pre>
00201 
00202    make doc
00203 
00204 </pre>
00205 
00206 Then open doc/html/index.html in your favorite browser.
00207 
00208 <h2>
00209 Getting help
00210 </h2>
00211 
00212 If you find a problem with the instructions in this installation guide, please
00213 send email to cvc-bugs@cs.nyu.edu.
00214 
00215 */

Generated on Tue Jul 3 14:33:37 2007 for CVC3 by  doxygen 1.5.1