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 <cvc3dir>/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 <prefix>/include/cvc3. It 00189 installs the library libcvc3 in <exec_prefix>/lib and the executable cvc3 in 00190 <exec_prefix>/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 */