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 |
---|
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'. |
---|
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 |
---|
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: |
---|
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 | |
---|
139 | |
---|
140 | `--enable-PACKAGE' option where PACKAGE can be: |
---|
141 | |
---|
142 | 'examples' : The distribution comes with some example implementations |
---|
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. |
---|
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 |
---|
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). |
---|
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 |
---|