xref: /netbsd-src/external/bsd/openldap/dist/doc/install/configure (revision 2de962bd804263c16657f586aa00f1704045df8e)
1*2de962bdSlukemThe following is a verbatim copy of the of Autoconf 2.12 generic
2*2de962bdSlukemINSTALL document.
3*2de962bdSlukem
4*2de962bdSlukem
5*2de962bdSlukemBasic Installation
6*2de962bdSlukem==================
7*2de962bdSlukem
8*2de962bdSlukem   These are generic installation instructions.
9*2de962bdSlukem
10*2de962bdSlukem   The `configure' shell script attempts to guess correct values for
11*2de962bdSlukemvarious system-dependent variables used during compilation.  It uses
12*2de962bdSlukemthose values to create a `Makefile' in each directory of the package.
13*2de962bdSlukemIt may also create one or more `.h' files containing system-dependent
14*2de962bdSlukemdefinitions.  Finally, it creates a shell script `config.status' that
15*2de962bdSlukemyou can run in the future to recreate the current configuration, a file
16*2de962bdSlukem`config.cache' that saves the results of its tests to speed up
17*2de962bdSlukemreconfiguring, and a file `config.log' containing compiler output
18*2de962bdSlukem(useful mainly for debugging `configure').
19*2de962bdSlukem
20*2de962bdSlukem   If you need to do unusual things to compile the package, please try
21*2de962bdSlukemto figure out how `configure' could check whether to do them, and mail
22*2de962bdSlukemdiffs or instructions to the address given in the `README' so they can
23*2de962bdSlukembe considered for the next release.  If at some point `config.cache'
24*2de962bdSlukemcontains results you don't want to keep, you may remove or edit it.
25*2de962bdSlukem
26*2de962bdSlukem   The file `configure.in' is used to create `configure' by a program
27*2de962bdSlukemcalled `autoconf'.  You only need `configure.in' if you want to change
28*2de962bdSlukemit or regenerate `configure' using a newer version of `autoconf'.
29*2de962bdSlukem
30*2de962bdSlukemThe simplest way to compile this package is:
31*2de962bdSlukem
32*2de962bdSlukem  1. `cd' to the directory containing the package's source code and type
33*2de962bdSlukem     `./configure' to configure the package for your system.  If you're
34*2de962bdSlukem     using `csh' on an old version of System V, you might need to type
35*2de962bdSlukem     `sh ./configure' instead to prevent `csh' from trying to execute
36*2de962bdSlukem     `configure' itself.
37*2de962bdSlukem
38*2de962bdSlukem     Running `configure' takes awhile.  While running, it prints some
39*2de962bdSlukem     messages telling which features it is checking for.
40*2de962bdSlukem
41*2de962bdSlukem  2. Type `make' to compile the package.
42*2de962bdSlukem
43*2de962bdSlukem  3. Optionally, type `make check' to run any self-tests that come with
44*2de962bdSlukem     the package.
45*2de962bdSlukem
46*2de962bdSlukem  4. Type `make install' to install the programs and any data files and
47*2de962bdSlukem     documentation.
48*2de962bdSlukem
49*2de962bdSlukem  5. You can remove the program binaries and object files from the
50*2de962bdSlukem     source code directory by typing `make clean'.  To also remove the
51*2de962bdSlukem     files that `configure' created (so you can compile the package for
52*2de962bdSlukem     a different kind of computer), type `make distclean'.  There is
53*2de962bdSlukem     also a `make maintainer-clean' target, but that is intended mainly
54*2de962bdSlukem     for the package's developers.  If you use it, you may have to get
55*2de962bdSlukem     all sorts of other programs in order to regenerate files that came
56*2de962bdSlukem     with the distribution.
57*2de962bdSlukem
58*2de962bdSlukemCompilers and Options
59*2de962bdSlukem=====================
60*2de962bdSlukem
61*2de962bdSlukem   Some systems require unusual options for compilation or linking that
62*2de962bdSlukemthe `configure' script does not know about.  You can give `configure'
63*2de962bdSlukeminitial values for variables by setting them in the environment.  Using
64*2de962bdSlukema Bourne-compatible shell, you can do that on the command line like
65*2de962bdSlukemthis:
66*2de962bdSlukem     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
67*2de962bdSlukem
68*2de962bdSlukemOr on systems that have the `env' program, you can do it like this:
69*2de962bdSlukem     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
70*2de962bdSlukem
71*2de962bdSlukemCompiling For Multiple Architectures
72*2de962bdSlukem====================================
73*2de962bdSlukem
74*2de962bdSlukem   You can compile the package for more than one kind of computer at the
75*2de962bdSlukemsame time, by placing the object files for each architecture in their
76*2de962bdSlukemown directory.  To do this, you must use a version of `make' that
77*2de962bdSlukemsupports the `VPATH' variable, such as GNU `make'.  `cd' to the
78*2de962bdSlukemdirectory where you want the object files and executables to go and run
79*2de962bdSlukemthe `configure' script.  `configure' automatically checks for the
80*2de962bdSlukemsource code in the directory that `configure' is in and in `..'.
81*2de962bdSlukem
82*2de962bdSlukem   If you have to use a `make' that does not supports the `VPATH'
83*2de962bdSlukemvariable, you have to compile the package for one architecture at a time
84*2de962bdSlukemin the source code directory.  After you have installed the package for
85*2de962bdSlukemone architecture, use `make distclean' before reconfiguring for another
86*2de962bdSlukemarchitecture.
87*2de962bdSlukem
88*2de962bdSlukemInstallation Names
89*2de962bdSlukem==================
90*2de962bdSlukem
91*2de962bdSlukem   By default, `make install' will install the package's files in
92*2de962bdSlukem`/usr/local/bin', `/usr/local/man', etc.  You can specify an
93*2de962bdSlukeminstallation prefix other than `/usr/local' by giving `configure' the
94*2de962bdSlukemoption `--prefix=PATH'.
95*2de962bdSlukem
96*2de962bdSlukem   You can specify separate installation prefixes for
97*2de962bdSlukemarchitecture-specific files and architecture-independent files.  If you
98*2de962bdSlukemgive `configure' the option `--exec-prefix=PATH', the package will use
99*2de962bdSlukemPATH as the prefix for installing programs and libraries.
100*2de962bdSlukemDocumentation and other data files will still use the regular prefix.
101*2de962bdSlukem
102*2de962bdSlukem   In addition, if you use an unusual directory layout you can give
103*2de962bdSlukemoptions like `--bindir=PATH' to specify different values for particular
104*2de962bdSlukemkinds of files.  Run `configure --help' for a list of the directories
105*2de962bdSlukemyou can set and what kinds of files go in them.
106*2de962bdSlukem
107*2de962bdSlukem   If the package supports it, you can cause programs to be installed
108*2de962bdSlukemwith an extra prefix or suffix on their names by giving `configure' the
109*2de962bdSlukemoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
110*2de962bdSlukem
111*2de962bdSlukemOptional Features
112*2de962bdSlukem=================
113*2de962bdSlukem
114*2de962bdSlukem   Some packages pay attention to `--enable-FEATURE' options to
115*2de962bdSlukem`configure', where FEATURE indicates an optional part of the package.
116*2de962bdSlukemThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
117*2de962bdSlukemis something like `gnu-as' or `x' (for the X Window System).  The
118*2de962bdSlukem`README' should mention any `--enable-' and `--with-' options that the
119*2de962bdSlukempackage recognizes.
120*2de962bdSlukem
121*2de962bdSlukem   For packages that use the X Window System, `configure' can usually
122*2de962bdSlukemfind the X include and library files automatically, but if it doesn't,
123*2de962bdSlukemyou can use the `configure' options `--x-includes=DIR' and
124*2de962bdSlukem`--x-libraries=DIR' to specify their locations.
125*2de962bdSlukem
126*2de962bdSlukemSpecifying the System Type
127*2de962bdSlukem==========================
128*2de962bdSlukem
129*2de962bdSlukem   There may be some features `configure' can not figure out
130*2de962bdSlukemautomatically, but needs to determine by the type of host the package
131*2de962bdSlukemwill run on.  Usually `configure' can figure that out, but if it prints
132*2de962bdSlukema message saying it can not guess the host type, give it the
133*2de962bdSlukem`--host=TYPE' option.  TYPE can either be a short name for the system
134*2de962bdSlukemtype, such as `sun4', or a canonical name with three fields:
135*2de962bdSlukem     CPU-COMPANY-SYSTEM
136*2de962bdSlukem
137*2de962bdSlukemSee the file `config.sub' for the possible values of each field.  If
138*2de962bdSlukem`config.sub' isn't included in this package, then this package doesn't
139*2de962bdSlukemneed to know the host type.
140*2de962bdSlukem
141*2de962bdSlukem   If you are building compiler tools for cross-compiling, you can also
142*2de962bdSlukemuse the `--target=TYPE' option to select the type of system they will
143*2de962bdSlukemproduce code for and the `--build=TYPE' option to select the type of
144*2de962bdSlukemsystem on which you are compiling the package.
145*2de962bdSlukem
146*2de962bdSlukemSharing Defaults
147*2de962bdSlukem================
148*2de962bdSlukem
149*2de962bdSlukem   If you want to set default values for `configure' scripts to share,
150*2de962bdSlukemyou can create a site shell script called `config.site' that gives
151*2de962bdSlukemdefault values for variables like `CC', `cache_file', and `prefix'.
152*2de962bdSlukem`configure' looks for `PREFIX/share/config.site' if it exists, then
153*2de962bdSlukem`PREFIX/etc/config.site' if it exists.  Or, you can set the
154*2de962bdSlukem`CONFIG_SITE' environment variable to the location of the site script.
155*2de962bdSlukemA warning: not all `configure' scripts look for a site script.
156*2de962bdSlukem
157*2de962bdSlukemOperation Controls
158*2de962bdSlukem==================
159*2de962bdSlukem
160*2de962bdSlukem   `configure' recognizes the following options to control how it
161*2de962bdSlukemoperates.
162*2de962bdSlukem
163*2de962bdSlukem`--cache-file=FILE'
164*2de962bdSlukem     Use and save the results of the tests in FILE instead of
165*2de962bdSlukem     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
166*2de962bdSlukem     debugging `configure'.
167*2de962bdSlukem
168*2de962bdSlukem`--help'
169*2de962bdSlukem     Print a summary of the options to `configure', and exit.
170*2de962bdSlukem
171*2de962bdSlukem`--quiet'
172*2de962bdSlukem`--silent'
173*2de962bdSlukem`-q'
174*2de962bdSlukem     Do not print messages saying which checks are being made.  To
175*2de962bdSlukem     suppress all normal output, redirect it to `/dev/null' (any error
176*2de962bdSlukem     messages will still be shown).
177*2de962bdSlukem
178*2de962bdSlukem`--srcdir=DIR'
179*2de962bdSlukem     Look for the package's source code in directory DIR.  Usually
180*2de962bdSlukem     `configure' can determine that directory automatically.
181*2de962bdSlukem
182*2de962bdSlukem`--version'
183*2de962bdSlukem     Print the version of Autoconf used to generate the `configure'
184*2de962bdSlukem     script, and exit.
185*2de962bdSlukem
186*2de962bdSlukem`configure' also accepts some other, not widely useful, options.
187*2de962bdSlukem
188