xref: /freebsd/crypto/krb5/doc/pdf/build.tex (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1*7f2fe78bSCy Schubert%% Generated by Sphinx.
2*7f2fe78bSCy Schubert\def\sphinxdocclass{report}
3*7f2fe78bSCy Schubert\documentclass[letterpaper,10pt,english]{sphinxmanual}
4*7f2fe78bSCy Schubert\ifdefined\pdfpxdimen
5*7f2fe78bSCy Schubert   \let\sphinxpxdimen\pdfpxdimen\else\newdimen\sphinxpxdimen
6*7f2fe78bSCy Schubert\fi \sphinxpxdimen=.75bp\relax
7*7f2fe78bSCy Schubert\ifdefined\pdfimageresolution
8*7f2fe78bSCy Schubert    \pdfimageresolution= \numexpr \dimexpr1in\relax/\sphinxpxdimen\relax
9*7f2fe78bSCy Schubert\fi
10*7f2fe78bSCy Schubert%% let collapsible pdf bookmarks panel have high depth per default
11*7f2fe78bSCy Schubert\PassOptionsToPackage{bookmarksdepth=5}{hyperref}
12*7f2fe78bSCy Schubert
13*7f2fe78bSCy Schubert\PassOptionsToPackage{warn}{textcomp}
14*7f2fe78bSCy Schubert\usepackage[utf8]{inputenc}
15*7f2fe78bSCy Schubert\ifdefined\DeclareUnicodeCharacter
16*7f2fe78bSCy Schubert% support both utf8 and utf8x syntaxes
17*7f2fe78bSCy Schubert  \ifdefined\DeclareUnicodeCharacterAsOptional
18*7f2fe78bSCy Schubert    \def\sphinxDUC#1{\DeclareUnicodeCharacter{"#1}}
19*7f2fe78bSCy Schubert  \else
20*7f2fe78bSCy Schubert    \let\sphinxDUC\DeclareUnicodeCharacter
21*7f2fe78bSCy Schubert  \fi
22*7f2fe78bSCy Schubert  \sphinxDUC{00A0}{\nobreakspace}
23*7f2fe78bSCy Schubert  \sphinxDUC{2500}{\sphinxunichar{2500}}
24*7f2fe78bSCy Schubert  \sphinxDUC{2502}{\sphinxunichar{2502}}
25*7f2fe78bSCy Schubert  \sphinxDUC{2514}{\sphinxunichar{2514}}
26*7f2fe78bSCy Schubert  \sphinxDUC{251C}{\sphinxunichar{251C}}
27*7f2fe78bSCy Schubert  \sphinxDUC{2572}{\textbackslash}
28*7f2fe78bSCy Schubert\fi
29*7f2fe78bSCy Schubert\usepackage{cmap}
30*7f2fe78bSCy Schubert\usepackage[T1]{fontenc}
31*7f2fe78bSCy Schubert\usepackage{amsmath,amssymb,amstext}
32*7f2fe78bSCy Schubert\usepackage{babel}
33*7f2fe78bSCy Schubert
34*7f2fe78bSCy Schubert
35*7f2fe78bSCy Schubert
36*7f2fe78bSCy Schubert\usepackage{tgtermes}
37*7f2fe78bSCy Schubert\usepackage{tgheros}
38*7f2fe78bSCy Schubert\renewcommand{\ttdefault}{txtt}
39*7f2fe78bSCy Schubert
40*7f2fe78bSCy Schubert
41*7f2fe78bSCy Schubert
42*7f2fe78bSCy Schubert\usepackage[Bjarne]{fncychap}
43*7f2fe78bSCy Schubert\usepackage{sphinx}
44*7f2fe78bSCy Schubert
45*7f2fe78bSCy Schubert\fvset{fontsize=auto}
46*7f2fe78bSCy Schubert\usepackage{geometry}
47*7f2fe78bSCy Schubert
48*7f2fe78bSCy Schubert
49*7f2fe78bSCy Schubert% Include hyperref last.
50*7f2fe78bSCy Schubert\usepackage{hyperref}
51*7f2fe78bSCy Schubert% Fix anchor placement for figures with captions.
52*7f2fe78bSCy Schubert\usepackage{hypcap}% it must be loaded after hyperref.
53*7f2fe78bSCy Schubert% Set up styles of URL: it should be placed after hyperref.
54*7f2fe78bSCy Schubert\urlstyle{same}
55*7f2fe78bSCy Schubert
56*7f2fe78bSCy Schubert
57*7f2fe78bSCy Schubert\usepackage{sphinxmessages}
58*7f2fe78bSCy Schubert\setcounter{tocdepth}{0}
59*7f2fe78bSCy Schubert
60*7f2fe78bSCy Schubert
61*7f2fe78bSCy Schubert
62*7f2fe78bSCy Schubert\title{Building MIT Kerberos}
63*7f2fe78bSCy Schubert\date{ }
64*7f2fe78bSCy Schubert\release{1.21.3}
65*7f2fe78bSCy Schubert\author{MIT}
66*7f2fe78bSCy Schubert\newcommand{\sphinxlogo}{\vbox{}}
67*7f2fe78bSCy Schubert\renewcommand{\releasename}{Release}
68*7f2fe78bSCy Schubert\makeindex
69*7f2fe78bSCy Schubert\begin{document}
70*7f2fe78bSCy Schubert
71*7f2fe78bSCy Schubert\pagestyle{empty}
72*7f2fe78bSCy Schubert\sphinxmaketitle
73*7f2fe78bSCy Schubert\pagestyle{plain}
74*7f2fe78bSCy Schubert\sphinxtableofcontents
75*7f2fe78bSCy Schubert\pagestyle{normal}
76*7f2fe78bSCy Schubert\phantomsection\label{\detokenize{build/index::doc}}
77*7f2fe78bSCy Schubert
78*7f2fe78bSCy Schubert
79*7f2fe78bSCy Schubert\sphinxAtStartPar
80*7f2fe78bSCy SchubertThis section details how to build and install MIT Kerberos software
81*7f2fe78bSCy Schubertfrom the source.
82*7f2fe78bSCy Schubert
83*7f2fe78bSCy Schubert
84*7f2fe78bSCy Schubert\chapter{Prerequisites}
85*7f2fe78bSCy Schubert\label{\detokenize{build/index:prerequisites}}
86*7f2fe78bSCy Schubert\sphinxAtStartPar
87*7f2fe78bSCy SchubertIn order to build Kerberos V5, you will need approximately 60\sphinxhyphen{}70
88*7f2fe78bSCy Schubertmegabytes of disk space.  The exact amount will vary depending on the
89*7f2fe78bSCy Schubertplatform and whether the distribution is compiled with debugging
90*7f2fe78bSCy Schubertsymbol tables or not.
91*7f2fe78bSCy Schubert
92*7f2fe78bSCy Schubert\sphinxAtStartPar
93*7f2fe78bSCy SchubertYour C compiler must conform to ANSI C (ISO/IEC 9899:1990, “c89”).
94*7f2fe78bSCy SchubertSome operating systems do not have an ANSI C compiler, or their
95*7f2fe78bSCy Schubertdefault compiler requires extra command\sphinxhyphen{}line options to enable ANSI C
96*7f2fe78bSCy Schubertconformance.
97*7f2fe78bSCy Schubert
98*7f2fe78bSCy Schubert\sphinxAtStartPar
99*7f2fe78bSCy SchubertIf you wish to keep a separate build tree, which contains the compiled
100*7f2fe78bSCy Schubert*.o file and executables, separate from your source tree, you will
101*7f2fe78bSCy Schubertneed a make program which supports \sphinxstylestrong{VPATH}, or you will need to use
102*7f2fe78bSCy Schuberta tool such as lndir to produce a symbolic link tree for your build
103*7f2fe78bSCy Schuberttree.
104*7f2fe78bSCy Schubert
105*7f2fe78bSCy Schubert
106*7f2fe78bSCy Schubert\chapter{Obtaining the software}
107*7f2fe78bSCy Schubert\label{\detokenize{build/index:obtaining-the-software}}
108*7f2fe78bSCy Schubert\sphinxAtStartPar
109*7f2fe78bSCy SchubertThe source code can be obtained from MIT Kerberos Distribution page,
110*7f2fe78bSCy Schubertat \sphinxurl{https://kerberos.org/dist/index.html}.
111*7f2fe78bSCy SchubertThe MIT Kerberos distribution comes in an archive file, generally
112*7f2fe78bSCy Schubertnamed krb5\sphinxhyphen{}VERSION\sphinxhyphen{}signed.tar, where \sphinxstyleemphasis{VERSION} is a placeholder for
113*7f2fe78bSCy Schubertthe major and minor versions of MIT Kerberos.  (For example, MIT
114*7f2fe78bSCy SchubertKerberos 1.9 has major version “1” and minor version “9”.)
115*7f2fe78bSCy Schubert
116*7f2fe78bSCy Schubert\sphinxAtStartPar
117*7f2fe78bSCy SchubertThe krb5\sphinxhyphen{}VERSION\sphinxhyphen{}signed.tar contains a compressed tar file consisting
118*7f2fe78bSCy Schubertof the sources for all of Kerberos (generally named
119*7f2fe78bSCy Schubertkrb5\sphinxhyphen{}VERSION.tar.gz) and a PGP signature file for this source tree
120*7f2fe78bSCy Schubert(generally named krb5\sphinxhyphen{}VERSION.tar.gz.asc).  MIT highly recommends that
121*7f2fe78bSCy Schubertyou verify the integrity of the source code using this signature,
122*7f2fe78bSCy Schuberte.g., by running:
123*7f2fe78bSCy Schubert
124*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
125*7f2fe78bSCy Schubert\PYG{n}{tar} \PYG{n}{xf} \PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{VERSION}\PYG{o}{\PYGZhy{}}\PYG{n}{signed}\PYG{o}{.}\PYG{n}{tar}
126*7f2fe78bSCy Schubert\PYG{n}{gpg} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{verify} \PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{VERSION}\PYG{o}{.}\PYG{n}{tar}\PYG{o}{.}\PYG{n}{gz}\PYG{o}{.}\PYG{n}{asc}
127*7f2fe78bSCy Schubert\end{sphinxVerbatim}
128*7f2fe78bSCy Schubert
129*7f2fe78bSCy Schubert\sphinxAtStartPar
130*7f2fe78bSCy SchubertUnpack krb5\sphinxhyphen{}VERSION.tar.gz in some directory. In this section we will assume
131*7f2fe78bSCy Schubertthat you have chosen the top directory of the distribution the directory
132*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{/u1/krb5\sphinxhyphen{}VERSION}}.
133*7f2fe78bSCy Schubert
134*7f2fe78bSCy Schubert\sphinxAtStartPar
135*7f2fe78bSCy SchubertReview the README file for the license, copyright and other sprecific to the
136*7f2fe78bSCy Schubertdistribution information.
137*7f2fe78bSCy Schubert
138*7f2fe78bSCy Schubert
139*7f2fe78bSCy Schubert\chapter{Contents}
140*7f2fe78bSCy Schubert\label{\detokenize{build/index:contents}}
141*7f2fe78bSCy Schubert
142*7f2fe78bSCy Schubert\section{Organization of the source directory}
143*7f2fe78bSCy Schubert\label{\detokenize{build/directory_org:organization-of-the-source-directory}}\label{\detokenize{build/directory_org::doc}}
144*7f2fe78bSCy Schubert\sphinxAtStartPar
145*7f2fe78bSCy SchubertBelow is a brief overview of the organization of the complete source
146*7f2fe78bSCy Schubertdirectory.  More detailed descriptions follow.
147*7f2fe78bSCy Schubert
148*7f2fe78bSCy Schubert
149*7f2fe78bSCy Schubert\begin{savenotes}\sphinxattablestart
150*7f2fe78bSCy Schubert\centering
151*7f2fe78bSCy Schubert\begin{tabulary}{\linewidth}[t]{|T|T|}
152*7f2fe78bSCy Schubert\hline
153*7f2fe78bSCy Schubert
154*7f2fe78bSCy Schubert\sphinxAtStartPar
155*7f2fe78bSCy Schubertappl
156*7f2fe78bSCy Schubert&
157*7f2fe78bSCy Schubert\sphinxAtStartPar
158*7f2fe78bSCy SchubertKerberos application client and server programs
159*7f2fe78bSCy Schubert\\
160*7f2fe78bSCy Schubert\hline
161*7f2fe78bSCy Schubert\sphinxAtStartPar
162*7f2fe78bSCy Schubertccapi
163*7f2fe78bSCy Schubert&
164*7f2fe78bSCy Schubert\sphinxAtStartPar
165*7f2fe78bSCy SchubertCredential cache services
166*7f2fe78bSCy Schubert\\
167*7f2fe78bSCy Schubert\hline
168*7f2fe78bSCy Schubert\sphinxAtStartPar
169*7f2fe78bSCy Schubertclients
170*7f2fe78bSCy Schubert&
171*7f2fe78bSCy Schubert\sphinxAtStartPar
172*7f2fe78bSCy SchubertKerberos V5 user programs (See \DUrole{xref,std,std-ref}{user\_commands})
173*7f2fe78bSCy Schubert\\
174*7f2fe78bSCy Schubert\hline
175*7f2fe78bSCy Schubert\sphinxAtStartPar
176*7f2fe78bSCy Schubertconfig
177*7f2fe78bSCy Schubert&
178*7f2fe78bSCy Schubert\sphinxAtStartPar
179*7f2fe78bSCy SchubertConfigure scripts
180*7f2fe78bSCy Schubert\\
181*7f2fe78bSCy Schubert\hline
182*7f2fe78bSCy Schubert\sphinxAtStartPar
183*7f2fe78bSCy Schubertconfig\sphinxhyphen{}files
184*7f2fe78bSCy Schubert&
185*7f2fe78bSCy Schubert\sphinxAtStartPar
186*7f2fe78bSCy SchubertSample Kerberos configuration files
187*7f2fe78bSCy Schubert\\
188*7f2fe78bSCy Schubert\hline
189*7f2fe78bSCy Schubert\sphinxAtStartPar
190*7f2fe78bSCy Schubertinclude
191*7f2fe78bSCy Schubert&
192*7f2fe78bSCy Schubert\sphinxAtStartPar
193*7f2fe78bSCy Schubertinclude files needed to build the Kerberos system
194*7f2fe78bSCy Schubert\\
195*7f2fe78bSCy Schubert\hline
196*7f2fe78bSCy Schubert\sphinxAtStartPar
197*7f2fe78bSCy Schubertkadmin
198*7f2fe78bSCy Schubert&
199*7f2fe78bSCy Schubert\sphinxAtStartPar
200*7f2fe78bSCy SchubertAdministrative interface to the Kerberos database: \DUrole{xref,std,std-ref}{kadmin(1)}, \DUrole{xref,std,std-ref}{kdb5\_util(8)}, \DUrole{xref,std,std-ref}{ktutil(1)}.
201*7f2fe78bSCy Schubert\\
202*7f2fe78bSCy Schubert\hline
203*7f2fe78bSCy Schubert\sphinxAtStartPar
204*7f2fe78bSCy Schubertkdc
205*7f2fe78bSCy Schubert&
206*7f2fe78bSCy Schubert\sphinxAtStartPar
207*7f2fe78bSCy SchubertKerberos V5 Authentication Service and Key Distribution Center
208*7f2fe78bSCy Schubert\\
209*7f2fe78bSCy Schubert\hline
210*7f2fe78bSCy Schubert\sphinxAtStartPar
211*7f2fe78bSCy Schubert{\hyperref[\detokenize{build/directory_org:lib}]{\sphinxcrossref{lib}}}
212*7f2fe78bSCy Schubert&
213*7f2fe78bSCy Schubert\sphinxAtStartPar
214*7f2fe78bSCy SchubertLibraries for use with/by Kerberos V5
215*7f2fe78bSCy Schubert\\
216*7f2fe78bSCy Schubert\hline
217*7f2fe78bSCy Schubert\sphinxAtStartPar
218*7f2fe78bSCy Schubertplugins
219*7f2fe78bSCy Schubert&
220*7f2fe78bSCy Schubert\sphinxAtStartPar
221*7f2fe78bSCy SchubertKerberos plugins directory
222*7f2fe78bSCy Schubert\\
223*7f2fe78bSCy Schubert\hline
224*7f2fe78bSCy Schubert\sphinxAtStartPar
225*7f2fe78bSCy Schubertpo
226*7f2fe78bSCy Schubert&
227*7f2fe78bSCy Schubert\sphinxAtStartPar
228*7f2fe78bSCy SchubertLocalization infrastructure
229*7f2fe78bSCy Schubert\\
230*7f2fe78bSCy Schubert\hline
231*7f2fe78bSCy Schubert\sphinxAtStartPar
232*7f2fe78bSCy Schubertprototype
233*7f2fe78bSCy Schubert&
234*7f2fe78bSCy Schubert\sphinxAtStartPar
235*7f2fe78bSCy SchubertTemplates files containing the MIT copyright message and a placeholder for the title and description of the file.
236*7f2fe78bSCy Schubert\\
237*7f2fe78bSCy Schubert\hline
238*7f2fe78bSCy Schubert\sphinxAtStartPar
239*7f2fe78bSCy Schubertkprop
240*7f2fe78bSCy Schubert&
241*7f2fe78bSCy Schubert\sphinxAtStartPar
242*7f2fe78bSCy SchubertUtilities for propagating the database to replica KDCs \DUrole{xref,std,std-ref}{kprop(8)} and \DUrole{xref,std,std-ref}{kpropd(8)}
243*7f2fe78bSCy Schubert\\
244*7f2fe78bSCy Schubert\hline
245*7f2fe78bSCy Schubert\sphinxAtStartPar
246*7f2fe78bSCy Schuberttests
247*7f2fe78bSCy Schubert&
248*7f2fe78bSCy Schubert\sphinxAtStartPar
249*7f2fe78bSCy SchubertTest suite
250*7f2fe78bSCy Schubert\\
251*7f2fe78bSCy Schubert\hline
252*7f2fe78bSCy Schubert\sphinxAtStartPar
253*7f2fe78bSCy Schubert{\hyperref[\detokenize{build/directory_org:util}]{\sphinxcrossref{util}}}
254*7f2fe78bSCy Schubert&
255*7f2fe78bSCy Schubert\sphinxAtStartPar
256*7f2fe78bSCy SchubertVarious utilities for building/configuring the code, sending bug reports, etc.
257*7f2fe78bSCy Schubert\\
258*7f2fe78bSCy Schubert\hline
259*7f2fe78bSCy Schubert\sphinxAtStartPar
260*7f2fe78bSCy Schubertwindows
261*7f2fe78bSCy Schubert&
262*7f2fe78bSCy Schubert\sphinxAtStartPar
263*7f2fe78bSCy SchubertSource code for building Kerberos V5 on Windows (see windows/README)
264*7f2fe78bSCy Schubert\\
265*7f2fe78bSCy Schubert\hline
266*7f2fe78bSCy Schubert\end{tabulary}
267*7f2fe78bSCy Schubert\par
268*7f2fe78bSCy Schubert\sphinxattableend\end{savenotes}
269*7f2fe78bSCy Schubert
270*7f2fe78bSCy Schubert
271*7f2fe78bSCy Schubert\subsection{lib}
272*7f2fe78bSCy Schubert\label{\detokenize{build/directory_org:lib}}\label{\detokenize{build/directory_org:id1}}
273*7f2fe78bSCy Schubert\sphinxAtStartPar
274*7f2fe78bSCy SchubertThe lib directory contain several subdirectories as well as some
275*7f2fe78bSCy Schubertdefinition and glue files.
276*7f2fe78bSCy Schubert\begin{itemize}
277*7f2fe78bSCy Schubert\item {}
278*7f2fe78bSCy Schubert\sphinxAtStartPar
279*7f2fe78bSCy SchubertThe apputils directory contains the code for the generic network
280*7f2fe78bSCy Schubertservicing.
281*7f2fe78bSCy Schubert
282*7f2fe78bSCy Schubert\item {}
283*7f2fe78bSCy Schubert\sphinxAtStartPar
284*7f2fe78bSCy SchubertThe crypto subdirectory contains the Kerberos V5 encryption
285*7f2fe78bSCy Schubertlibrary.
286*7f2fe78bSCy Schubert
287*7f2fe78bSCy Schubert\item {}
288*7f2fe78bSCy Schubert\sphinxAtStartPar
289*7f2fe78bSCy SchubertThe gssapi library contains the Generic Security Services API,
290*7f2fe78bSCy Schubertwhich is a library of commands to be used in secure client\sphinxhyphen{}server
291*7f2fe78bSCy Schubertcommunication.
292*7f2fe78bSCy Schubert
293*7f2fe78bSCy Schubert\item {}
294*7f2fe78bSCy Schubert\sphinxAtStartPar
295*7f2fe78bSCy SchubertThe kadm5 directory contains the libraries for the KADM5
296*7f2fe78bSCy Schubertadministration utilities.
297*7f2fe78bSCy Schubert
298*7f2fe78bSCy Schubert\item {}
299*7f2fe78bSCy Schubert\sphinxAtStartPar
300*7f2fe78bSCy SchubertThe Kerberos 5 database libraries are contained in kdb.
301*7f2fe78bSCy Schubert
302*7f2fe78bSCy Schubert\item {}
303*7f2fe78bSCy Schubert\sphinxAtStartPar
304*7f2fe78bSCy SchubertThe krb5 directory contains Kerberos 5 API.
305*7f2fe78bSCy Schubert
306*7f2fe78bSCy Schubert\item {}
307*7f2fe78bSCy Schubert\sphinxAtStartPar
308*7f2fe78bSCy SchubertThe rpc directory contains the API for the Kerberos Remote
309*7f2fe78bSCy SchubertProcedure Call protocol.
310*7f2fe78bSCy Schubert
311*7f2fe78bSCy Schubert\end{itemize}
312*7f2fe78bSCy Schubert
313*7f2fe78bSCy Schubert
314*7f2fe78bSCy Schubert\subsection{util}
315*7f2fe78bSCy Schubert\label{\detokenize{build/directory_org:util}}\label{\detokenize{build/directory_org:id2}}\begin{description}
316*7f2fe78bSCy Schubert\item[{The util directory contains several utility programs and libraries.}] \leavevmode\begin{itemize}
317*7f2fe78bSCy Schubert\item {}
318*7f2fe78bSCy Schubert\sphinxAtStartPar
319*7f2fe78bSCy Schubertthe programs used to configure and build the code, such as
320*7f2fe78bSCy Schubertautoconf, lndir, kbuild, reconf, and makedepend, are in this
321*7f2fe78bSCy Schubertdirectory.
322*7f2fe78bSCy Schubert
323*7f2fe78bSCy Schubert\item {}
324*7f2fe78bSCy Schubert\sphinxAtStartPar
325*7f2fe78bSCy Schubertthe profile directory contains most of the functions which parse
326*7f2fe78bSCy Schubertthe Kerberos configuration files (krb5.conf and kdc.conf).
327*7f2fe78bSCy Schubert
328*7f2fe78bSCy Schubert\item {}
329*7f2fe78bSCy Schubert\sphinxAtStartPar
330*7f2fe78bSCy Schubertthe Kerberos error table library and utilities (et);
331*7f2fe78bSCy Schubert
332*7f2fe78bSCy Schubert\item {}
333*7f2fe78bSCy Schubert\sphinxAtStartPar
334*7f2fe78bSCy Schubertthe Sub\sphinxhyphen{}system library and utilities (ss);
335*7f2fe78bSCy Schubert
336*7f2fe78bSCy Schubert\item {}
337*7f2fe78bSCy Schubert\sphinxAtStartPar
338*7f2fe78bSCy Schubertdatabase utilities (db2);
339*7f2fe78bSCy Schubert
340*7f2fe78bSCy Schubert\item {}
341*7f2fe78bSCy Schubert\sphinxAtStartPar
342*7f2fe78bSCy Schubertpseudo\sphinxhyphen{}terminal utilities (pty);
343*7f2fe78bSCy Schubert
344*7f2fe78bSCy Schubert\item {}
345*7f2fe78bSCy Schubert\sphinxAtStartPar
346*7f2fe78bSCy Schubertbug\sphinxhyphen{}reporting program send\sphinxhyphen{}pr;
347*7f2fe78bSCy Schubert
348*7f2fe78bSCy Schubert\item {}
349*7f2fe78bSCy Schubert\sphinxAtStartPar
350*7f2fe78bSCy Schuberta generic support library support used by several of our other
351*7f2fe78bSCy Schubertlibraries;
352*7f2fe78bSCy Schubert
353*7f2fe78bSCy Schubert\item {}
354*7f2fe78bSCy Schubert\sphinxAtStartPar
355*7f2fe78bSCy Schubertthe build infrastructure for building lightweight Kerberos client
356*7f2fe78bSCy Schubert(collected\sphinxhyphen{}client\sphinxhyphen{}lib)
357*7f2fe78bSCy Schubert
358*7f2fe78bSCy Schubert\item {}
359*7f2fe78bSCy Schubert\sphinxAtStartPar
360*7f2fe78bSCy Schubertthe tool for validating Kerberos configuration files
361*7f2fe78bSCy Schubert(confvalidator);
362*7f2fe78bSCy Schubert
363*7f2fe78bSCy Schubert\item {}
364*7f2fe78bSCy Schubert\sphinxAtStartPar
365*7f2fe78bSCy Schubertthe toolkit for kernel integrators for building krb5 code subsets
366*7f2fe78bSCy Schubert(gss\sphinxhyphen{}kernel\sphinxhyphen{}lib);
367*7f2fe78bSCy Schubert
368*7f2fe78bSCy Schubert\item {}
369*7f2fe78bSCy Schubert\sphinxAtStartPar
370*7f2fe78bSCy Schubertsource code for building Kerberos V5 on MacOS (mac)
371*7f2fe78bSCy Schubert
372*7f2fe78bSCy Schubert\item {}
373*7f2fe78bSCy Schubert\sphinxAtStartPar
374*7f2fe78bSCy SchubertWindows getopt operations (windows)
375*7f2fe78bSCy Schubert
376*7f2fe78bSCy Schubert\end{itemize}
377*7f2fe78bSCy Schubert
378*7f2fe78bSCy Schubert\end{description}
379*7f2fe78bSCy Schubert
380*7f2fe78bSCy Schubert
381*7f2fe78bSCy Schubert\section{Doing the build}
382*7f2fe78bSCy Schubert\label{\detokenize{build/doing_build:doing-the-build}}\label{\detokenize{build/doing_build::doc}}
383*7f2fe78bSCy Schubert
384*7f2fe78bSCy Schubert\subsection{Building within a single tree}
385*7f2fe78bSCy Schubert\label{\detokenize{build/doing_build:building-within-a-single-tree}}\label{\detokenize{build/doing_build:do-build}}
386*7f2fe78bSCy Schubert\sphinxAtStartPar
387*7f2fe78bSCy SchubertIf you only need to build Kerberos for one platform, using a single
388*7f2fe78bSCy Schubertdirectory tree which contains both the source files and the object
389*7f2fe78bSCy Schubertfiles is the simplest.  However, if you need to maintain Kerberos for
390*7f2fe78bSCy Schuberta large number of platforms, you will probably want to use separate
391*7f2fe78bSCy Schubertbuild trees for each platform.  We recommend that you look at OS
392*7f2fe78bSCy SchubertIncompatibilities, for notes that we have on particular operating
393*7f2fe78bSCy Schubertsystems.
394*7f2fe78bSCy Schubert
395*7f2fe78bSCy Schubert\sphinxAtStartPar
396*7f2fe78bSCy SchubertIf you don’t want separate build trees for each architecture, then use
397*7f2fe78bSCy Schubertthe following abbreviated procedure:
398*7f2fe78bSCy Schubert
399*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
400*7f2fe78bSCy Schubert\PYG{n}{cd} \PYG{o}{/}\PYG{n}{u1}\PYG{o}{/}\PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{VERSION}\PYG{o}{/}\PYG{n}{src}
401*7f2fe78bSCy Schubert\PYG{o}{.}\PYG{o}{/}\PYG{n}{configure}
402*7f2fe78bSCy Schubert\PYG{n}{make}
403*7f2fe78bSCy Schubert\end{sphinxVerbatim}
404*7f2fe78bSCy Schubert
405*7f2fe78bSCy Schubert\sphinxAtStartPar
406*7f2fe78bSCy SchubertThat’s it!
407*7f2fe78bSCy Schubert
408*7f2fe78bSCy Schubert
409*7f2fe78bSCy Schubert\subsection{Building with separate build directories}
410*7f2fe78bSCy Schubert\label{\detokenize{build/doing_build:building-with-separate-build-directories}}
411*7f2fe78bSCy Schubert\sphinxAtStartPar
412*7f2fe78bSCy SchubertIf you wish to keep separate build directories for each platform, you
413*7f2fe78bSCy Schubertcan do so using the following procedure.  (Note, this requires that
414*7f2fe78bSCy Schubertyour make program support VPATH.  GNU’s make will provide this
415*7f2fe78bSCy Schubertfunctionality, for example.)  If your make program does not support
416*7f2fe78bSCy Schubertthis, see the next section.
417*7f2fe78bSCy Schubert
418*7f2fe78bSCy Schubert\sphinxAtStartPar
419*7f2fe78bSCy SchubertFor example, if you wish to store the binaries in \sphinxcode{\sphinxupquote{tmpbuild}} build
420*7f2fe78bSCy Schubertdirectory you might use the following procedure:
421*7f2fe78bSCy Schubert
422*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
423*7f2fe78bSCy Schubert\PYG{n}{mkdir} \PYG{o}{/}\PYG{n}{u1}\PYG{o}{/}\PYG{n}{tmpbuild}
424*7f2fe78bSCy Schubert\PYG{n}{cd} \PYG{o}{/}\PYG{n}{u1}\PYG{o}{/}\PYG{n}{tmpbuild}
425*7f2fe78bSCy Schubert\PYG{o}{/}\PYG{n}{u1}\PYG{o}{/}\PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{VERSION}\PYG{o}{/}\PYG{n}{src}\PYG{o}{/}\PYG{n}{configure}
426*7f2fe78bSCy Schubert\PYG{n}{make}
427*7f2fe78bSCy Schubert\end{sphinxVerbatim}
428*7f2fe78bSCy Schubert
429*7f2fe78bSCy Schubert
430*7f2fe78bSCy Schubert\subsection{Building using lndir}
431*7f2fe78bSCy Schubert\label{\detokenize{build/doing_build:building-using-lndir}}
432*7f2fe78bSCy Schubert\sphinxAtStartPar
433*7f2fe78bSCy SchubertIf you wish to keep separate build directories for each platform, and
434*7f2fe78bSCy Schubertyou do not have access to a make program which supports VPATH, all is
435*7f2fe78bSCy Schubertnot lost.  You can use the lndir program to create symbolic link trees
436*7f2fe78bSCy Schubertin your build directory.
437*7f2fe78bSCy Schubert
438*7f2fe78bSCy Schubert\sphinxAtStartPar
439*7f2fe78bSCy SchubertFor example, if you wish to create a build directory for solaris
440*7f2fe78bSCy Schubertbinaries you might use the following procedure:
441*7f2fe78bSCy Schubert
442*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
443*7f2fe78bSCy Schubertmkdir /u1/krb5\PYGZhy{}VERSION/solaris
444*7f2fe78bSCy Schubertcd /u1/krb5\PYGZhy{}VERSION/solaris
445*7f2fe78bSCy Schubert/u1/krb5\PYGZhy{}VERSION/src/util/lndir `pwd`/../src
446*7f2fe78bSCy Schubert./configure
447*7f2fe78bSCy Schubertmake
448*7f2fe78bSCy Schubert\end{sphinxVerbatim}
449*7f2fe78bSCy Schubert
450*7f2fe78bSCy Schubert\sphinxAtStartPar
451*7f2fe78bSCy SchubertYou must give an absolute pathname to lndir because it has a bug that
452*7f2fe78bSCy Schubertmakes it fail for relative pathnames.  Note that this version differs
453*7f2fe78bSCy Schubertfrom the latest version as distributed and installed by the
454*7f2fe78bSCy SchubertXConsortium with X11R6.  Either version should be acceptable.
455*7f2fe78bSCy Schubert
456*7f2fe78bSCy Schubert
457*7f2fe78bSCy Schubert\subsection{Installing the binaries}
458*7f2fe78bSCy Schubert\label{\detokenize{build/doing_build:installing-the-binaries}}
459*7f2fe78bSCy Schubert\sphinxAtStartPar
460*7f2fe78bSCy SchubertOnce you have built Kerberos, you should install the binaries. You can
461*7f2fe78bSCy Schubertdo this by running:
462*7f2fe78bSCy Schubert
463*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
464*7f2fe78bSCy Schubert\PYG{n}{make} \PYG{n}{install}
465*7f2fe78bSCy Schubert\end{sphinxVerbatim}
466*7f2fe78bSCy Schubert
467*7f2fe78bSCy Schubert\sphinxAtStartPar
468*7f2fe78bSCy SchubertIf you want to install the binaries into a destination directory that
469*7f2fe78bSCy Schubertis not their final destination, which may be convenient if you want to
470*7f2fe78bSCy Schubertbuild a binary distribution to be deployed on multiple hosts, you may
471*7f2fe78bSCy Schubertuse:
472*7f2fe78bSCy Schubert
473*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
474*7f2fe78bSCy Schubert\PYG{n}{make} \PYG{n}{install} \PYG{n}{DESTDIR}\PYG{o}{=}\PYG{o}{/}\PYG{n}{path}\PYG{o}{/}\PYG{n}{to}\PYG{o}{/}\PYG{n}{destdir}
475*7f2fe78bSCy Schubert\end{sphinxVerbatim}
476*7f2fe78bSCy Schubert
477*7f2fe78bSCy Schubert\sphinxAtStartPar
478*7f2fe78bSCy SchubertThis will install the binaries under \sphinxstyleemphasis{DESTDIR/PREFIX}, e.g., the user
479*7f2fe78bSCy Schubertprograms will install into \sphinxstyleemphasis{DESTDIR/PREFIX/bin}, the libraries into
480*7f2fe78bSCy Schubert\sphinxstyleemphasis{DESTDIR/PREFIX/lib}, etc.  \sphinxstyleemphasis{DESTDIR} must be an absolute path.
481*7f2fe78bSCy Schubert
482*7f2fe78bSCy Schubert\sphinxAtStartPar
483*7f2fe78bSCy SchubertSome implementations of make allow multiple commands to be run in
484*7f2fe78bSCy Schubertparallel, for faster builds.  We test our Makefiles in parallel builds
485*7f2fe78bSCy Schubertwith GNU make only; they may not be compatible with other parallel
486*7f2fe78bSCy Schubertbuild implementations.
487*7f2fe78bSCy Schubert
488*7f2fe78bSCy Schubert
489*7f2fe78bSCy Schubert\subsection{Testing the build}
490*7f2fe78bSCy Schubert\label{\detokenize{build/doing_build:testing-the-build}}
491*7f2fe78bSCy Schubert\sphinxAtStartPar
492*7f2fe78bSCy SchubertThe Kerberos V5 distribution comes with built\sphinxhyphen{}in regression tests.  To
493*7f2fe78bSCy Schubertrun them, simply type the following command while in the top\sphinxhyphen{}level
494*7f2fe78bSCy Schubertbuild directory (i.e., the directory where you sent typed make to
495*7f2fe78bSCy Schubertstart building Kerberos; see {\hyperref[\detokenize{build/doing_build:do-build}]{\sphinxcrossref{\DUrole{std,std-ref}{Building within a single tree}}}}):
496*7f2fe78bSCy Schubert
497*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
498*7f2fe78bSCy Schubert\PYG{n}{make} \PYG{n}{check}
499*7f2fe78bSCy Schubert\end{sphinxVerbatim}
500*7f2fe78bSCy Schubert
501*7f2fe78bSCy Schubert\sphinxAtStartPar
502*7f2fe78bSCy SchubertOn some operating systems, you have to run \sphinxcode{\sphinxupquote{make install}} before
503*7f2fe78bSCy Schubertrunning \sphinxcode{\sphinxupquote{make check}}, or the test suite will pick up installed
504*7f2fe78bSCy Schubertversions of Kerberos libraries rather than the newly built ones.  You
505*7f2fe78bSCy Schubertcan install into a prefix that isn’t in the system library search
506*7f2fe78bSCy Schubertpath, though.  Alternatively, you can configure with
507*7f2fe78bSCy Schubert\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}rpath}, which renders the build tree less suitable
508*7f2fe78bSCy Schubertfor installation, but allows testing without interference from
509*7f2fe78bSCy Schubertpreviously installed libraries.
510*7f2fe78bSCy Schubert
511*7f2fe78bSCy Schubert\sphinxAtStartPar
512*7f2fe78bSCy SchubertThere are additional regression tests available, which are not run
513*7f2fe78bSCy Schubertby \sphinxcode{\sphinxupquote{make check}}.  These tests require manual setup and teardown of
514*7f2fe78bSCy Schubertsupport infrastructure which is not easily automated, or require
515*7f2fe78bSCy Schubertexcessive resources for ordinary use.  The procedure for running
516*7f2fe78bSCy Schubertthe manual tests is documented at
517*7f2fe78bSCy Schubert\sphinxurl{https://k5wiki.kerberos.org/wiki/Manual\_Testing}.
518*7f2fe78bSCy Schubert
519*7f2fe78bSCy Schubert
520*7f2fe78bSCy Schubert\subsection{Cleaning up the build}
521*7f2fe78bSCy Schubert\label{\detokenize{build/doing_build:cleaning-up-the-build}}\begin{itemize}
522*7f2fe78bSCy Schubert\item {}
523*7f2fe78bSCy Schubert\sphinxAtStartPar
524*7f2fe78bSCy SchubertUse \sphinxcode{\sphinxupquote{make clean}} to remove all files generated by running make
525*7f2fe78bSCy Schubertcommand.
526*7f2fe78bSCy Schubert
527*7f2fe78bSCy Schubert\item {}
528*7f2fe78bSCy Schubert\sphinxAtStartPar
529*7f2fe78bSCy SchubertUse \sphinxcode{\sphinxupquote{make distclean}} to remove all files generated by running
530*7f2fe78bSCy Schubert./configure script.  After running \sphinxcode{\sphinxupquote{make distclean}} your source
531*7f2fe78bSCy Schuberttree (ideally) should look like the raw (just un\sphinxhyphen{}tarred) source
532*7f2fe78bSCy Schuberttree.
533*7f2fe78bSCy Schubert
534*7f2fe78bSCy Schubert\end{itemize}
535*7f2fe78bSCy Schubert
536*7f2fe78bSCy Schubert
537*7f2fe78bSCy Schubert\subsection{Using autoconf}
538*7f2fe78bSCy Schubert\label{\detokenize{build/doing_build:using-autoconf}}
539*7f2fe78bSCy Schubert\sphinxAtStartPar
540*7f2fe78bSCy Schubert(If you are not a developer, you can ignore this section.)
541*7f2fe78bSCy Schubert
542*7f2fe78bSCy Schubert\sphinxAtStartPar
543*7f2fe78bSCy SchubertIn the Kerberos V5 source directory, there is a configure script which
544*7f2fe78bSCy Schubertautomatically determines the compilation environment and creates the
545*7f2fe78bSCy Schubertproper Makefiles for a particular platform.  This configure script is
546*7f2fe78bSCy Schubertgenerated using autoconf, which you should already have installed if
547*7f2fe78bSCy Schubertyou will be making changes to \sphinxcode{\sphinxupquote{src/configure.in}}.
548*7f2fe78bSCy Schubert
549*7f2fe78bSCy Schubert\sphinxAtStartPar
550*7f2fe78bSCy SchubertNormal users will not need to worry about running autoconf; the
551*7f2fe78bSCy Schubertdistribution comes with the configure script already prebuilt.
552*7f2fe78bSCy Schubert
553*7f2fe78bSCy Schubert\sphinxAtStartPar
554*7f2fe78bSCy SchubertThe autoconf package comes with a script called \sphinxcode{\sphinxupquote{autoreconf}} that
555*7f2fe78bSCy Schubertwill automatically run \sphinxcode{\sphinxupquote{autoconf}} and \sphinxcode{\sphinxupquote{autoheader}} as needed.  You
556*7f2fe78bSCy Schubertshould run \sphinxcode{\sphinxupquote{autoreconf}} from the top source directory, e.g.:
557*7f2fe78bSCy Schubert
558*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
559*7f2fe78bSCy Schubert\PYG{n}{cd} \PYG{o}{/}\PYG{n}{u1}\PYG{o}{/}\PYG{n}{krb5}\PYG{o}{\PYGZhy{}}\PYG{n}{VERSION}\PYG{o}{/}\PYG{n}{src}
560*7f2fe78bSCy Schubert\PYG{n}{autoreconf} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{n}{verbose}
561*7f2fe78bSCy Schubert\end{sphinxVerbatim}
562*7f2fe78bSCy Schubert
563*7f2fe78bSCy Schubert
564*7f2fe78bSCy Schubert\section{Options to \sphinxstyleemphasis{configure}}
565*7f2fe78bSCy Schubert\label{\detokenize{build/options2configure:options-to-configure}}\label{\detokenize{build/options2configure:options2configure}}\label{\detokenize{build/options2configure::doc}}
566*7f2fe78bSCy Schubert\sphinxAtStartPar
567*7f2fe78bSCy SchubertThere are a number of options to configure which you can use to
568*7f2fe78bSCy Schubertcontrol how the Kerberos distribution is built.
569*7f2fe78bSCy Schubert
570*7f2fe78bSCy Schubert
571*7f2fe78bSCy Schubert\subsection{Most commonly used options}
572*7f2fe78bSCy Schubert\label{\detokenize{build/options2configure:most-commonly-used-options}}\begin{description}
573*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}help}}] \leavevmode
574*7f2fe78bSCy Schubert\sphinxAtStartPar
575*7f2fe78bSCy SchubertProvides help to configure.  This will list the set of commonly
576*7f2fe78bSCy Schubertused options for building Kerberos.
577*7f2fe78bSCy Schubert
578*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix=}\sphinxstyleemphasis{PREFIX}}] \leavevmode
579*7f2fe78bSCy Schubert\sphinxAtStartPar
580*7f2fe78bSCy SchubertBy default, Kerberos will install the package’s files rooted at
581*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{/usr/local}}.  If you desire to place the binaries into the
582*7f2fe78bSCy Schubertdirectory \sphinxstyleemphasis{PREFIX}, use this option.
583*7f2fe78bSCy Schubert
584*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}exec\sphinxhyphen{}prefix=}\sphinxstyleemphasis{EXECPREFIX}}] \leavevmode
585*7f2fe78bSCy Schubert\sphinxAtStartPar
586*7f2fe78bSCy SchubertThis option allows one to separate the architecture independent
587*7f2fe78bSCy Schubertprograms from the host\sphinxhyphen{}dependent files (configuration files,
588*7f2fe78bSCy Schubertmanual pages).  Use this option to install architecture\sphinxhyphen{}dependent
589*7f2fe78bSCy Schubertprograms in \sphinxstyleemphasis{EXECPREFIX}.  The default location is the value of
590*7f2fe78bSCy Schubertspecified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix} option.
591*7f2fe78bSCy Schubert
592*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}localstatedir=}\sphinxstyleemphasis{LOCALSTATEDIR}}] \leavevmode
593*7f2fe78bSCy Schubert\sphinxAtStartPar
594*7f2fe78bSCy SchubertThis option sets the directory for locally modifiable
595*7f2fe78bSCy Schubertsingle\sphinxhyphen{}machine data.  In Kerberos, this mostly is useful for
596*7f2fe78bSCy Schubertsetting a location for the KDC data files, as they will be
597*7f2fe78bSCy Schubertinstalled in \sphinxcode{\sphinxupquote{LOCALSTATEDIR/krb5kdc}}, which is by default
598*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{PREFIX/var/krb5kdc}}.
599*7f2fe78bSCy Schubert
600*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}netlib}{[}=\sphinxstyleemphasis{libs}{]}}] \leavevmode
601*7f2fe78bSCy Schubert\sphinxAtStartPar
602*7f2fe78bSCy SchubertAllows for suppression of or replacement of network libraries.  By
603*7f2fe78bSCy Schubertdefault, Kerberos V5 configuration will look for \sphinxcode{\sphinxupquote{\sphinxhyphen{}lnsl}} and
604*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{\sphinxhyphen{}lsocket}}.  If your operating system has a broken resolver
605*7f2fe78bSCy Schubertlibrary or fails to pass the tests in \sphinxcode{\sphinxupquote{src/tests/resolv}}, you
606*7f2fe78bSCy Schubertwill need to use this option.
607*7f2fe78bSCy Schubert
608*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}enable\sphinxhyphen{}dns\sphinxhyphen{}for\sphinxhyphen{}realm}}] \leavevmode
609*7f2fe78bSCy Schubert\sphinxAtStartPar
610*7f2fe78bSCy SchubertEnable the use of DNS to look up a host’s Kerberos realm,
611*7f2fe78bSCy Schubertif the information is not provided in
612*7f2fe78bSCy Schubert\DUrole{xref,std,std-ref}{krb5.conf(5)}.  See \DUrole{xref,std,std-ref}{mapping\_hostnames}
613*7f2fe78bSCy Schubertfor information about using DNS to determine the default realm.
614*7f2fe78bSCy SchubertDNS lookups for realm names are disabled by default.
615*7f2fe78bSCy Schubert
616*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}et}}] \leavevmode
617*7f2fe78bSCy Schubert\sphinxAtStartPar
618*7f2fe78bSCy SchubertUse an installed version of the error\sphinxhyphen{}table (et) support software,
619*7f2fe78bSCy Schubertthe compile\_et program, the com\_err.h header file and the com\_err
620*7f2fe78bSCy Schubertlibrary.  If these are not in the default locations, you may wish
621*7f2fe78bSCy Schubertto specify \sphinxcode{\sphinxupquote{CPPFLAGS=\sphinxhyphen{}I/some/dir}} and
622*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{LDFLAGS=\sphinxhyphen{}L/some/other/dir}} options at configuration time as
623*7f2fe78bSCy Schubertwell.
624*7f2fe78bSCy Schubert
625*7f2fe78bSCy Schubert\sphinxAtStartPar
626*7f2fe78bSCy SchubertIf this option is not given, a version supplied with the Kerberos
627*7f2fe78bSCy Schubertsources will be built and installed along with the rest of the
628*7f2fe78bSCy SchubertKerberos tree, for Kerberos applications to link against.
629*7f2fe78bSCy Schubert
630*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}ss}}] \leavevmode
631*7f2fe78bSCy Schubert\sphinxAtStartPar
632*7f2fe78bSCy SchubertUse an installed version of the subsystem command\sphinxhyphen{}line interface
633*7f2fe78bSCy Schubertsoftware, the mk\_cmds program, the \sphinxcode{\sphinxupquote{ss/ss.h}} header file and the
634*7f2fe78bSCy Schubertss library.  If these are not in the default locations, you may
635*7f2fe78bSCy Schubertwish to specify \sphinxcode{\sphinxupquote{CPPFLAGS=\sphinxhyphen{}I/some/dir}} and
636*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{LDFLAGS=\sphinxhyphen{}L/some/other/dir}} options at configuration time as
637*7f2fe78bSCy Schubertwell.  See also the \sphinxstylestrong{SS\_LIB} option.
638*7f2fe78bSCy Schubert
639*7f2fe78bSCy Schubert\sphinxAtStartPar
640*7f2fe78bSCy SchubertIf this option is not given, the ss library supplied with the
641*7f2fe78bSCy SchubertKerberos sources will be compiled and linked into those programs
642*7f2fe78bSCy Schubertthat need it; it will not be installed separately.
643*7f2fe78bSCy Schubert
644*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}db}}] \leavevmode
645*7f2fe78bSCy Schubert\sphinxAtStartPar
646*7f2fe78bSCy SchubertUse an installed version of the Berkeley DB package, which must
647*7f2fe78bSCy Schubertprovide an API compatible with version 1.85.  This option is
648*7f2fe78bSCy Schubertunsupported and untested.  In particular, we do not know if the
649*7f2fe78bSCy Schubertdatabase\sphinxhyphen{}rename code used in the dumpfile load operation will
650*7f2fe78bSCy Schubertbehave properly.
651*7f2fe78bSCy Schubert
652*7f2fe78bSCy Schubert\sphinxAtStartPar
653*7f2fe78bSCy SchubertIf this option is not given, a version supplied with the Kerberos
654*7f2fe78bSCy Schubertsources will be built and installed.  (We are not updating this
655*7f2fe78bSCy Schubertversion at this time because of licensing issues with newer
656*7f2fe78bSCy Schubertversions that we haven’t investigated sufficiently yet.)
657*7f2fe78bSCy Schubert
658*7f2fe78bSCy Schubert\end{description}
659*7f2fe78bSCy Schubert
660*7f2fe78bSCy Schubert
661*7f2fe78bSCy Schubert\subsection{Environment variables}
662*7f2fe78bSCy Schubert\label{\detokenize{build/options2configure:environment-variables}}\begin{description}
663*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{CC=}\sphinxstyleemphasis{COMPILER}}] \leavevmode
664*7f2fe78bSCy Schubert\sphinxAtStartPar
665*7f2fe78bSCy SchubertUse \sphinxstyleemphasis{COMPILER} as the C compiler.
666*7f2fe78bSCy Schubert
667*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{CFLAGS=}\sphinxstyleemphasis{FLAGS}}] \leavevmode
668*7f2fe78bSCy Schubert\sphinxAtStartPar
669*7f2fe78bSCy SchubertUse \sphinxstyleemphasis{FLAGS} as the default set of C compiler flags.
670*7f2fe78bSCy Schubert
671*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{CPP=}\sphinxstyleemphasis{CPP}}] \leavevmode
672*7f2fe78bSCy Schubert\sphinxAtStartPar
673*7f2fe78bSCy SchubertC preprocessor to use. (e.g., \sphinxcode{\sphinxupquote{CPP=\textquotesingle{}gcc \sphinxhyphen{}E\textquotesingle{}}})
674*7f2fe78bSCy Schubert
675*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{CPPFLAGS=}\sphinxstyleemphasis{CPPOPTS}}] \leavevmode
676*7f2fe78bSCy Schubert\sphinxAtStartPar
677*7f2fe78bSCy SchubertUse \sphinxstyleemphasis{CPPOPTS} as the default set of C preprocessor flags.  The
678*7f2fe78bSCy Schubertmost common use of this option is to select certain \#define’s for
679*7f2fe78bSCy Schubertuse with the operating system’s include files.
680*7f2fe78bSCy Schubert
681*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{DB\_HEADER=}\sphinxstyleemphasis{headername}}] \leavevmode
682*7f2fe78bSCy Schubert\sphinxAtStartPar
683*7f2fe78bSCy SchubertIf db.h is not the correct header file to include to compile
684*7f2fe78bSCy Schubertagainst the Berkeley DB 1.85 API, specify the correct header file
685*7f2fe78bSCy Schubertname with this option. For example, \sphinxcode{\sphinxupquote{DB\_HEADER=db3/db\_185.h}}.
686*7f2fe78bSCy Schubert
687*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{DB\_LIB=}\sphinxstyleemphasis{libs}…}] \leavevmode
688*7f2fe78bSCy Schubert\sphinxAtStartPar
689*7f2fe78bSCy SchubertIf \sphinxcode{\sphinxupquote{\sphinxhyphen{}ldb}} is not the correct library specification for the
690*7f2fe78bSCy SchubertBerkeley DB library version to be used, override it with this
691*7f2fe78bSCy Schubertoption. For example, \sphinxcode{\sphinxupquote{DB\_LIB=\sphinxhyphen{}ldb\sphinxhyphen{}3.3}}.
692*7f2fe78bSCy Schubert
693*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{DEFCCNAME=}\sphinxstyleemphasis{ccachename}}] \leavevmode
694*7f2fe78bSCy Schubert\sphinxAtStartPar
695*7f2fe78bSCy SchubertOverride the built\sphinxhyphen{}in default credential cache name.
696*7f2fe78bSCy SchubertFor example, \sphinxcode{\sphinxupquote{DEFCCNAME=DIR:/var/run/user/\%\{USERID\}/ccache}}
697*7f2fe78bSCy SchubertSee \DUrole{xref,std,std-ref}{parameter\_expansion} for information about supported
698*7f2fe78bSCy Schubertparameter expansions.
699*7f2fe78bSCy Schubert
700*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{DEFCKTNAME=}\sphinxstyleemphasis{keytabname}}] \leavevmode
701*7f2fe78bSCy Schubert\sphinxAtStartPar
702*7f2fe78bSCy SchubertOverride the built\sphinxhyphen{}in default client keytab name.
703*7f2fe78bSCy SchubertThe format is the same as for \sphinxstyleemphasis{DEFCCNAME}.
704*7f2fe78bSCy Schubert
705*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{DEFKTNAME=}\sphinxstyleemphasis{keytabname}}] \leavevmode
706*7f2fe78bSCy Schubert\sphinxAtStartPar
707*7f2fe78bSCy SchubertOverride the built\sphinxhyphen{}in default keytab name.
708*7f2fe78bSCy SchubertThe format is the same as for \sphinxstyleemphasis{DEFCCNAME}.
709*7f2fe78bSCy Schubert
710*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{LD=}\sphinxstyleemphasis{LINKER}}] \leavevmode
711*7f2fe78bSCy Schubert\sphinxAtStartPar
712*7f2fe78bSCy SchubertUse \sphinxstyleemphasis{LINKER} as the default loader if it should be different from
713*7f2fe78bSCy SchubertC compiler as specified above.
714*7f2fe78bSCy Schubert
715*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{LDFLAGS=}\sphinxstyleemphasis{LDOPTS}}] \leavevmode
716*7f2fe78bSCy Schubert\sphinxAtStartPar
717*7f2fe78bSCy SchubertThis option informs the linker where to get additional libraries
718*7f2fe78bSCy Schubert(e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}L\textless{}lib dir\textgreater{}}}).
719*7f2fe78bSCy Schubert
720*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{LIBS=}\sphinxstyleemphasis{LDNAME}}] \leavevmode
721*7f2fe78bSCy Schubert\sphinxAtStartPar
722*7f2fe78bSCy SchubertThis option allows one to specify libraries to be passed to the
723*7f2fe78bSCy Schubertlinker (e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}l\textless{}library\textgreater{}}})
724*7f2fe78bSCy Schubert
725*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{PKCS11\_MODNAME=}\sphinxstyleemphasis{library}}] \leavevmode
726*7f2fe78bSCy Schubert\sphinxAtStartPar
727*7f2fe78bSCy SchubertOverride the built\sphinxhyphen{}in default PKCS11 library name.
728*7f2fe78bSCy Schubert
729*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{SS\_LIB=}\sphinxstyleemphasis{libs}…}] \leavevmode
730*7f2fe78bSCy Schubert\sphinxAtStartPar
731*7f2fe78bSCy SchubertIf \sphinxcode{\sphinxupquote{\sphinxhyphen{}lss}} is not the correct way to link in your installed ss
732*7f2fe78bSCy Schubertlibrary, for example if additional support libraries are needed,
733*7f2fe78bSCy Schubertspecify the correct link options here.  Some variants of this
734*7f2fe78bSCy Schubertlibrary are around which allow for Emacs\sphinxhyphen{}like line editing, but
735*7f2fe78bSCy Schubertdifferent versions require different support libraries to be
736*7f2fe78bSCy Schubertexplicitly specified.
737*7f2fe78bSCy Schubert
738*7f2fe78bSCy Schubert\sphinxAtStartPar
739*7f2fe78bSCy SchubertThis option is ignored if \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}ss} is not specified.
740*7f2fe78bSCy Schubert
741*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{YACC}}] \leavevmode
742*7f2fe78bSCy Schubert\sphinxAtStartPar
743*7f2fe78bSCy SchubertThe ‘Yet Another C Compiler’ implementation to use. Defaults to
744*7f2fe78bSCy Schubertthe first program found out of: ‘\sphinxtitleref{bison \sphinxhyphen{}y}’, ‘\sphinxtitleref{byacc}’,
745*7f2fe78bSCy Schubert‘\sphinxtitleref{yacc}’.
746*7f2fe78bSCy Schubert
747*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{YFLAGS}}] \leavevmode
748*7f2fe78bSCy Schubert\sphinxAtStartPar
749*7f2fe78bSCy SchubertThe list of arguments that will be passed by default to \$YACC.
750*7f2fe78bSCy SchubertThis script will default YFLAGS to the empty string to avoid a
751*7f2fe78bSCy Schubertdefault value of \sphinxcode{\sphinxupquote{\sphinxhyphen{}d}} given by some make applications.
752*7f2fe78bSCy Schubert
753*7f2fe78bSCy Schubert\end{description}
754*7f2fe78bSCy Schubert
755*7f2fe78bSCy Schubert
756*7f2fe78bSCy Schubert\subsection{Fine tuning of the installation directories}
757*7f2fe78bSCy Schubert\label{\detokenize{build/options2configure:fine-tuning-of-the-installation-directories}}\begin{description}
758*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}bindir=}\sphinxstyleemphasis{DIR}}] \leavevmode
759*7f2fe78bSCy Schubert\sphinxAtStartPar
760*7f2fe78bSCy SchubertUser executables.  Defaults to \sphinxcode{\sphinxupquote{EXECPREFIX/bin}}, where
761*7f2fe78bSCy Schubert\sphinxstyleemphasis{EXECPREFIX} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}exec\sphinxhyphen{}prefix}
762*7f2fe78bSCy Schubertconfiguration option.
763*7f2fe78bSCy Schubert
764*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}sbindir=}\sphinxstyleemphasis{DIR}}] \leavevmode
765*7f2fe78bSCy Schubert\sphinxAtStartPar
766*7f2fe78bSCy SchubertSystem admin executables.  Defaults to \sphinxcode{\sphinxupquote{EXECPREFIX/sbin}}, where
767*7f2fe78bSCy Schubert\sphinxstyleemphasis{EXECPREFIX} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}exec\sphinxhyphen{}prefix}
768*7f2fe78bSCy Schubertconfiguration option.
769*7f2fe78bSCy Schubert
770*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}sysconfdir=}\sphinxstyleemphasis{DIR}}] \leavevmode
771*7f2fe78bSCy Schubert\sphinxAtStartPar
772*7f2fe78bSCy SchubertRead\sphinxhyphen{}only single\sphinxhyphen{}machine data such as krb5.conf.
773*7f2fe78bSCy SchubertDefaults to \sphinxcode{\sphinxupquote{PREFIX/etc}}, where
774*7f2fe78bSCy Schubert\sphinxstyleemphasis{PREFIX} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix} configuration
775*7f2fe78bSCy Schubertoption.
776*7f2fe78bSCy Schubert
777*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}libdir=}\sphinxstyleemphasis{DIR}}] \leavevmode
778*7f2fe78bSCy Schubert\sphinxAtStartPar
779*7f2fe78bSCy SchubertObject code libraries.  Defaults to \sphinxcode{\sphinxupquote{EXECPREFIX/lib}}, where
780*7f2fe78bSCy Schubert\sphinxstyleemphasis{EXECPREFIX} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}exec\sphinxhyphen{}prefix}
781*7f2fe78bSCy Schubertconfiguration option.
782*7f2fe78bSCy Schubert
783*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}includedir=}\sphinxstyleemphasis{DIR}}] \leavevmode
784*7f2fe78bSCy Schubert\sphinxAtStartPar
785*7f2fe78bSCy SchubertC header files.  Defaults to \sphinxcode{\sphinxupquote{PREFIX/include}}, where \sphinxstyleemphasis{PREFIX} is
786*7f2fe78bSCy Schubertthe path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix} configuration option.
787*7f2fe78bSCy Schubert
788*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}datarootdir=}\sphinxstyleemphasis{DATAROOTDIR}}] \leavevmode
789*7f2fe78bSCy Schubert\sphinxAtStartPar
790*7f2fe78bSCy SchubertRead\sphinxhyphen{}only architecture\sphinxhyphen{}independent data root.  Defaults to
791*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{PREFIX/share}}, where \sphinxstyleemphasis{PREFIX} is the path specified by
792*7f2fe78bSCy Schubert\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}prefix} configuration option.
793*7f2fe78bSCy Schubert
794*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}datadir=}\sphinxstyleemphasis{DIR}}] \leavevmode
795*7f2fe78bSCy Schubert\sphinxAtStartPar
796*7f2fe78bSCy SchubertRead\sphinxhyphen{}only architecture\sphinxhyphen{}independent data.  Defaults to path
797*7f2fe78bSCy Schubertspecified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}datarootdir} configuration option.
798*7f2fe78bSCy Schubert
799*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}localedir=}\sphinxstyleemphasis{DIR}}] \leavevmode
800*7f2fe78bSCy Schubert\sphinxAtStartPar
801*7f2fe78bSCy SchubertLocale\sphinxhyphen{}dependent data.  Defaults to \sphinxcode{\sphinxupquote{DATAROOTDIR/locale}}, where
802*7f2fe78bSCy Schubert\sphinxstyleemphasis{DATAROOTDIR} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}datarootdir}
803*7f2fe78bSCy Schubertconfiguration option.
804*7f2fe78bSCy Schubert
805*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}mandir=}\sphinxstyleemphasis{DIR}}] \leavevmode
806*7f2fe78bSCy Schubert\sphinxAtStartPar
807*7f2fe78bSCy SchubertMan documentation.  Defaults to \sphinxcode{\sphinxupquote{DATAROOTDIR/man}}, where
808*7f2fe78bSCy Schubert\sphinxstyleemphasis{DATAROOTDIR} is the path specified by \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}datarootdir}
809*7f2fe78bSCy Schubertconfiguration option.
810*7f2fe78bSCy Schubert
811*7f2fe78bSCy Schubert\end{description}
812*7f2fe78bSCy Schubert
813*7f2fe78bSCy Schubert
814*7f2fe78bSCy Schubert\subsection{Program names}
815*7f2fe78bSCy Schubert\label{\detokenize{build/options2configure:program-names}}\begin{description}
816*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}program\sphinxhyphen{}prefix=}\sphinxstyleemphasis{PREFIX}}] \leavevmode
817*7f2fe78bSCy Schubert\sphinxAtStartPar
818*7f2fe78bSCy SchubertPrepend \sphinxstyleemphasis{PREFIX} to the names of the programs when installing
819*7f2fe78bSCy Schubertthem. For example, specifying \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}program\sphinxhyphen{}prefix=mit\sphinxhyphen{}}} at the
820*7f2fe78bSCy Schubertconfigure time will cause the program named \sphinxcode{\sphinxupquote{abc}} to be
821*7f2fe78bSCy Schubertinstalled as \sphinxcode{\sphinxupquote{mit\sphinxhyphen{}abc}}.
822*7f2fe78bSCy Schubert
823*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}program\sphinxhyphen{}suffix=}\sphinxstyleemphasis{SUFFIX}}] \leavevmode
824*7f2fe78bSCy Schubert\sphinxAtStartPar
825*7f2fe78bSCy SchubertAppend \sphinxstyleemphasis{SUFFIX} to the names of the programs when installing them.
826*7f2fe78bSCy SchubertFor example, specifying \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}program\sphinxhyphen{}suffix=\sphinxhyphen{}mit}} at the configure
827*7f2fe78bSCy Schuberttime will cause the program named \sphinxcode{\sphinxupquote{abc}} to be installed as
828*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{abc\sphinxhyphen{}mit}}.
829*7f2fe78bSCy Schubert
830*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}program\sphinxhyphen{}transform\sphinxhyphen{}name=}\sphinxstyleemphasis{PROGRAM}}] \leavevmode
831*7f2fe78bSCy Schubert\sphinxAtStartPar
832*7f2fe78bSCy SchubertRun \sphinxcode{\sphinxupquote{sed \sphinxhyphen{}e PROGRAM}} on installed program names. (\sphinxstyleemphasis{PROGRAM} is a
833*7f2fe78bSCy Schubertsed script).
834*7f2fe78bSCy Schubert
835*7f2fe78bSCy Schubert\end{description}
836*7f2fe78bSCy Schubert
837*7f2fe78bSCy Schubert
838*7f2fe78bSCy Schubert\subsection{System types}
839*7f2fe78bSCy Schubert\label{\detokenize{build/options2configure:system-types}}\begin{description}
840*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}build=}\sphinxstyleemphasis{BUILD}}] \leavevmode
841*7f2fe78bSCy Schubert\sphinxAtStartPar
842*7f2fe78bSCy SchubertConfigure for building on \sphinxstyleemphasis{BUILD}
843*7f2fe78bSCy Schubert(e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}build=x86\_64\sphinxhyphen{}linux\sphinxhyphen{}gnu}}).
844*7f2fe78bSCy Schubert
845*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}host=}\sphinxstyleemphasis{HOST}}] \leavevmode
846*7f2fe78bSCy Schubert\sphinxAtStartPar
847*7f2fe78bSCy SchubertCross\sphinxhyphen{}compile to build programs to run on \sphinxstyleemphasis{HOST}
848*7f2fe78bSCy Schubert(e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}host=x86\_64\sphinxhyphen{}linux\sphinxhyphen{}gnu}}).  By default, Kerberos V5
849*7f2fe78bSCy Schubertconfiguration will look for “build” option.
850*7f2fe78bSCy Schubert
851*7f2fe78bSCy Schubert\end{description}
852*7f2fe78bSCy Schubert
853*7f2fe78bSCy Schubert
854*7f2fe78bSCy Schubert\subsection{Optional features}
855*7f2fe78bSCy Schubert\label{\detokenize{build/options2configure:optional-features}}\begin{description}
856*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}option\sphinxhyphen{}checking}}] \leavevmode
857*7f2fe78bSCy Schubert\sphinxAtStartPar
858*7f2fe78bSCy SchubertIgnore unrecognized \textendash{}enable/\textendash{}with options.
859*7f2fe78bSCy Schubert
860*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}}\sphinxstyleemphasis{FEATURE}}] \leavevmode
861*7f2fe78bSCy Schubert\sphinxAtStartPar
862*7f2fe78bSCy SchubertDo not include \sphinxstyleemphasis{FEATURE} (same as \textendash{}enable\sphinxhyphen{}FEATURE=no).
863*7f2fe78bSCy Schubert
864*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}enable\sphinxhyphen{}}\sphinxstyleemphasis{FEATURE}{[}=\sphinxstyleemphasis{ARG}{]}}] \leavevmode
865*7f2fe78bSCy Schubert\sphinxAtStartPar
866*7f2fe78bSCy SchubertInclude \sphinxstyleemphasis{FEATURE} {[}ARG=yes{]}.
867*7f2fe78bSCy Schubert
868*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}enable\sphinxhyphen{}maintainer\sphinxhyphen{}mode}}] \leavevmode
869*7f2fe78bSCy Schubert\sphinxAtStartPar
870*7f2fe78bSCy SchubertEnable rebuilding of source files, Makefiles, etc.
871*7f2fe78bSCy Schubert
872*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}delayed\sphinxhyphen{}initialization}}] \leavevmode
873*7f2fe78bSCy Schubert\sphinxAtStartPar
874*7f2fe78bSCy SchubertInitialize library code when loaded.  Defaults to delay until
875*7f2fe78bSCy Schubertfirst use.
876*7f2fe78bSCy Schubert
877*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}thread\sphinxhyphen{}support}}] \leavevmode
878*7f2fe78bSCy Schubert\sphinxAtStartPar
879*7f2fe78bSCy SchubertDon’t enable thread support.  Defaults to enabled.
880*7f2fe78bSCy Schubert
881*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}rpath}}] \leavevmode
882*7f2fe78bSCy Schubert\sphinxAtStartPar
883*7f2fe78bSCy SchubertSuppress run path flags in link lines.
884*7f2fe78bSCy Schubert
885*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}enable\sphinxhyphen{}athena}}] \leavevmode
886*7f2fe78bSCy Schubert\sphinxAtStartPar
887*7f2fe78bSCy SchubertBuild with MIT Project Athena configuration.
888*7f2fe78bSCy Schubert
889*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}kdc\sphinxhyphen{}lookaside\sphinxhyphen{}cache}}] \leavevmode
890*7f2fe78bSCy Schubert\sphinxAtStartPar
891*7f2fe78bSCy SchubertDisable the cache which detects client retransmits.
892*7f2fe78bSCy Schubert
893*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}pkinit}}] \leavevmode
894*7f2fe78bSCy Schubert\sphinxAtStartPar
895*7f2fe78bSCy SchubertDisable PKINIT plugin support.
896*7f2fe78bSCy Schubert
897*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}disable\sphinxhyphen{}aesni}}] \leavevmode
898*7f2fe78bSCy Schubert\sphinxAtStartPar
899*7f2fe78bSCy SchubertDisable support for using AES instructions on x86 platforms.
900*7f2fe78bSCy Schubert
901*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}enable\sphinxhyphen{}asan}{[}=\sphinxstyleemphasis{ARG}{]}}] \leavevmode
902*7f2fe78bSCy Schubert\sphinxAtStartPar
903*7f2fe78bSCy SchubertEnable building with asan memory error checking.  If \sphinxstyleemphasis{ARG} is
904*7f2fe78bSCy Schubertgiven, it controls the \sphinxhyphen{}fsanitize compilation flag value (the
905*7f2fe78bSCy Schubertdefault is “address”).
906*7f2fe78bSCy Schubert
907*7f2fe78bSCy Schubert\end{description}
908*7f2fe78bSCy Schubert
909*7f2fe78bSCy Schubert
910*7f2fe78bSCy Schubert\subsection{Optional packages}
911*7f2fe78bSCy Schubert\label{\detokenize{build/options2configure:optional-packages}}\begin{description}
912*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}}\sphinxstyleemphasis{PACKAGE}{[}=ARG{]}}] \leavevmode
913*7f2fe78bSCy Schubert\sphinxAtStartPar
914*7f2fe78bSCy SchubertUse \sphinxstyleemphasis{PACKAGE} (e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}with\sphinxhyphen{}imap}}).  The default value of \sphinxstyleemphasis{ARG}
915*7f2fe78bSCy Schubertis \sphinxcode{\sphinxupquote{yes}}.
916*7f2fe78bSCy Schubert
917*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}without\sphinxhyphen{}}\sphinxstyleemphasis{PACKAGE}}] \leavevmode
918*7f2fe78bSCy Schubert\sphinxAtStartPar
919*7f2fe78bSCy SchubertDo not use \sphinxstyleemphasis{PACKAGE} (same as \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}with\sphinxhyphen{}PACKAGE=no}})
920*7f2fe78bSCy Schubert(e.g., \sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}libedit}}).
921*7f2fe78bSCy Schubert
922*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}size\sphinxhyphen{}optimizations}}] \leavevmode
923*7f2fe78bSCy Schubert\sphinxAtStartPar
924*7f2fe78bSCy SchubertEnable a few optimizations to reduce code size possibly at some
925*7f2fe78bSCy Schubertrun\sphinxhyphen{}time cost.
926*7f2fe78bSCy Schubert
927*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}et}}] \leavevmode
928*7f2fe78bSCy Schubert\sphinxAtStartPar
929*7f2fe78bSCy SchubertUse the com\_err library and compile\_et utility that are already
930*7f2fe78bSCy Schubertinstalled on the system, instead of building and installing
931*7f2fe78bSCy Schubertlocal versions.
932*7f2fe78bSCy Schubert
933*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}ss}}] \leavevmode
934*7f2fe78bSCy Schubert\sphinxAtStartPar
935*7f2fe78bSCy SchubertUse the ss library and mk\_cmds utility that are already installed
936*7f2fe78bSCy Schuberton the system, instead of building and using private versions.
937*7f2fe78bSCy Schubert
938*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}db}}] \leavevmode
939*7f2fe78bSCy Schubert\sphinxAtStartPar
940*7f2fe78bSCy SchubertUse the berkeley db utility already installed on the system,
941*7f2fe78bSCy Schubertinstead of using a private version.  This option is not
942*7f2fe78bSCy Schubertrecommended; enabling it may result in incompatibility with key
943*7f2fe78bSCy Schubertdatabases originating on other systems.
944*7f2fe78bSCy Schubert
945*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}netlib=}\sphinxstyleemphasis{LIBS}}] \leavevmode
946*7f2fe78bSCy Schubert\sphinxAtStartPar
947*7f2fe78bSCy SchubertUse the resolver library specified in \sphinxstyleemphasis{LIBS}.  Use this variable
948*7f2fe78bSCy Schubertif the C library resolver is insufficient or broken.
949*7f2fe78bSCy Schubert
950*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}hesiod=}\sphinxstyleemphasis{path}}] \leavevmode
951*7f2fe78bSCy Schubert\sphinxAtStartPar
952*7f2fe78bSCy SchubertCompile with Hesiod support.  The \sphinxstyleemphasis{path} points to the Hesiod
953*7f2fe78bSCy Schubertdirectory.  By default Hesiod is unsupported.
954*7f2fe78bSCy Schubert
955*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}ldap}}] \leavevmode
956*7f2fe78bSCy Schubert\sphinxAtStartPar
957*7f2fe78bSCy SchubertCompile OpenLDAP database backend module.
958*7f2fe78bSCy Schubert
959*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}lmdb}}] \leavevmode
960*7f2fe78bSCy Schubert\sphinxAtStartPar
961*7f2fe78bSCy SchubertCompile LMDB database backend module.
962*7f2fe78bSCy Schubert
963*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}vague\sphinxhyphen{}errors}}] \leavevmode
964*7f2fe78bSCy Schubert\sphinxAtStartPar
965*7f2fe78bSCy SchubertDo not send helpful errors to client.  For example, if the KDC
966*7f2fe78bSCy Schubertshould return only vague error codes to clients.
967*7f2fe78bSCy Schubert
968*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}crypto\sphinxhyphen{}impl=}\sphinxstyleemphasis{IMPL}}] \leavevmode
969*7f2fe78bSCy Schubert\sphinxAtStartPar
970*7f2fe78bSCy SchubertUse specified crypto implementation (e.g., \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}crypto\sphinxhyphen{}impl=}\sphinxstyleemphasis{openssl}).  The default is the native MIT
971*7f2fe78bSCy SchubertKerberos implementation \sphinxcode{\sphinxupquote{builtin}}.  The other currently
972*7f2fe78bSCy Schubertimplemented crypto backend is \sphinxcode{\sphinxupquote{openssl}}.  (See
973*7f2fe78bSCy Schubert\DUrole{xref,std,std-ref}{mitK5features})
974*7f2fe78bSCy Schubert
975*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}without\sphinxhyphen{}libedit}}] \leavevmode
976*7f2fe78bSCy Schubert\sphinxAtStartPar
977*7f2fe78bSCy SchubertDo not compile and link against libedit.  Some utilities will no
978*7f2fe78bSCy Schubertlonger offer command history or completion in interactive mode if
979*7f2fe78bSCy Schubertlibedit is disabled.
980*7f2fe78bSCy Schubert
981*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}readline}}] \leavevmode
982*7f2fe78bSCy Schubert\sphinxAtStartPar
983*7f2fe78bSCy SchubertCompile and link against GNU readline, as an alternative to libedit.
984*7f2fe78bSCy Schubert
985*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}system\sphinxhyphen{}verto}}] \leavevmode
986*7f2fe78bSCy Schubert\sphinxAtStartPar
987*7f2fe78bSCy SchubertUse an installed version of libverto.  If the libverto header and
988*7f2fe78bSCy Schubertlibrary are not in default locations, you may wish to specify
989*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{CPPFLAGS=\sphinxhyphen{}I/some/dir}} and \sphinxcode{\sphinxupquote{LDFLAGS=\sphinxhyphen{}L/some/other/dir}} options
990*7f2fe78bSCy Schubertat configuration time as well.
991*7f2fe78bSCy Schubert
992*7f2fe78bSCy Schubert\sphinxAtStartPar
993*7f2fe78bSCy SchubertIf this option is not given, the build system will try to detect
994*7f2fe78bSCy Schubertan installed version of libverto and use it if it is found.
995*7f2fe78bSCy SchubertOtherwise, a version supplied with the Kerberos sources will be
996*7f2fe78bSCy Schubertbuilt and installed.  The built\sphinxhyphen{}in version does not contain the
997*7f2fe78bSCy Schubertfull set of back\sphinxhyphen{}end modules and is not a suitable general
998*7f2fe78bSCy Schubertreplacement for the upstream version, but will work for the
999*7f2fe78bSCy Schubertpurposes of Kerberos.
1000*7f2fe78bSCy Schubert
1001*7f2fe78bSCy Schubert\sphinxAtStartPar
1002*7f2fe78bSCy SchubertSpecifying \sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}without\sphinxhyphen{}system\sphinxhyphen{}verto} will cause the built\sphinxhyphen{}in
1003*7f2fe78bSCy Schubertversion of libverto to be used unconditionally.
1004*7f2fe78bSCy Schubert
1005*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}with\sphinxhyphen{}krb5\sphinxhyphen{}config=}\sphinxstyleemphasis{PATH}}] \leavevmode
1006*7f2fe78bSCy Schubert\sphinxAtStartPar
1007*7f2fe78bSCy SchubertUse the krb5\sphinxhyphen{}config program at \sphinxstyleemphasis{PATH} to obtain the build\sphinxhyphen{}time
1008*7f2fe78bSCy Schubertdefault credential cache, keytab, and client keytab names.  The
1009*7f2fe78bSCy Schubertdefault is to use \sphinxcode{\sphinxupquote{krb5\sphinxhyphen{}config}} from the program path.  Specify
1010*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{\sphinxhyphen{}\sphinxhyphen{}without\sphinxhyphen{}krb5\sphinxhyphen{}config}} to disable the use of krb5\sphinxhyphen{}config and
1011*7f2fe78bSCy Schubertuse the usual built\sphinxhyphen{}in defaults.
1012*7f2fe78bSCy Schubert
1013*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{\sphinxhyphen{}}\sphinxstylestrong{\sphinxhyphen{}without\sphinxhyphen{}keyutils}}] \leavevmode
1014*7f2fe78bSCy Schubert\sphinxAtStartPar
1015*7f2fe78bSCy SchubertBuild without libkeyutils support.  This disables the KEYRING
1016*7f2fe78bSCy Schubertcredential cache type.
1017*7f2fe78bSCy Schubert
1018*7f2fe78bSCy Schubert\end{description}
1019*7f2fe78bSCy Schubert
1020*7f2fe78bSCy Schubert
1021*7f2fe78bSCy Schubert\subsection{Examples}
1022*7f2fe78bSCy Schubert\label{\detokenize{build/options2configure:examples}}
1023*7f2fe78bSCy Schubert\sphinxAtStartPar
1024*7f2fe78bSCy SchubertFor example, in order to configure Kerberos on a Solaris machine using
1025*7f2fe78bSCy Schubertthe suncc compiler with the optimizer turned on, run the configure
1026*7f2fe78bSCy Schubertscript with the following options:
1027*7f2fe78bSCy Schubert
1028*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
1029*7f2fe78bSCy Schubert\PYG{o}{\PYGZpc{}} \PYG{o}{.}\PYG{o}{/}\PYG{n}{configure} \PYG{n}{CC}\PYG{o}{=}\PYG{n}{suncc} \PYG{n}{CFLAGS}\PYG{o}{=}\PYG{o}{\PYGZhy{}}\PYG{n}{O}
1030*7f2fe78bSCy Schubert\end{sphinxVerbatim}
1031*7f2fe78bSCy Schubert
1032*7f2fe78bSCy Schubert\sphinxAtStartPar
1033*7f2fe78bSCy SchubertFor a slightly more complicated example, consider a system where
1034*7f2fe78bSCy Schubertseveral packages to be used by Kerberos are installed in
1035*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{/usr/foobar}}, including Berkeley DB 3.3, and an ss library that
1036*7f2fe78bSCy Schubertneeds to link against the curses library.  The configuration of
1037*7f2fe78bSCy SchubertKerberos might be done thus:
1038*7f2fe78bSCy Schubert
1039*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
1040*7f2fe78bSCy Schubert\PYG{o}{.}\PYG{o}{/}\PYG{n}{configure} \PYG{n}{CPPFLAGS}\PYG{o}{=}\PYG{o}{\PYGZhy{}}\PYG{n}{I}\PYG{o}{/}\PYG{n}{usr}\PYG{o}{/}\PYG{n}{foobar}\PYG{o}{/}\PYG{n}{include} \PYG{n}{LDFLAGS}\PYG{o}{=}\PYG{o}{\PYGZhy{}}\PYG{n}{L}\PYG{o}{/}\PYG{n}{usr}\PYG{o}{/}\PYG{n}{foobar}\PYG{o}{/}\PYG{n}{lib} \PYGZbs{}
1041*7f2fe78bSCy Schubert\PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{k}{with}\PYG{o}{\PYGZhy{}}\PYG{n}{system}\PYG{o}{\PYGZhy{}}\PYG{n}{et} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{k}{with}\PYG{o}{\PYGZhy{}}\PYG{n}{system}\PYG{o}{\PYGZhy{}}\PYG{n}{ss} \PYG{o}{\PYGZhy{}}\PYG{o}{\PYGZhy{}}\PYG{k}{with}\PYG{o}{\PYGZhy{}}\PYG{n}{system}\PYG{o}{\PYGZhy{}}\PYG{n}{db}  \PYGZbs{}
1042*7f2fe78bSCy Schubert\PYG{n}{SS\PYGZus{}LIB}\PYG{o}{=}\PYG{l+s+s1}{\PYGZsq{}}\PYG{l+s+s1}{\PYGZhy{}lss \PYGZhy{}lcurses}\PYG{l+s+s1}{\PYGZsq{}}  \PYG{n}{DB\PYGZus{}HEADER}\PYG{o}{=}\PYG{n}{db3}\PYG{o}{/}\PYG{n}{db\PYGZus{}185}\PYG{o}{.}\PYG{n}{h} \PYG{n}{DB\PYGZus{}LIB}\PYG{o}{=}\PYG{o}{\PYGZhy{}}\PYG{n}{ldb}\PYG{o}{\PYGZhy{}}\PYG{l+m+mf}{3.3}
1043*7f2fe78bSCy Schubert\end{sphinxVerbatim}
1044*7f2fe78bSCy Schubert
1045*7f2fe78bSCy Schubert
1046*7f2fe78bSCy Schubert\section{osconf.hin}
1047*7f2fe78bSCy Schubert\label{\detokenize{build/osconf:osconf-hin}}\label{\detokenize{build/osconf::doc}}
1048*7f2fe78bSCy Schubert\sphinxAtStartPar
1049*7f2fe78bSCy SchubertThere is one configuration file which you may wish to edit to control
1050*7f2fe78bSCy Schubertvarious compile\sphinxhyphen{}time parameters in the Kerberos distribution:
1051*7f2fe78bSCy Schubert
1052*7f2fe78bSCy Schubert\begin{sphinxVerbatim}[commandchars=\\\{\}]
1053*7f2fe78bSCy Schubert\PYG{n}{include}\PYG{o}{/}\PYG{n}{osconf}\PYG{o}{.}\PYG{n}{hin}
1054*7f2fe78bSCy Schubert\end{sphinxVerbatim}
1055*7f2fe78bSCy Schubert
1056*7f2fe78bSCy Schubert\sphinxAtStartPar
1057*7f2fe78bSCy SchubertThe list that follows is by no means complete, just some of the more
1058*7f2fe78bSCy Schubertinteresting variables.
1059*7f2fe78bSCy Schubert\begin{description}
1060*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{DEFAULT\_PROFILE\_PATH}}] \leavevmode
1061*7f2fe78bSCy Schubert\sphinxAtStartPar
1062*7f2fe78bSCy SchubertThe pathname to the file which contains the profiles for the known
1063*7f2fe78bSCy Schubertrealms, their KDCs, etc. The default value is \sphinxcode{\sphinxupquote{/etc/krb5.conf}}.
1064*7f2fe78bSCy Schubert
1065*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{DEFAULT\_KEYTAB\_NAME}}] \leavevmode
1066*7f2fe78bSCy Schubert\sphinxAtStartPar
1067*7f2fe78bSCy SchubertThe type and pathname to the default server keytab file.  The
1068*7f2fe78bSCy Schubertdefault is \DUrole{xref,std,std-ref}{DEFKTNAME}.
1069*7f2fe78bSCy Schubert
1070*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{DEFAULT\_KDC\_ENCTYPE}}] \leavevmode
1071*7f2fe78bSCy Schubert\sphinxAtStartPar
1072*7f2fe78bSCy SchubertThe default encryption type for the KDC database master key.  The
1073*7f2fe78bSCy Schubertdefault value is \sphinxcode{\sphinxupquote{aes256\sphinxhyphen{}cts\sphinxhyphen{}hmac\sphinxhyphen{}sha1\sphinxhyphen{}96}}.
1074*7f2fe78bSCy Schubert
1075*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{RCTMPDIR}}] \leavevmode
1076*7f2fe78bSCy Schubert\sphinxAtStartPar
1077*7f2fe78bSCy SchubertThe directory which stores replay caches.  The default is
1078*7f2fe78bSCy Schubert\sphinxcode{\sphinxupquote{/var/tmp}}.
1079*7f2fe78bSCy Schubert
1080*7f2fe78bSCy Schubert\item[{\sphinxstylestrong{DEFAULT\_KDB\_FILE}}] \leavevmode
1081*7f2fe78bSCy Schubert\sphinxAtStartPar
1082*7f2fe78bSCy SchubertThe location of the default database.  The default value is
1083*7f2fe78bSCy Schubert\DUrole{xref,std,std-ref}{LOCALSTATEDIR}\sphinxcode{\sphinxupquote{/krb5kdc}}\sphinxcode{\sphinxupquote{/principal}}.
1084*7f2fe78bSCy Schubert
1085*7f2fe78bSCy Schubert\end{description}
1086*7f2fe78bSCy Schubert
1087*7f2fe78bSCy Schubert
1088*7f2fe78bSCy Schubert
1089*7f2fe78bSCy Schubert\renewcommand{\indexname}{Index}
1090*7f2fe78bSCy Schubert\printindex
1091*7f2fe78bSCy Schubert\end{document}