xref: /aosp_15_r20/external/pcre/INSTALL (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf EbrahimiInstallation Instructions
2*22dc650dSSadaf Ebrahimi*************************
3*22dc650dSSadaf Ebrahimi
4*22dc650dSSadaf Ebrahimi   Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free
5*22dc650dSSadaf EbrahimiSoftware Foundation, Inc.
6*22dc650dSSadaf Ebrahimi
7*22dc650dSSadaf Ebrahimi   Copying and distribution of this file, with or without modification,
8*22dc650dSSadaf Ebrahimiare permitted in any medium without royalty provided the copyright
9*22dc650dSSadaf Ebrahiminotice and this notice are preserved.  This file is offered as-is,
10*22dc650dSSadaf Ebrahimiwithout warranty of any kind.
11*22dc650dSSadaf Ebrahimi
12*22dc650dSSadaf EbrahimiBasic Installation
13*22dc650dSSadaf Ebrahimi==================
14*22dc650dSSadaf Ebrahimi
15*22dc650dSSadaf Ebrahimi   Briefly, the shell command './configure && make && make install'
16*22dc650dSSadaf Ebrahimishould configure, build, and install this package.  The following
17*22dc650dSSadaf Ebrahimimore-detailed instructions are generic; see the 'README' file for
18*22dc650dSSadaf Ebrahimiinstructions specific to this package.  Some packages provide this
19*22dc650dSSadaf Ebrahimi'INSTALL' file but do not implement all of the features documented
20*22dc650dSSadaf Ebrahimibelow.  The lack of an optional feature in a given package is not
21*22dc650dSSadaf Ebrahiminecessarily a bug.  More recommendations for GNU packages can be found
22*22dc650dSSadaf Ebrahimiin *note Makefile Conventions: (standards)Makefile Conventions.
23*22dc650dSSadaf Ebrahimi
24*22dc650dSSadaf Ebrahimi   The 'configure' shell script attempts to guess correct values for
25*22dc650dSSadaf Ebrahimivarious system-dependent variables used during compilation.  It uses
26*22dc650dSSadaf Ebrahimithose values to create a 'Makefile' in each directory of the package.
27*22dc650dSSadaf EbrahimiIt may also create one or more '.h' files containing system-dependent
28*22dc650dSSadaf Ebrahimidefinitions.  Finally, it creates a shell script 'config.status' that
29*22dc650dSSadaf Ebrahimiyou can run in the future to recreate the current configuration, and a
30*22dc650dSSadaf Ebrahimifile 'config.log' containing compiler output (useful mainly for
31*22dc650dSSadaf Ebrahimidebugging 'configure').
32*22dc650dSSadaf Ebrahimi
33*22dc650dSSadaf Ebrahimi   It can also use an optional file (typically called 'config.cache' and
34*22dc650dSSadaf Ebrahimienabled with '--cache-file=config.cache' or simply '-C') that saves the
35*22dc650dSSadaf Ebrahimiresults of its tests to speed up reconfiguring.  Caching is disabled by
36*22dc650dSSadaf Ebrahimidefault to prevent problems with accidental use of stale cache files.
37*22dc650dSSadaf Ebrahimi
38*22dc650dSSadaf Ebrahimi   If you need to do unusual things to compile the package, please try
39*22dc650dSSadaf Ebrahimito figure out how 'configure' could check whether to do them, and mail
40*22dc650dSSadaf Ebrahimidiffs or instructions to the address given in the 'README' so they can
41*22dc650dSSadaf Ebrahimibe considered for the next release.  If you are using the cache, and at
42*22dc650dSSadaf Ebrahimisome point 'config.cache' contains results you don't want to keep, you
43*22dc650dSSadaf Ebrahimimay remove or edit it.
44*22dc650dSSadaf Ebrahimi
45*22dc650dSSadaf Ebrahimi   The file 'configure.ac' (or 'configure.in') is used to create
46*22dc650dSSadaf Ebrahimi'configure' by a program called 'autoconf'.  You need 'configure.ac' if
47*22dc650dSSadaf Ebrahimiyou want to change it or regenerate 'configure' using a newer version of
48*22dc650dSSadaf Ebrahimi'autoconf'.
49*22dc650dSSadaf Ebrahimi
50*22dc650dSSadaf Ebrahimi   The simplest way to compile this package is:
51*22dc650dSSadaf Ebrahimi
52*22dc650dSSadaf Ebrahimi  1. 'cd' to the directory containing the package's source code and type
53*22dc650dSSadaf Ebrahimi     './configure' to configure the package for your system.
54*22dc650dSSadaf Ebrahimi
55*22dc650dSSadaf Ebrahimi     Running 'configure' might take a while.  While running, it prints
56*22dc650dSSadaf Ebrahimi     some messages telling which features it is checking for.
57*22dc650dSSadaf Ebrahimi
58*22dc650dSSadaf Ebrahimi  2. Type 'make' to compile the package.
59*22dc650dSSadaf Ebrahimi
60*22dc650dSSadaf Ebrahimi  3. Optionally, type 'make check' to run any self-tests that come with
61*22dc650dSSadaf Ebrahimi     the package, generally using the just-built uninstalled binaries.
62*22dc650dSSadaf Ebrahimi
63*22dc650dSSadaf Ebrahimi  4. Type 'make install' to install the programs and any data files and
64*22dc650dSSadaf Ebrahimi     documentation.  When installing into a prefix owned by root, it is
65*22dc650dSSadaf Ebrahimi     recommended that the package be configured and built as a regular
66*22dc650dSSadaf Ebrahimi     user, and only the 'make install' phase executed with root
67*22dc650dSSadaf Ebrahimi     privileges.
68*22dc650dSSadaf Ebrahimi
69*22dc650dSSadaf Ebrahimi  5. Optionally, type 'make installcheck' to repeat any self-tests, but
70*22dc650dSSadaf Ebrahimi     this time using the binaries in their final installed location.
71*22dc650dSSadaf Ebrahimi     This target does not install anything.  Running this target as a
72*22dc650dSSadaf Ebrahimi     regular user, particularly if the prior 'make install' required
73*22dc650dSSadaf Ebrahimi     root privileges, verifies that the installation completed
74*22dc650dSSadaf Ebrahimi     correctly.
75*22dc650dSSadaf Ebrahimi
76*22dc650dSSadaf Ebrahimi  6. You can remove the program binaries and object files from the
77*22dc650dSSadaf Ebrahimi     source code directory by typing 'make clean'.  To also remove the
78*22dc650dSSadaf Ebrahimi     files that 'configure' created (so you can compile the package for
79*22dc650dSSadaf Ebrahimi     a different kind of computer), type 'make distclean'.  There is
80*22dc650dSSadaf Ebrahimi     also a 'make maintainer-clean' target, but that is intended mainly
81*22dc650dSSadaf Ebrahimi     for the package's developers.  If you use it, you may have to get
82*22dc650dSSadaf Ebrahimi     all sorts of other programs in order to regenerate files that came
83*22dc650dSSadaf Ebrahimi     with the distribution.
84*22dc650dSSadaf Ebrahimi
85*22dc650dSSadaf Ebrahimi  7. Often, you can also type 'make uninstall' to remove the installed
86*22dc650dSSadaf Ebrahimi     files again.  In practice, not all packages have tested that
87*22dc650dSSadaf Ebrahimi     uninstallation works correctly, even though it is required by the
88*22dc650dSSadaf Ebrahimi     GNU Coding Standards.
89*22dc650dSSadaf Ebrahimi
90*22dc650dSSadaf Ebrahimi  8. Some packages, particularly those that use Automake, provide 'make
91*22dc650dSSadaf Ebrahimi     distcheck', which can by used by developers to test that all other
92*22dc650dSSadaf Ebrahimi     targets like 'make install' and 'make uninstall' work correctly.
93*22dc650dSSadaf Ebrahimi     This target is generally not run by end users.
94*22dc650dSSadaf Ebrahimi
95*22dc650dSSadaf EbrahimiCompilers and Options
96*22dc650dSSadaf Ebrahimi=====================
97*22dc650dSSadaf Ebrahimi
98*22dc650dSSadaf Ebrahimi   Some systems require unusual options for compilation or linking that
99*22dc650dSSadaf Ebrahimithe 'configure' script does not know about.  Run './configure --help'
100*22dc650dSSadaf Ebrahimifor details on some of the pertinent environment variables.
101*22dc650dSSadaf Ebrahimi
102*22dc650dSSadaf Ebrahimi   You can give 'configure' initial values for configuration parameters
103*22dc650dSSadaf Ebrahimiby setting variables in the command line or in the environment.  Here is
104*22dc650dSSadaf Ebrahimian example:
105*22dc650dSSadaf Ebrahimi
106*22dc650dSSadaf Ebrahimi     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
107*22dc650dSSadaf Ebrahimi
108*22dc650dSSadaf Ebrahimi   *Note Defining Variables::, for more details.
109*22dc650dSSadaf Ebrahimi
110*22dc650dSSadaf EbrahimiCompiling For Multiple Architectures
111*22dc650dSSadaf Ebrahimi====================================
112*22dc650dSSadaf Ebrahimi
113*22dc650dSSadaf Ebrahimi   You can compile the package for more than one kind of computer at the
114*22dc650dSSadaf Ebrahimisame time, by placing the object files for each architecture in their
115*22dc650dSSadaf Ebrahimiown directory.  To do this, you can use GNU 'make'.  'cd' to the
116*22dc650dSSadaf Ebrahimidirectory where you want the object files and executables to go and run
117*22dc650dSSadaf Ebrahimithe 'configure' script.  'configure' automatically checks for the source
118*22dc650dSSadaf Ebrahimicode in the directory that 'configure' is in and in '..'.  This is known
119*22dc650dSSadaf Ebrahimias a "VPATH" build.
120*22dc650dSSadaf Ebrahimi
121*22dc650dSSadaf Ebrahimi   With a non-GNU 'make', it is safer to compile the package for one
122*22dc650dSSadaf Ebrahimiarchitecture at a time in the source code directory.  After you have
123*22dc650dSSadaf Ebrahimiinstalled the package for one architecture, use 'make distclean' before
124*22dc650dSSadaf Ebrahimireconfiguring for another architecture.
125*22dc650dSSadaf Ebrahimi
126*22dc650dSSadaf Ebrahimi   On MacOS X 10.5 and later systems, you can create libraries and
127*22dc650dSSadaf Ebrahimiexecutables that work on multiple system types--known as "fat" or
128*22dc650dSSadaf Ebrahimi"universal" binaries--by specifying multiple '-arch' options to the
129*22dc650dSSadaf Ebrahimicompiler but only a single '-arch' option to the preprocessor.  Like
130*22dc650dSSadaf Ebrahimithis:
131*22dc650dSSadaf Ebrahimi
132*22dc650dSSadaf Ebrahimi     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
133*22dc650dSSadaf Ebrahimi                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
134*22dc650dSSadaf Ebrahimi                 CPP="gcc -E" CXXCPP="g++ -E"
135*22dc650dSSadaf Ebrahimi
136*22dc650dSSadaf Ebrahimi   This is not guaranteed to produce working output in all cases, you
137*22dc650dSSadaf Ebrahimimay have to build one architecture at a time and combine the results
138*22dc650dSSadaf Ebrahimiusing the 'lipo' tool if you have problems.
139*22dc650dSSadaf Ebrahimi
140*22dc650dSSadaf EbrahimiInstallation Names
141*22dc650dSSadaf Ebrahimi==================
142*22dc650dSSadaf Ebrahimi
143*22dc650dSSadaf Ebrahimi   By default, 'make install' installs the package's commands under
144*22dc650dSSadaf Ebrahimi'/usr/local/bin', include files under '/usr/local/include', etc.  You
145*22dc650dSSadaf Ebrahimican specify an installation prefix other than '/usr/local' by giving
146*22dc650dSSadaf Ebrahimi'configure' the option '--prefix=PREFIX', where PREFIX must be an
147*22dc650dSSadaf Ebrahimiabsolute file name.
148*22dc650dSSadaf Ebrahimi
149*22dc650dSSadaf Ebrahimi   You can specify separate installation prefixes for
150*22dc650dSSadaf Ebrahimiarchitecture-specific files and architecture-independent files.  If you
151*22dc650dSSadaf Ebrahimipass the option '--exec-prefix=PREFIX' to 'configure', the package uses
152*22dc650dSSadaf EbrahimiPREFIX as the prefix for installing programs and libraries.
153*22dc650dSSadaf EbrahimiDocumentation and other data files still use the regular prefix.
154*22dc650dSSadaf Ebrahimi
155*22dc650dSSadaf Ebrahimi   In addition, if you use an unusual directory layout you can give
156*22dc650dSSadaf Ebrahimioptions like '--bindir=DIR' to specify different values for particular
157*22dc650dSSadaf Ebrahimikinds of files.  Run 'configure --help' for a list of the directories
158*22dc650dSSadaf Ebrahimiyou can set and what kinds of files go in them.  In general, the default
159*22dc650dSSadaf Ebrahimifor these options is expressed in terms of '${prefix}', so that
160*22dc650dSSadaf Ebrahimispecifying just '--prefix' will affect all of the other directory
161*22dc650dSSadaf Ebrahimispecifications that were not explicitly provided.
162*22dc650dSSadaf Ebrahimi
163*22dc650dSSadaf Ebrahimi   The most portable way to affect installation locations is to pass the
164*22dc650dSSadaf Ebrahimicorrect locations to 'configure'; however, many packages provide one or
165*22dc650dSSadaf Ebrahimiboth of the following shortcuts of passing variable assignments to the
166*22dc650dSSadaf Ebrahimi'make install' command line to change installation locations without
167*22dc650dSSadaf Ebrahimihaving to reconfigure or recompile.
168*22dc650dSSadaf Ebrahimi
169*22dc650dSSadaf Ebrahimi   The first method involves providing an override variable for each
170*22dc650dSSadaf Ebrahimiaffected directory.  For example, 'make install
171*22dc650dSSadaf Ebrahimiprefix=/alternate/directory' will choose an alternate location for all
172*22dc650dSSadaf Ebrahimidirectory configuration variables that were expressed in terms of
173*22dc650dSSadaf Ebrahimi'${prefix}'.  Any directories that were specified during 'configure',
174*22dc650dSSadaf Ebrahimibut not in terms of '${prefix}', must each be overridden at install time
175*22dc650dSSadaf Ebrahimifor the entire installation to be relocated.  The approach of makefile
176*22dc650dSSadaf Ebrahimivariable overrides for each directory variable is required by the GNU
177*22dc650dSSadaf EbrahimiCoding Standards, and ideally causes no recompilation.  However, some
178*22dc650dSSadaf Ebrahimiplatforms have known limitations with the semantics of shared libraries
179*22dc650dSSadaf Ebrahimithat end up requiring recompilation when using this method, particularly
180*22dc650dSSadaf Ebrahiminoticeable in packages that use GNU Libtool.
181*22dc650dSSadaf Ebrahimi
182*22dc650dSSadaf Ebrahimi   The second method involves providing the 'DESTDIR' variable.  For
183*22dc650dSSadaf Ebrahimiexample, 'make install DESTDIR=/alternate/directory' will prepend
184*22dc650dSSadaf Ebrahimi'/alternate/directory' before all installation names.  The approach of
185*22dc650dSSadaf Ebrahimi'DESTDIR' overrides is not required by the GNU Coding Standards, and
186*22dc650dSSadaf Ebrahimidoes not work on platforms that have drive letters.  On the other hand,
187*22dc650dSSadaf Ebrahimiit does better at avoiding recompilation issues, and works well even
188*22dc650dSSadaf Ebrahimiwhen some directory options were not specified in terms of '${prefix}'
189*22dc650dSSadaf Ebrahimiat 'configure' time.
190*22dc650dSSadaf Ebrahimi
191*22dc650dSSadaf EbrahimiOptional Features
192*22dc650dSSadaf Ebrahimi=================
193*22dc650dSSadaf Ebrahimi
194*22dc650dSSadaf Ebrahimi   If the package supports it, you can cause programs to be installed
195*22dc650dSSadaf Ebrahimiwith an extra prefix or suffix on their names by giving 'configure' the
196*22dc650dSSadaf Ebrahimioption '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
197*22dc650dSSadaf Ebrahimi
198*22dc650dSSadaf Ebrahimi   Some packages pay attention to '--enable-FEATURE' options to
199*22dc650dSSadaf Ebrahimi'configure', where FEATURE indicates an optional part of the package.
200*22dc650dSSadaf EbrahimiThey may also pay attention to '--with-PACKAGE' options, where PACKAGE
201*22dc650dSSadaf Ebrahimiis something like 'gnu-as' or 'x' (for the X Window System).  The
202*22dc650dSSadaf Ebrahimi'README' should mention any '--enable-' and '--with-' options that the
203*22dc650dSSadaf Ebrahimipackage recognizes.
204*22dc650dSSadaf Ebrahimi
205*22dc650dSSadaf Ebrahimi   For packages that use the X Window System, 'configure' can usually
206*22dc650dSSadaf Ebrahimifind the X include and library files automatically, but if it doesn't,
207*22dc650dSSadaf Ebrahimiyou can use the 'configure' options '--x-includes=DIR' and
208*22dc650dSSadaf Ebrahimi'--x-libraries=DIR' to specify their locations.
209*22dc650dSSadaf Ebrahimi
210*22dc650dSSadaf Ebrahimi   Some packages offer the ability to configure how verbose the
211*22dc650dSSadaf Ebrahimiexecution of 'make' will be.  For these packages, running './configure
212*22dc650dSSadaf Ebrahimi--enable-silent-rules' sets the default to minimal output, which can be
213*22dc650dSSadaf Ebrahimioverridden with 'make V=1'; while running './configure
214*22dc650dSSadaf Ebrahimi--disable-silent-rules' sets the default to verbose, which can be
215*22dc650dSSadaf Ebrahimioverridden with 'make V=0'.
216*22dc650dSSadaf Ebrahimi
217*22dc650dSSadaf EbrahimiParticular systems
218*22dc650dSSadaf Ebrahimi==================
219*22dc650dSSadaf Ebrahimi
220*22dc650dSSadaf Ebrahimi   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU CC
221*22dc650dSSadaf Ebrahimiis not installed, it is recommended to use the following options in
222*22dc650dSSadaf Ebrahimiorder to use an ANSI C compiler:
223*22dc650dSSadaf Ebrahimi
224*22dc650dSSadaf Ebrahimi     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
225*22dc650dSSadaf Ebrahimi
226*22dc650dSSadaf Ebrahimiand if that doesn't work, install pre-built binaries of GCC for HP-UX.
227*22dc650dSSadaf Ebrahimi
228*22dc650dSSadaf Ebrahimi   HP-UX 'make' updates targets which have the same timestamps as their
229*22dc650dSSadaf Ebrahimiprerequisites, which makes it generally unusable when shipped generated
230*22dc650dSSadaf Ebrahimifiles such as 'configure' are involved.  Use GNU 'make' instead.
231*22dc650dSSadaf Ebrahimi
232*22dc650dSSadaf Ebrahimi   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
233*22dc650dSSadaf Ebrahimiparse its '<wchar.h>' header file.  The option '-nodtk' can be used as a
234*22dc650dSSadaf Ebrahimiworkaround.  If GNU CC is not installed, it is therefore recommended to
235*22dc650dSSadaf Ebrahimitry
236*22dc650dSSadaf Ebrahimi
237*22dc650dSSadaf Ebrahimi     ./configure CC="cc"
238*22dc650dSSadaf Ebrahimi
239*22dc650dSSadaf Ebrahimiand if that doesn't work, try
240*22dc650dSSadaf Ebrahimi
241*22dc650dSSadaf Ebrahimi     ./configure CC="cc -nodtk"
242*22dc650dSSadaf Ebrahimi
243*22dc650dSSadaf Ebrahimi   On Solaris, don't put '/usr/ucb' early in your 'PATH'.  This
244*22dc650dSSadaf Ebrahimidirectory contains several dysfunctional programs; working variants of
245*22dc650dSSadaf Ebrahimithese programs are available in '/usr/bin'.  So, if you need '/usr/ucb'
246*22dc650dSSadaf Ebrahimiin your 'PATH', put it _after_ '/usr/bin'.
247*22dc650dSSadaf Ebrahimi
248*22dc650dSSadaf Ebrahimi   On Haiku, software installed for all users goes in '/boot/common',
249*22dc650dSSadaf Ebrahiminot '/usr/local'.  It is recommended to use the following options:
250*22dc650dSSadaf Ebrahimi
251*22dc650dSSadaf Ebrahimi     ./configure --prefix=/boot/common
252*22dc650dSSadaf Ebrahimi
253*22dc650dSSadaf EbrahimiSpecifying the System Type
254*22dc650dSSadaf Ebrahimi==========================
255*22dc650dSSadaf Ebrahimi
256*22dc650dSSadaf Ebrahimi   There may be some features 'configure' cannot figure out
257*22dc650dSSadaf Ebrahimiautomatically, but needs to determine by the type of machine the package
258*22dc650dSSadaf Ebrahimiwill run on.  Usually, assuming the package is built to be run on the
259*22dc650dSSadaf Ebrahimi_same_ architectures, 'configure' can figure that out, but if it prints
260*22dc650dSSadaf Ebrahimia message saying it cannot guess the machine type, give it the
261*22dc650dSSadaf Ebrahimi'--build=TYPE' option.  TYPE can either be a short name for the system
262*22dc650dSSadaf Ebrahimitype, such as 'sun4', or a canonical name which has the form:
263*22dc650dSSadaf Ebrahimi
264*22dc650dSSadaf Ebrahimi     CPU-COMPANY-SYSTEM
265*22dc650dSSadaf Ebrahimi
266*22dc650dSSadaf Ebrahimiwhere SYSTEM can have one of these forms:
267*22dc650dSSadaf Ebrahimi
268*22dc650dSSadaf Ebrahimi     OS
269*22dc650dSSadaf Ebrahimi     KERNEL-OS
270*22dc650dSSadaf Ebrahimi
271*22dc650dSSadaf Ebrahimi   See the file 'config.sub' for the possible values of each field.  If
272*22dc650dSSadaf Ebrahimi'config.sub' isn't included in this package, then this package doesn't
273*22dc650dSSadaf Ebrahimineed to know the machine type.
274*22dc650dSSadaf Ebrahimi
275*22dc650dSSadaf Ebrahimi   If you are _building_ compiler tools for cross-compiling, you should
276*22dc650dSSadaf Ebrahimiuse the option '--target=TYPE' to select the type of system they will
277*22dc650dSSadaf Ebrahimiproduce code for.
278*22dc650dSSadaf Ebrahimi
279*22dc650dSSadaf Ebrahimi   If you want to _use_ a cross compiler, that generates code for a
280*22dc650dSSadaf Ebrahimiplatform different from the build platform, you should specify the
281*22dc650dSSadaf Ebrahimi"host" platform (i.e., that on which the generated programs will
282*22dc650dSSadaf Ebrahimieventually be run) with '--host=TYPE'.
283*22dc650dSSadaf Ebrahimi
284*22dc650dSSadaf EbrahimiSharing Defaults
285*22dc650dSSadaf Ebrahimi================
286*22dc650dSSadaf Ebrahimi
287*22dc650dSSadaf Ebrahimi   If you want to set default values for 'configure' scripts to share,
288*22dc650dSSadaf Ebrahimiyou can create a site shell script called 'config.site' that gives
289*22dc650dSSadaf Ebrahimidefault values for variables like 'CC', 'cache_file', and 'prefix'.
290*22dc650dSSadaf Ebrahimi'configure' looks for 'PREFIX/share/config.site' if it exists, then
291*22dc650dSSadaf Ebrahimi'PREFIX/etc/config.site' if it exists.  Or, you can set the
292*22dc650dSSadaf Ebrahimi'CONFIG_SITE' environment variable to the location of the site script.
293*22dc650dSSadaf EbrahimiA warning: not all 'configure' scripts look for a site script.
294*22dc650dSSadaf Ebrahimi
295*22dc650dSSadaf EbrahimiDefining Variables
296*22dc650dSSadaf Ebrahimi==================
297*22dc650dSSadaf Ebrahimi
298*22dc650dSSadaf Ebrahimi   Variables not defined in a site shell script can be set in the
299*22dc650dSSadaf Ebrahimienvironment passed to 'configure'.  However, some packages may run
300*22dc650dSSadaf Ebrahimiconfigure again during the build, and the customized values of these
301*22dc650dSSadaf Ebrahimivariables may be lost.  In order to avoid this problem, you should set
302*22dc650dSSadaf Ebrahimithem in the 'configure' command line, using 'VAR=value'.  For example:
303*22dc650dSSadaf Ebrahimi
304*22dc650dSSadaf Ebrahimi     ./configure CC=/usr/local2/bin/gcc
305*22dc650dSSadaf Ebrahimi
306*22dc650dSSadaf Ebrahimicauses the specified 'gcc' to be used as the C compiler (unless it is
307*22dc650dSSadaf Ebrahimioverridden in the site shell script).
308*22dc650dSSadaf Ebrahimi
309*22dc650dSSadaf EbrahimiUnfortunately, this technique does not work for 'CONFIG_SHELL' due to an
310*22dc650dSSadaf EbrahimiAutoconf limitation.  Until the limitation is lifted, you can use this
311*22dc650dSSadaf Ebrahimiworkaround:
312*22dc650dSSadaf Ebrahimi
313*22dc650dSSadaf Ebrahimi     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
314*22dc650dSSadaf Ebrahimi
315*22dc650dSSadaf Ebrahimi'configure' Invocation
316*22dc650dSSadaf Ebrahimi======================
317*22dc650dSSadaf Ebrahimi
318*22dc650dSSadaf Ebrahimi   'configure' recognizes the following options to control how it
319*22dc650dSSadaf Ebrahimioperates.
320*22dc650dSSadaf Ebrahimi
321*22dc650dSSadaf Ebrahimi'--help'
322*22dc650dSSadaf Ebrahimi'-h'
323*22dc650dSSadaf Ebrahimi     Print a summary of all of the options to 'configure', and exit.
324*22dc650dSSadaf Ebrahimi
325*22dc650dSSadaf Ebrahimi'--help=short'
326*22dc650dSSadaf Ebrahimi'--help=recursive'
327*22dc650dSSadaf Ebrahimi     Print a summary of the options unique to this package's
328*22dc650dSSadaf Ebrahimi     'configure', and exit.  The 'short' variant lists options used only
329*22dc650dSSadaf Ebrahimi     in the top level, while the 'recursive' variant lists options also
330*22dc650dSSadaf Ebrahimi     present in any nested packages.
331*22dc650dSSadaf Ebrahimi
332*22dc650dSSadaf Ebrahimi'--version'
333*22dc650dSSadaf Ebrahimi'-V'
334*22dc650dSSadaf Ebrahimi     Print the version of Autoconf used to generate the 'configure'
335*22dc650dSSadaf Ebrahimi     script, and exit.
336*22dc650dSSadaf Ebrahimi
337*22dc650dSSadaf Ebrahimi'--cache-file=FILE'
338*22dc650dSSadaf Ebrahimi     Enable the cache: use and save the results of the tests in FILE,
339*22dc650dSSadaf Ebrahimi     traditionally 'config.cache'.  FILE defaults to '/dev/null' to
340*22dc650dSSadaf Ebrahimi     disable caching.
341*22dc650dSSadaf Ebrahimi
342*22dc650dSSadaf Ebrahimi'--config-cache'
343*22dc650dSSadaf Ebrahimi'-C'
344*22dc650dSSadaf Ebrahimi     Alias for '--cache-file=config.cache'.
345*22dc650dSSadaf Ebrahimi
346*22dc650dSSadaf Ebrahimi'--quiet'
347*22dc650dSSadaf Ebrahimi'--silent'
348*22dc650dSSadaf Ebrahimi'-q'
349*22dc650dSSadaf Ebrahimi     Do not print messages saying which checks are being made.  To
350*22dc650dSSadaf Ebrahimi     suppress all normal output, redirect it to '/dev/null' (any error
351*22dc650dSSadaf Ebrahimi     messages will still be shown).
352*22dc650dSSadaf Ebrahimi
353*22dc650dSSadaf Ebrahimi'--srcdir=DIR'
354*22dc650dSSadaf Ebrahimi     Look for the package's source code in directory DIR.  Usually
355*22dc650dSSadaf Ebrahimi     'configure' can determine that directory automatically.
356*22dc650dSSadaf Ebrahimi
357*22dc650dSSadaf Ebrahimi'--prefix=DIR'
358*22dc650dSSadaf Ebrahimi     Use DIR as the installation prefix.  *note Installation Names:: for
359*22dc650dSSadaf Ebrahimi     more details, including other options available for fine-tuning the
360*22dc650dSSadaf Ebrahimi     installation locations.
361*22dc650dSSadaf Ebrahimi
362*22dc650dSSadaf Ebrahimi'--no-create'
363*22dc650dSSadaf Ebrahimi'-n'
364*22dc650dSSadaf Ebrahimi     Run the configure checks, but stop before creating any output
365*22dc650dSSadaf Ebrahimi     files.
366*22dc650dSSadaf Ebrahimi
367*22dc650dSSadaf Ebrahimi'configure' also accepts some other, not widely useful, options.  Run
368*22dc650dSSadaf Ebrahimi'configure --help' for more details.
369