X-Git-Url: http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=blobdiff_plain;f=INSTALL;h=54caf7c190f28df0279ade5fee3d43b108480a14;hp=ac59f611574994e3030fcf7122cd2c894e5715ce;hb=f332166e51ea753ed17e80c0a74fd8acc5b211fb;hpb=750d74333ce5b3ec8ff37d45b64fd0603e043051 diff --git a/INSTALL b/INSTALL index ac59f6115..54caf7c19 100644 --- a/INSTALL +++ b/INSTALL @@ -1,109 +1,8 @@ +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. -Please read the Basic Installation section somewhere below. - -Configure options for GNUPG -=========================== - ---with-included-zlib Forces usage of the local zlib sources. Default is - to use the (shared) library of the system. - ---with-included-gettext Forces usage of the local gettext sources instead of - the one provided by your system. - ---disable-nls Disable NLS support (See ABOUT-NLS) - ---enable-m-debug Compile with the integrated malloc debugging stuff. - This makes the program slower but is checks every - free operation and can be used to create statistics - of memory usage. If this option is used the program - option "--debug 32" displays every call to a a malloc - function (this makes the program *really* slow), the - option "--debug 128" displays a memory statistic after - the program run. - ---disable-m-guard Disable the integrated malloc checking code. As a - side-effect, this removes all debugging code and uses - the -O2 flag for all C files. - ---disable-dynload If you have problems with dynamic loading, this option - disables all dynamic loading stuff. - ---disable-asm Do not use assembler modules. - - - -Problems -======== - -If you get unresolved externals "gettext" you should run configure again -with the option "--with-included-gettext"; this is version 0.10.35 which -is available at alpha.gnu.org. - -If you have other compile problems, try the configure options -"--with-included-zlib" or "--disable-nls" (See ABOUT-NLS) -or --disable-dynload. - -I can't check all assembler files, so if you have problems assembling them -(or the program crashes) use --disable-asm with ./configure. -The configure scripts may consider several subdirectories to get all -available assembler files; be sure to delete the correct ones. The -assembler replacements are in C and in mpi/generic; never delete udiv-qrnnd.S -in any CPU directory, because there may be no C substitute. -Don't forget to delete "config.cache" and run "./config.status --recheck". - - -The Random Device -================= -Random devices are available in Linux, FreeBSD and OpenBSD. -The device files may not exist on your system, please check this -and create them if needed. - -The Linux files should look like this: - cr--r--r-- 1 root sys 1, 8 May 28 1997 /dev/random - cr--r--r-- 1 root sys 1, 9 Feb 16 08:23 /dev/urandom -You can create them with: - mknod /dev/random c 1 8 - mknod /dev/urandom c 1 9 - -The FreeBSD files [from the 970202 snapshot]: - crw-r--r-- 1 root wheel 2, 3 Feb 25 16:54 /dev/random - crw-r--r-- 1 root wheel 2, 4 Feb 25 16:54 /dev/urandom -You can create them with: - mknod /dev/random c 2 3 - mknod /dev/urandom c 2 4 - -Unices without a random devices must use another entropy collector -which is called rndunix and available as an extension module. You -should put this in your ~/.gnupg/options file: -===8<==================== -load-extension rndunix -===>8==================== -This collector works by running a lot of tools which yields more or -less unpredictable output and fedds this as entropy into the random -generator - It should work reliable but you should check whether -it produces good output for your kinf of Unix. There are some debug -options to help you (see cipher/rndunix.c). - - - -Installation -============ -gpg is not installed as suid:root; if you want to do it, do it manually. -We will use capabilities in the future. - -The ~/.gnupg directory will be created if it does not exist. Your first -action should be to create a key pair: "gpg --gen-key". - - - -Creating a RPM package -====================== -The file scripts/gnupg-x.x.x.spec is used to build a RPM package: - 1. As root, copy the spec file into /usr/src/redhat/SPECS - 2. copy the tar file into /usr/src/redhat/SOURCES - 3. type: rpm -ba SPECS/gnupg-x.x.x.spec - - + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. Basic Installation ================== @@ -115,20 +14,27 @@ various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. The simplest way to compile this package is: @@ -162,31 +68,33 @@ Compilers and Options ===================== Some systems require unusual options for compilation or linking that -the `configure' script does not know about. You can give `configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: -Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that +own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. - If you have to use a `make' that does not supports the `VPATH' -variable, you have to compile the package for one architecture at a time -in the source code directory. After you have installed the package for -one architecture, use `make distclean' before reconfiguring for another -architecture. + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. Installation Names ================== @@ -229,22 +137,32 @@ you can use the `configure' options `--x-includes=DIR' and Specifying the System Type ========================== - There may be some features `configure' can not figure out -automatically, but needs to determine by the type of host the package -will run on. Usually `configure' can figure that out, but if it prints -a message saying it can not guess the host type, give it the -`--host=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name with three fields: + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + CPU-COMPANY-SYSTEM -See the file `config.sub' for the possible values of each field. If +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't -need to know the host type. +need to know the machine type. - If you are building compiler tools for cross-compiling, you can also + If you are _building_ compiler tools for cross-compiling, you should use the `--target=TYPE' option to select the type of system they will -produce code for and the `--build=TYPE' option to select the type of -system on which you are compiling the package. +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. Sharing Defaults ================ @@ -257,24 +175,48 @@ default values for variables like `CC', `cache_file', and `prefix'. `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. -Operation Controls +Defining Variables ================== + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +`configure' Invocation +====================== + `configure' recognizes the following options to control how it operates. -`--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - `--help' +`-h' Print a summary of the options to `configure', and exit. +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + `--quiet' `--silent' `-q' - Do not print messages saying which checks are being made. To + Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). @@ -282,9 +224,6 @@ operates. Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`configure' also accepts some other, not widely useful, options. +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details.