1 .. _options2configure:
\r
3 Options to *configure*
\r
4 =========================
\r
6 There are a number of options to configure which you can use to control
\r
7 how the Kerberos distribution is built.
\r
9 Most commonly used options
\r
10 -----------------------------
\r
14 Provides help to configure.
\r
15 This will list the set of commonly used options for building Kerberos.
\r
19 By default, Kerberos will install the package's files rooted at '/usr/local'
\r
20 If you desire to place the binaries into the directory *PREFIX*, use this option
\r
22 --exec-prefix=EXECPREFIX
\r
24 This option allows one to separate the architecture independent programs
\r
25 from the host-dependent files (configuration files, manual pages).
\r
26 Use this option to install architecture-dependent programs in *EXECPREFIX*.
\r
27 The default location is the value of specified by * --prefix* option.
\r
29 --localstatedir=LOCALSTATEDIR
\r
31 This option sets the directory for locally modifiable single-machine data.
\r
32 In Kerberos, this mostly is useful for setting a location for the KDC data files,
\r
33 as they will be installed in *LOCALSTATEDIR/krb5kdc*, which is by default *PREFIX/var/krb5kdc*.
\r
35 --with-netlib[=libs]
\r
37 Allows for suppression of or replacement of network libraries.
\r
38 By default, Kerberos V5 configuration will look for *-lnsl* and *-lsocket*.
\r
39 If your operating system has a broken resolver library
\r
40 or fails to pass the tests in src/tests/resolv you will need to use this option.
\r
44 Some of the unit-tests in the build tree rely upon using a program in Tcl.
\r
45 The directory specified by *TCLPATH* specifies where the Tcl header file
\r
46 (TCLPATH/include/tcl.h)
\r
47 as well as where the Tcl library should be found (TCLPATH/lib).
\r
49 --enable-dns-for-realm
\r
51 Enable the use of DNS to look up a host's Kerberos realm, or a realm's KDCs,
\r
52 if the information is not provided in :ref:`krb5.conf`.
\r
53 See :ref:`kdc_hn_label` for information about using DNS to locate the KDCs,
\r
54 and :ref:`mapping_hn_label` for information about using DNS to determine the default realm.
\r
55 By default, DNS lookups are enabled for the former but not for the latter.
\r
59 Use an installed version of the error-table (et) support software,
\r
60 the *compile_et* program, the com_err.h header file and the *com_err* library.
\r
61 If these are not in the default locations, you may wish to specify
\r
62 *CPPFLAGS=-I/some/dir* and *LDFLAGS=-L/some/other/dir* options at configuration time as well.
\r
64 If this option is not given, a version supplied with the Kerberos sources
\r
65 will be built and installed along with the rest of the Kerberos tree,
\r
66 for Kerberos applications to link against.
\r
70 Use an installed version of the subsystem command-line interface software,
\r
71 the *mk_cmds* program, the ss/ss.h header file and the ss library.
\r
72 If these are not in the default locations, you may wish to specify
\r
73 *CPPFLAGS=-I/some/dir* and *LDFLAGS=-L/some/other/dir* options
\r
74 at configuration time as well. See also the *SS_LIB* option.
\r
76 If this option is not given, the *ss* library supplied with the Kerberos sources
\r
77 will be compiled and linked into those programs that need it;
\r
78 it will not be installed separately.
\r
82 Use an installed version of the Berkeley DB package,
\r
83 which must provide an API compatible with version 1.85.
\r
84 This option is unsupported and untested.
\r
85 In particular, we do not know if the database-rename code used
\r
86 in the dumpfile load operation will behave properly.
\r
88 If this option is not given, a version supplied with the Kerberos sources
\r
89 will be built and installed.
\r
90 (We are not updating this version at this time because of licensing issues
\r
91 with newer versions that we haven't investigated sufficiently yet.)
\r
94 Environment variables
\r
95 ----------------------------------------
\r
98 Use *COMPILER* as the C compiler.
\r
101 Use *FLAGS* as the default set of C compiler flags.
\r
104 Use *CPPOPTS* as the default set of C preprocessor flags.
\r
105 The most common use of this option is to select certain #define's
\r
106 for use with the operating system's include files.
\r
109 C preprocessor to use. (e,g, CPP='gcc -E')
\r
111 DB_HEADER=headername.h
\r
112 If db.h is not the correct header file to include to compile against the Berkeley DB 1.85 API,
\r
113 specify the correct header file name with this option. For example, DB_HEADER=db3/db_185.h.
\r
116 If *-ldb* is not the correct library specification for the Berkeley DB library version to be used,
\r
117 override it with this option. For example, DB_LIB=-ldb-3.3.
\r
120 Use *LINKER* as the default loader if it should be different from C compiler as specified above.
\r
123 This option informs the linker where to get additional libraries (e.g. -L<lib dir>).
\r
126 This option allows one to specify libraries to be passed to the linker ( e.g. -l<library>)
\r
129 If *-lss* is not the correct way to link in your installed *ss* library,
\r
130 for example if additional support libraries are needed,
\r
131 specify the correct link options here.
\r
132 Some variants of this library are around which allow for Emacs-like line editing,
\r
133 but different versions require different support libraries to be explicitly specified.
\r
135 This option is ignored if \-\-with-system-ss is not specified.
\r
138 C++ compiler command
\r
144 The 'Yet Another C Compiler' implementation to use. Defaults to
\r
145 the first program found out of: 'bison -y', 'byacc', 'yacc'.
\r
148 The list of arguments that will be passed by default to $YACC.
\r
149 This script will default YFLAGS to the empty string to avoid a
\r
150 default value of '-d' given by some make applications.
\r
156 For example, in order to configure Kerberos on a Solaris machine
\r
158 using the *suncc* compiler with the optimizer *turned on*,
\r
159 run the configure script with the following options::
\r
161 % ./configure CC=suncc CFLAGS=-O
\r
164 For a slightly more complicated example, consider a system
\r
165 where several packages to be used by Kerberos are installed in /usr/foobar,
\r
166 including Berkeley DB 3.3, and an ss library that needs to link against the curses library.
\r
167 The configuration of Kerberos might be done thus::
\r
169 ./configure CPPFLAGS=-I/usr/foobar/include LDFLAGS=-L/usr/foobar/lib \-\-with-system-et \-\-with-system-ss \-\-with-system-db SS_LIB='-lss -lcurses' DB_HEADER=db3/db_185.h DB_LIB=-ldb-3.3
\r
173 Fine tuning of the installation directories
\r
174 ----------------------------------------------
\r
179 Defaults to *EXECPREFIX/bin*, where *EXECPREFIX* is the path specified by "--exec-prefix" configuration option.
\r
183 System admin executables.
\r
184 Defaults to *EXECPREFIX/sbin*, where *EXECPREFIX* is the path specified by "--exec-prefix" configuration option.
\r
188 Program executables.
\r
189 Defaults to *EXECPREFIX/libexec*, where *EXECPREFIX* is the path specified by "--exec-prefix" configuration option.
\r
193 Read-only single-machine data.
\r
194 Defaults to *PREFIX/etc*, where *PREFIX* is the path specified by "--prefix" configuration option.
\r
196 --sharedstatedir=DIR
\r
198 Modifiable architecture-independent data.
\r
199 Defaults to *PREFIX/com*, where *PREFIX* is the path specified by "--prefix" configuration option.
\r
203 Object code libraries [EXECPREFIX/lib]
\r
204 Defaults to *EXECPREFIX/lib*, where *EXECPREFIX* is the path specified by "--exec-prefix" configuration option.
\r
209 Defaults to *PREFIX/include*, where *PREFIX* is the path specified by "--prefix" configuration option.
\r
211 --oldincludedir=DIR
\r
213 C header files for non-gcc. Default to /usr/include
\r
215 --datarootdir=DATAROOTDIR
\r
217 Read-only architecture-independent data root.
\r
218 Defaults to *PREFIX/sharee*, where *PREFIX* is the path specified by "--prefix" configuration option.
\r
223 Read-only architecture-independent data.
\r
224 Defaults to *DATAROOTDIR* by "--datarootdir" configuration option.
\r
228 Info documentation.
\r
229 Defaults to *DATAROOTDIR/info*, where *DATAROOTDIR* is the path specified by "--datarootdir" configuration option.
\r
233 Locale-dependent data.
\r
234 Defaults to *DATAROOTDIR/locate*, where *DATAROOTDIR* is the path specified by "--datarootdir" configuration option.
\r
239 Defaults to *DATAROOTDIR/man*, where *DATAROOTDIR* is the path specified by "--datarootdir" configuration option.
\r
243 Documentation root.
\r
244 Defaults to *DATAROOTDIR/doc/krb5*, where *DATAROOTDIR* is the path specified by "--datarootdir" configuration option.
\r
248 html documentation.
\r
249 Defaults to *DOCDIR* path specified by "--docdir" configuration option.
\r
254 Defaults to *DOCDIR* path specified by "--docdir" configuration option.
\r
259 Defaults to *DOCDIR* path specified by "--docdir" configuration option.
\r
264 Defaults to *DOCDIR* path specified by "--docdir" configuration option.
\r
268 ----------------------------------------------
\r
270 ---program-prefix=PREFIX
\r
272 Prepend *PREFIX* to the names of the programs when installing them. For example, specifying
\r
273 '\-\-program-prefix=mit-' at the configure time will cause the program named *abc* to be installed
\r
276 --program-suffix=SUFFIX
\r
278 Append *SUFFIX* to the names of the programs when installing them. For example, specifying
\r
279 '\-\-program-suffix=-mit' at the configure time will cause the program named *abc* to be installed
\r
282 --program-transform-name=PROGRAM
\r
284 Run *sed -e PROGRAM* on installed program names. (*PROGRAM* is a *sed* script).
\r
288 ----------------------------------------------
\r
292 Configure for building on *BUILD* (e.g. --build=x86_64-linux-gnu).
\r
296 Cross-compile to build programs to run on *HOST* (e.g. --host=x86_64-linux-gnu).
\r
297 By default, Kerberos V5 configuration will look for "\-\-build" option).
\r
301 ----------------------------------------------
\r
303 ---disable-FEATURE
\r
305 Do not include FEATURE (same as --enable-FEATURE=no)
\r
307 --disable-option-checking
\r
309 Ignore unrecognized --enable/--with options
\r
311 --enable-FEATURE[=ARG]
\r
313 Include FEATURE [ARG=yes]
\r
315 --enable-dns-for-realm
\r
317 Enable DNS lookups of Kerberos realm names
\r
319 --enable-maintainer-mode
\r
321 Enable rebuilding of source files, Makefiles, etc
\r
323 --disable-delayed-initialization
\r
325 Initialize library code when loaded [delay until first use]
\r
327 --disable-thread-support
\r
329 Don't enable thread support [enabled]
\r
333 Suppress run path flags in link lines
\r
337 Build with MIT Project Athena configuration
\r
339 --enable-fortuna-test
\r
341 Build to test Fortuna PRNG
\r
343 --disable-kdc-lookaside-cache
\r
345 Disable the cache which detects client retransmits
\r
349 Disable PKINIT plugin support
\r
357 ---with-*PACKAGE* \[=ARG\]
\r
359 Use *PACKAGE* (e.g. --with-imap). The default value of *ARG* is 'yes'.
\r
361 --without-*PACKAGE*
\r
363 Do not use *PACKAGE* (same as \-\-with-PACKAGE=no) (e.g. --without-libedit)
\r
365 --with-size-optimizations
\r
367 Enable a few optimizations to reduce code size possibly at some run-time cost
\r
371 Compile with Hesiod support. The *path* points to the Hesiod directory.
\r
372 By default Hesiod is unsupported.
\r
376 Compile OpenLDAP database backend module
\r
380 Compile eDirectory database backend module
\r
382 --with-vague-errors
\r
384 Do not send helpful errors to client.
\r
385 For example, if the KDC should return only vague error codes to clients.
\r
387 --with-crypto-impl=IMPL
\r
389 Use specified crypto implementation (e.g.* --with-crypto=openssl*).
\r
390 Default is a native MIT Kerberos implementation *builtin*
\r
391 The other currently implemented crypto backends are *openssl* and *nss*.
\r
392 (See :ref:`mitK5features`)
\r
394 --with-prng-alg=ALG
\r
396 Use specified PRNG algorithm (e.g. * --with-prng-alg=os*).
\r
398 Default is the *fortuna* PRNG algorithm. For the *nss* crypto backend use one must explicitly
\r
399 specify * --with-prng-alg=nss*.
\r
400 (See :ref:`mitK5features`)
\r
402 --with-kdc-kdb-update
\r
404 Update the KDC database with the information about
\r
405 - the last successful authentication;
\r
406 - the last failed authentication attempt;
\r
407 - the number of the failed authentication attempts.
\r
409 By default the kdb is not updated with this information..
\r
411 --with-system-verto
\r
413 Always use system *verto* library
\r