[678cfd] | 1 | MP version 1.1.2: Multi Protocol |
---|
| 2 | Kent State University, Kent, OH |
---|
| 3 | Authors: S. Gray, N. Kajler, P. Wang |
---|
| 4 | (C) 1993, 1994, 1995, 1996, 1997 All Rights Reserved |
---|
| 5 | |
---|
| 6 | INSTALLATION INSTRUCTIONS FOR MP |
---|
| 7 | ================================ |
---|
| 8 | |
---|
| 9 | This file contains instructions on how to install MP. For general |
---|
| 10 | information about MP and copying information, see the file 'README' |
---|
| 11 | contained in this directory. For comments, problems, or bugs, |
---|
| 12 | please send mail to mp@mcs.kent.edu. |
---|
| 13 | |
---|
| 14 | |
---|
| 15 | Basic Installation |
---|
| 16 | ================== |
---|
| 17 | |
---|
| 18 | The `configure' shell script in this directory attempts to guess |
---|
| 19 | correct values for various system-dependent variables used during |
---|
| 20 | compilation. It uses those values to create `Makefile's from the |
---|
| 21 | files 'Makefile.in' and the file 'MP/MP_Config.h' (which contains |
---|
| 22 | system-dependent definitions) from the file'MP/h/MP_Config.h.in'. |
---|
| 23 | Finally, it creates a shell script `config.status' that you can run |
---|
| 24 | to recreate the current configuration, a file `config.cache' that |
---|
| 25 | saves the results of its tests to speed up reconfiguring, and a file |
---|
| 26 | `config.log' containing output from `configure' (useful mainly for |
---|
| 27 | debugging `configure'). |
---|
| 28 | |
---|
| 29 | The file `configure.in' is used to create `configure' by a program |
---|
| 30 | called `autoconf'. You only need `configure.in' if you want to change |
---|
| 31 | it or regenerate `configure' using a newer version of `autoconf'. |
---|
| 32 | |
---|
| 33 | The simplest way to install MP is: |
---|
| 34 | |
---|
| 35 | 1. `cd' to the directory containing the MP's source code and type |
---|
| 36 | `./configure' to configure the package for your system. If you're |
---|
| 37 | using `csh' on an old version of System V, you might need to type |
---|
| 38 | `sh ./configure' to prevent `csh' from trying to execute |
---|
| 39 | `configure' itself. |
---|
| 40 | |
---|
| 41 | Running `configure' takes a while. While running, it prints some |
---|
| 42 | messages telling which features it is checking for. |
---|
| 43 | |
---|
| 44 | 2. Type `make install' to compile and install the gmp, MP, and MPT |
---|
[a708e0] | 45 | libraries and header files. The libraries will be installed in |
---|
| 46 | ./lib/<ARCH> where <ARCH> is an architecture-specific identifier |
---|
| 47 | (e.g., SUN4, SGI5). Similarly, executables are installed in |
---|
| 48 | ./bin/<ARCH>. You can customize what is built and where libraries, |
---|
| 49 | header files, and executables are installed by giving 'configure' |
---|
| 50 | appropriate options (see below). NOTE: If you do not have the header |
---|
| 51 | file 'gmp.h' installed in a standard location on your system, then |
---|
| 52 | a './configure' followed by a simple 'make' command will fail. You |
---|
| 53 | need to do './configure --enable-gmp' followed by 'make install'. |
---|
[678cfd] | 54 | |
---|
| 55 | 3. You can remove the program binaries and object files from the |
---|
| 56 | source code directory by typing `make clean'. To also remove the |
---|
[a708e0] | 57 | files that `configure' created, type `make distclean'. There is |
---|
| 58 | a `make maintainer-clean' target, but that is intended mainly for |
---|
| 59 | the package's developers. If you use it, you may have to install |
---|
| 60 | all sorts of other programs in order to regenerate files that came |
---|
| 61 | with the distribution. |
---|
| 62 | |
---|
| 63 | 4. To remake the library for a different architecture, login to the |
---|
| 64 | target machine and change directories to the MP source directory. |
---|
| 65 | You must remove the library object files and create new Makefiles. |
---|
| 66 | To do this, simply do a `make clean' in the top-level MP directory, |
---|
| 67 | followed by `rm config.cache' to remove the cache file created by |
---|
| 68 | configure. Finally, rerun configure with the same options you gave |
---|
| 69 | it on other machines followed by a `make' or `make install'. |
---|
| 70 | |
---|
| 71 | 5. Other make targets are: |
---|
[678cfd] | 72 | 'MP','libMP.a' : Creates the MP library only. |
---|
| 73 | 'MPT','libMPT.a' : Creates the MPT library only. |
---|
| 74 | 'examples' : Builds MP implementation examples. |
---|
| 75 | 'mpviewer' : Builds the mpviewer. |
---|
| 76 | 'mp-pvm3' : Builds an example mp-pvm implementation. |
---|
| 77 | 'dist' : Creates a distribution of all source files of MP. |
---|
| 78 | 'TAGS' : Creates/updates a tags table for MP's source files. |
---|
| 79 | 'uninstall' : Deletes all installed files that the 'install' |
---|
| 80 | target created (the library, header, info files) |
---|
| 81 | |
---|
| 82 | Compilers and Options |
---|
| 83 | ===================== |
---|
| 84 | |
---|
| 85 | You need an ANSI-C compiler for compiling MP. We recommend that you |
---|
| 86 | use the GNU C/C++ (gcc) compiler. If you have gcc installed on your |
---|
| 87 | system, configure will automatically find and use it for building |
---|
| 88 | MP. Otherwise, configure will try to find another ANSI-C compiler. To |
---|
| 89 | explicitly use an alternative compiler, or to set some unusual options |
---|
| 90 | for compilation or linking that the `configure' script does not know |
---|
| 91 | about, you can give `configure' initial values for variables by |
---|
| 92 | setting them in the environment. Using a Bourne-compatible shell, |
---|
| 93 | you can do that on the command line like this: |
---|
| 94 | |
---|
| 95 | CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure |
---|
| 96 | or |
---|
| 97 | CXX=CC CXXFLAGS=+O3 LIBS=-liostream ./configure |
---|
| 98 | |
---|
| 99 | Or on systems that have the `env' program, you can do it like this: |
---|
| 100 | |
---|
| 101 | env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure |
---|
| 102 | |
---|
| 103 | |
---|
| 104 | Installation Names |
---|
| 105 | ================== |
---|
| 106 | |
---|
| 107 | By default, `make install' will install the libraries in ./lib, and |
---|
| 108 | headers in ./include. You can specify an installation prefix other |
---|
| 109 | than the current directory by giving `configure' the option |
---|
| 110 | `--prefix=PATH'. You can specify an alternative directory where the |
---|
| 111 | libraries are installed by giving configure the option |
---|
| 112 | `--libdir=PATH'. For the header files, use '--includedir=PATH'. Make |
---|
| 113 | sure that PATH is an _absolute_ (_not_ a relative) pathname. |
---|
| 114 | |
---|
| 115 | |
---|
| 116 | Optional Features |
---|
| 117 | ================= |
---|
| 118 | |
---|
| 119 | MP's configure script pays attention to the following: |
---|
| 120 | |
---|
| 121 | `--disable-PACKAGE' option where PACKAGE can be: |
---|
| 122 | |
---|
| 123 | 'MPT' : Do not build the MPT (MP Tree) library and header files. MPT |
---|
| 124 | is a library for reading/manipulating memory representations |
---|
| 125 | of MP trees. By default MPT is built with MP and, on |
---|
| 126 | installation, the files MPT.h and libMPT.a are installed in |
---|
| 127 | the specified directories. |
---|
| 128 | |
---|
| 129 | 'gmp' : Do not build the GNU Multiple Precision (GMP) library and |
---|
| 130 | header file. GMP is a library for multiple precision integer |
---|
| 131 | and floating point arithmetic. Unless the option |
---|
| 132 | --without-gmp is given to configure (see below), building MP |
---|
| 133 | requires that the header file gmp.h has been installed |
---|
| 134 | _before_ the MP library is built. By default, the GMP |
---|
| 135 | library is installed before the MP library is built and on |
---|
| 136 | installation of GMP, the files gmp.h and libgmp.a are |
---|
| 137 | installed in the specified directories. |
---|
| 138 | |
---|
[a708e0] | 139 | |
---|
[678cfd] | 140 | `--enable-PACKAGE' option where PACKAGE can be: |
---|
| 141 | |
---|
| 142 | 'examples' : The distribution comes with some example implementations |
---|
[a708e0] | 143 | contained in the directory 'examples'. By default, the |
---|
| 144 | examples are not built when MP is built. Use this option |
---|
| 145 | to build the examples when MP is built. NOTE: Make sure |
---|
| 146 | that MP is installed before the examples are built. Also |
---|
| 147 | see the README file contained in the 'examples' directory. |
---|
[678cfd] | 148 | |
---|
| 149 | 'mpviewer': The distribution comes with an mpviewer implementation |
---|
| 150 | contained in the directory 'mpviewer'. By default, the |
---|
| 151 | mpviewer is not built when MP is built. Use this option |
---|
[a708e0] | 152 | to build the mpviewer when MP is built. NOTE: Make sure |
---|
| 153 | that MP is installed before the mpviewer is built. Also |
---|
| 154 | see the README file contained in the 'mpviewer' directory. |
---|
| 155 | |
---|
| 156 | 'mppvm' : The distribution comes with some pvm example implementations |
---|
| 157 | (demonstrating the use of the PVM transport device) contained |
---|
| 158 | in the directory 'mp-pvm3'. By default, the pvm examples are |
---|
| 159 | not built when MP is built. Use this option to build the pvm |
---|
| 160 | examples when MP is built. NOTE: Make sure that MP is installed |
---|
| 161 | before the examples are built. Also see the README file in the |
---|
| 162 | 'mp-pvm3' directory. If the pvm include files and libraries are |
---|
| 163 | not in standard places, you must be sure the PVM_ARCH and PVM_ROOT |
---|
| 164 | are set. Note also that if you use this option, you must also |
---|
| 165 | use the `--with-pvm' option (see below). |
---|
[678cfd] | 166 | |
---|
| 167 | |
---|
| 168 | `--without-PACKAGE' option where PACKAGE can be: |
---|
| 169 | |
---|
| 170 | 'gmp' : Build MP _without_ Put/Get routines for gmp numbers. By |
---|
| 171 | default, MP is built with routines to Put and Get gmp |
---|
| 172 | numbers. However, this requires the header file gmp.h to be |
---|
| 173 | installed. Use this option if you do not have or do not want |
---|
| 174 | to install this header file or have these routines included |
---|
| 175 | in the library. Note that this option is different from |
---|
| 176 | --disable-gmp, which indicates whether or not the gmp |
---|
| 177 | library is to be built. The --without option specifies that |
---|
| 178 | MP will not build routines for putting and getting gmp |
---|
| 179 | numbers. |
---|
| 180 | |
---|
| 181 | |
---|
| 182 | `--with-PACKAGE' option where PACKAGE can be: |
---|
| 183 | |
---|
| 184 | 'pari' : MP comes with routines which Put/Get (arbitrary precision) |
---|
| 185 | integers in the pari format. By default, MP is built |
---|
| 186 | without these routines. NOTE: You need to have the header |
---|
| 187 | file 'genpari.h' installed on your system to build MP |
---|
| 188 | with the pari routines and you need to link your |
---|
| 189 | application with the pari library. |
---|
| 190 | |
---|
| 191 | 'saclib': MP comes with routines which Put/Get (arbitrary precision) |
---|
| 192 | integers in the saclib format. By default, MP is built |
---|
| 193 | without these routines. NOTE: You need to have the header |
---|
| 194 | file 'saclib.h' and 'gmp.h' installed on your system to |
---|
| 195 | build MP with the saclib routines and you need to link |
---|
| 196 | your application with the saclib and gmp libraries. |
---|
| 197 | |
---|
| 198 | 'tb' : MP comes with a ToolBus device interface implementation. |
---|
| 199 | By default, MP is built without this device. NOTE: You |
---|
| 200 | need to have the header file 'TB.h' installed on your |
---|
| 201 | system to build MP with the ToolBus device and you need |
---|
| 202 | to link your application with the ToolBus library. |
---|
| 203 | |
---|
| 204 | 'pvm' : MP comes with a Pvm3 device interface implementation. By |
---|
| 205 | default, MP is built without this device. NOTE: You need |
---|
| 206 | to have the header file 'pvm3' installed on your system |
---|
| 207 | to build MP with the Pvm3 device and you need to link your |
---|
| 208 | application with the Pvm3 library. |
---|
| 209 | |
---|
| 210 | 'debug' : The libraries are built with debug options and logging of |
---|
| 211 | MP communications turned on. |
---|
| 212 | |
---|
| 213 | |
---|
| 214 | `--with-default_apint=PACKAGE' option where PACKAGE can be: |
---|
| 215 | |
---|
| 216 | 'gmp' : The gmp Put/Get routines are used as default routines to |
---|
| 217 | Put/Get arbitrary precision integers (default). Requires |
---|
| 218 | the header 'gmp.h' to be installed. |
---|
| 219 | 'pari' : The pari Put/Get routines are used as default routines to |
---|
| 220 | Put/Get arbitrary precision integers. Requires the header |
---|
| 221 | 'genpari.h' to be installed. |
---|
| 222 | 'saclib': The saclib Put/Get routines are used as default routines to |
---|
| 223 | Put/Get arbitrary precision integers. Requires the headers |
---|
| 224 | 'saclib.h' and 'gmp.h' to be installed. |
---|
| 225 | 'none' : Dummy routines are used as default routines to Put/Get |
---|
| 226 | arbitrary precision integers which, when used, always |
---|
| 227 | return an error. |
---|
| 228 | |
---|
| 229 | |
---|
| 230 | `--with-default_apreal=PACKAGE' option where PACKAGE can be: |
---|
| 231 | |
---|
| 232 | 'gmp' : The gmp Put/Get routines are used as default routines to |
---|
| 233 | Put/Get arbitrary precision reals (default). Requires the |
---|
| 234 | header 'gmp.h' to be installed. |
---|
| 235 | 'none' : Dummy routines are used as default routines to Put/Get |
---|
| 236 | arbitrary precision reals which, when used, always |
---|
| 237 | return an error. |
---|
| 238 | |
---|
| 239 | |
---|
| 240 | By default, configure searches through the given includedir and the |
---|
| 241 | system's default include directories for header files, and through the |
---|
| 242 | given libdir and through the system's default library directory for |
---|
| 243 | library files. If one of the requirements for a PACKAGE is not met, |
---|
| 244 | configure prints a warning message and builds MP without the |
---|
| 245 | respective PACKAGE, disabling its functionality. |
---|
| 246 | |
---|
| 247 | |
---|
| 248 | System Requirements |
---|
| 249 | =================== |
---|
| 250 | |
---|
| 251 | The following requirements have to be met by your system, so that you |
---|
| 252 | can build MP: |
---|
| 253 | 1. The condition (sizeof(void*) == 4) has to be true. |
---|
| 254 | 2. The standard C headers and libraries have to be installed. |
---|
| 255 | |
---|
| 256 | |
---|
| 257 | Operation Controls |
---|
| 258 | ================== |
---|
| 259 | |
---|
| 260 | `configure' recognizes the following options to control how it |
---|
| 261 | operates. |
---|
| 262 | |
---|
| 263 | `--cache-file=FILE' |
---|
| 264 | Use and save the results of the tests in FILE instead of |
---|
| 265 | `./config.cache'. Set FILE to `/dev/null' to disable caching and |
---|
| 266 | for debugging `configure'. |
---|
| 267 | |
---|
| 268 | |
---|
| 269 | `--quiet' |
---|
| 270 | `--silent' |
---|
| 271 | `-q' |
---|
| 272 | Do not print messages saying which checks are being made. |
---|
| 273 | |
---|
| 274 | `--version' |
---|
| 275 | Print the version of Autoconf used to generate the `configure' |
---|
| 276 | script, and exit. |
---|
| 277 | |
---|
| 278 | `--help' |
---|
| 279 | Prints the following summary of the options to `configure', and exits. |
---|
| 280 | |
---|
| 281 | Usage: configure [options] [host] |
---|
| 282 | Options: [defaults in brackets after descriptions] |
---|
| 283 | Configuration: |
---|
| 284 | --cache-file=FILE cache test results in FILE |
---|
| 285 | --help print this message |
---|
| 286 | --no-create do not create output files |
---|
| 287 | --quiet, --silent do not print `checking...' messages |
---|
| 288 | --version print the version of autoconf that created configure |
---|
| 289 | Directory and file names: |
---|
| 290 | --prefix=PREFIX install architecture-independent files in PREFIX |
---|
| 291 | [default is current directory] |
---|
| 292 | --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX |
---|
| 293 | [same as prefix] |
---|
| 294 | --bindir=DIR user executables in DIR [EPREFIX/bin] |
---|
| 295 | --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] |
---|
| 296 | --libexecdir=DIR program executables in DIR [EPREFIX/libexec] |
---|
| 297 | --datadir=DIR read-only architecture-independent data in DIR |
---|
| 298 | [PREFIX/share] |
---|
| 299 | --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] |
---|
| 300 | --sharedstatedir=DIR modifiable architecture-independent data in DIR |
---|
| 301 | [PREFIX/com] |
---|
| 302 | --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] |
---|
| 303 | --libdir=DIR object code libraries in DIR [EPREFIX/lib] |
---|
| 304 | --includedir=DIR C header files in DIR [PREFIX/include] |
---|
| 305 | --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] |
---|
| 306 | --infodir=DIR info documentation in DIR [PREFIX/info] |
---|
| 307 | --mandir=DIR man documentation in DIR [PREFIX/man] |
---|
| 308 | --srcdir=DIR find the sources in DIR [configure dir or ..] |
---|
| 309 | --program-prefix=PREFIX prepend PREFIX to installed program names |
---|
| 310 | --program-suffix=SUFFIX append SUFFIX to installed program names |
---|
| 311 | --program-transform-name=PROGRAM |
---|
| 312 | run sed PROGRAM on installed program names |
---|
| 313 | Host type: |
---|
| 314 | --build=BUILD configure for building on BUILD [BUILD=HOST] |
---|
| 315 | --host=HOST configure for HOST [guessed] |
---|
| 316 | --target=TARGET configure for TARGET [TARGET=HOST] |
---|
| 317 | Features and packages: |
---|
| 318 | --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) |
---|
| 319 | --enable-FEATURE[=ARG] include FEATURE [ARG=yes] |
---|
| 320 | --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] |
---|
| 321 | --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) |
---|
| 322 | --x-includes=DIR X include files are in DIR |
---|
| 323 | --x-libraries=DIR X library files are in DIR |
---|
| 324 | --enable and --with options recognized: |
---|
| 325 | --disable-MPT configure and build without MPT library |
---|
| 326 | --disable-gmp configure and build without gmp library |
---|
| 327 | --enable-examples enable building of example programs |
---|
| 328 | --enable-mpviewer enable building of mpviewer program |
---|
| 329 | --enable-mppvm enable building of mppvm routines |
---|
| 330 | --with-default_int=PACKAGE use PACKAGE as MP's default ApInt format |
---|
| 331 | where PACKAGE can be: gmp (default), pari, |
---|
| 332 | saclib, none |
---|
| 333 | --with-default_real=PACKAGE use PACKAGE as MP's default ApReal format |
---|
| 334 | where PACKAGE can be: gmp (default), none |
---|
| 335 | --without-gmp build without gmp routines |
---|
| 336 | --with-pari build with pari routines |
---|
| 337 | --with-saclib build with saclib ApInt routines |
---|
| 338 | --with-tb build with Toolbus device interface |
---|
| 339 | --with-pvm build with Pvm saclib device interface |
---|
| 340 | --with-debug build with debug options and logging |
---|