bsd.own.mk revision 254273
1262395Sbapt# $FreeBSD: head/share/mk/bsd.own.mk 254273 2013-08-13 07:15:01Z peter $
2262395Sbapt#
3262395Sbapt# The include file <bsd.own.mk> set common variables for owner,
4262395Sbapt# group, mode, and directories. Defaults are in brackets.
5262395Sbapt#
6262395Sbapt#
7262395Sbapt# +++ variables +++
8262395Sbapt#
9262395Sbapt# DESTDIR	Change the tree where the file gets installed. [not set]
10262395Sbapt#
11262395Sbapt# DISTDIR	Change the tree where the file for a distribution
12262395Sbapt# 		gets installed (see /usr/src/release/Makefile). [not set]
13262395Sbapt#
14262395Sbapt# COMPRESS_CMD	Program to compress documents.
15262395Sbapt#		Output is to stdout. [gzip -cn]
16262395Sbapt#
17262395Sbapt# COMPRESS_EXT	File name extension of ${COMPRESS_CMD} command. [.gz]
18262395Sbapt#
19262395Sbapt# BINOWN	Binary owner. [root]
20262395Sbapt#
21262395Sbapt# BINGRP	Binary group. [wheel]
22262395Sbapt#
23262395Sbapt# BINMODE	Binary mode. [555]
24262395Sbapt#
25262395Sbapt# NOBINMODE	Mode for non-executable files. [444]
26262395Sbapt#
27262395Sbapt# LIBDIR	Base path for libraries. [/usr/lib]
28262395Sbapt#
29262395Sbapt# LIBCOMPATDIR	Base path for compat libraries. [/usr/lib/compat]
30262395Sbapt#
31262395Sbapt# LIBDATADIR	Base path for misc. utility data files. [/usr/libdata]
32262395Sbapt#
33262395Sbapt# LIBEXECDIR	Base path for system daemons and utilities. [/usr/libexec]
34262395Sbapt#
35262395Sbapt# LINTLIBDIR	Base path for lint libraries. [/usr/libdata/lint]
36262395Sbapt#
37262395Sbapt# SHLIBDIR	Base path for shared libraries. [${LIBDIR}]
38262395Sbapt#
39262395Sbapt# LIBOWN	Library owner. [${BINOWN}]
40262395Sbapt#
41262395Sbapt# LIBGRP	Library group. [${BINGRP}]
42262395Sbapt#
43262395Sbapt# LIBMODE	Library mode. [${NOBINMODE}]
44262395Sbapt#
45262395Sbapt#
46262395Sbapt# DEBUGDIR	Base path for standalone debug files. [/usr/lib/debug]
47262395Sbapt#
48262395Sbapt# DEBUGMODE	Mode for debug files. [${NOBINMODE}]
49262395Sbapt#
50262395Sbapt#
51262395Sbapt# KMODDIR	Base path for loadable kernel modules
52262395Sbapt#		(see kld(4)). [/boot/kernel]
53262395Sbapt#
54262395Sbapt# KMODOWN	Kernel and KLD owner. [${BINOWN}]
55262395Sbapt#
56262395Sbapt# KMODGRP	Kernel and KLD group. [${BINGRP}]
57262395Sbapt#
58262395Sbapt# KMODMODE	KLD mode. [${BINMODE}]
59262395Sbapt#
60262395Sbapt#
61262395Sbapt# SHAREDIR	Base path for architecture-independent ascii
62262395Sbapt#		text files. [/usr/share]
63262395Sbapt#
64262395Sbapt# SHAREOWN	ASCII text file owner. [root]
65262395Sbapt#
66262395Sbapt# SHAREGRP	ASCII text file group. [wheel]
67262395Sbapt#
68262395Sbapt# SHAREMODE	ASCII text file mode. [${NOBINMODE}]
69262395Sbapt#
70262395Sbapt#
71262395Sbapt# CONFDIR	Base path for configuration files. [/etc]
72262395Sbapt#
73262395Sbapt# CONFOWN	Configuration file owner. [root]
74262395Sbapt#
75262395Sbapt# CONFGRP	Configuration file group. [wheel]
76262395Sbapt#
77262395Sbapt# CONFMODE	Configuration file mode. [644]
78262395Sbapt#
79262395Sbapt#
80262395Sbapt# DOCDIR	Base path for system documentation (e.g. PSD, USD,
81262395Sbapt#		handbook, FAQ etc.). [${SHAREDIR}/doc]
82262395Sbapt#
83262395Sbapt# DOCOWN	Documentation owner. [${SHAREOWN}]
84262395Sbapt#
85262395Sbapt# DOCGRP	Documentation group. [${SHAREGRP}]
86262395Sbapt#
87262395Sbapt# DOCMODE	Documentation mode. [${NOBINMODE}]
88262395Sbapt#
89262395Sbapt#
90262395Sbapt# INFODIR	Base path for GNU's hypertext system
91262395Sbapt#		called Info (see info(1)). [${SHAREDIR}/info]
92262395Sbapt#
93262395Sbapt# INFOOWN	Info owner. [${SHAREOWN}]
94262395Sbapt#
95262395Sbapt# INFOGRP	Info group. [${SHAREGRP}]
96262395Sbapt#
97262395Sbapt# INFOMODE	Info mode. [${NOBINMODE}]
98262395Sbapt#
99262395Sbapt#
100262395Sbapt# MANDIR	Base path for manual installation. [${SHAREDIR}/man/man]
101262395Sbapt#
102262395Sbapt# MANOWN	Manual owner. [${SHAREOWN}]
103262395Sbapt#
104262395Sbapt# MANGRP	Manual group. [${SHAREGRP}]
105262395Sbapt#
106262395Sbapt# MANMODE	Manual mode. [${NOBINMODE}]
107262395Sbapt#
108262395Sbapt#
109262395Sbapt# NLSDIR	Base path for National Language Support files
110262395Sbapt#		installation. [${SHAREDIR}/nls]
111262395Sbapt#
112262395Sbapt# NLSOWN	National Language Support files owner. [${SHAREOWN}]
113262395Sbapt#
114262395Sbapt# NLSGRP	National Language Support files group. [${SHAREGRP}]
115262395Sbapt#
116262395Sbapt# NLSMODE	National Language Support files mode. [${NOBINMODE}]
117262395Sbapt#
118262395Sbapt# INCLUDEDIR	Base path for standard C include files [/usr/include]
119262395Sbapt
120262395Sbapt.if !target(__<bsd.own.mk>__)
121262395Sbapt__<bsd.own.mk>__:
122262395Sbapt
123262395Sbapt.if !defined(_WITHOUT_SRCCONF)
124262395SbaptSRCCONF?=	/etc/src.conf
125262395Sbapt.if exists(${SRCCONF}) || ${SRCCONF} != "/etc/src.conf"
126262395Sbapt.include "${SRCCONF}"
127262395Sbapt.endif
128262395Sbapt.endif
129262395Sbapt
130262395Sbapt# Binaries
131262395SbaptBINOWN?=	root
132262395SbaptBINGRP?=	wheel
133262395SbaptBINMODE?=	555
134262395SbaptNOBINMODE?=	444
135262395Sbapt
136262395Sbapt.if defined(MODULES_WITH_WORLD)
137262395SbaptKMODDIR?=	/boot/modules
138262395Sbapt.else
139262395SbaptKMODDIR?=	/boot/kernel
140262395Sbapt.endif
141262395SbaptKMODOWN?=	${BINOWN}
142262395SbaptKMODGRP?=	${BINGRP}
143262395SbaptKMODMODE?=	${BINMODE}
144262395Sbapt
145262395SbaptLIBDIR?=	/usr/lib
146262395SbaptLIBCOMPATDIR?=	/usr/lib/compat
147262395SbaptLIBDATADIR?=	/usr/libdata
148262395SbaptLIBEXECDIR?=	/usr/libexec
149262395SbaptLINTLIBDIR?=	/usr/libdata/lint
150262395SbaptSHLIBDIR?=	${LIBDIR}
151262395SbaptLIBOWN?=	${BINOWN}
152262395SbaptLIBGRP?=	${BINGRP}
153262395SbaptLIBMODE?=	${NOBINMODE}
154262395Sbapt
155262395SbaptDEBUGDIR?=	/usr/lib/debug
156262395SbaptDEBUGMODE?=	${NOBINMODE}
157262395Sbapt
158262395Sbapt
159262395Sbapt# Share files
160262395SbaptSHAREDIR?=	/usr/share
161262395SbaptSHAREOWN?=	root
162262395SbaptSHAREGRP?=	wheel
163262395SbaptSHAREMODE?=	${NOBINMODE}
164262395Sbapt
165262395SbaptCONFDIR?=	/etc
166262395SbaptCONFOWN?=	root
167262395SbaptCONFGRP?=	wheel
168262395SbaptCONFMODE?=	644
169262395Sbapt
170262395SbaptMANDIR?=	${SHAREDIR}/man/man
171262395SbaptMANOWN?=	${SHAREOWN}
172262395SbaptMANGRP?=	${SHAREGRP}
173262395SbaptMANMODE?=	${NOBINMODE}
174262395Sbapt
175262395SbaptDOCDIR?=	${SHAREDIR}/doc
176262395SbaptDOCOWN?=	${SHAREOWN}
177262395SbaptDOCGRP?=	${SHAREGRP}
178262395SbaptDOCMODE?=	${NOBINMODE}
179262395Sbapt
180262395SbaptINFODIR?=	${SHAREDIR}/info
181262395SbaptINFOOWN?=	${SHAREOWN}
182262395SbaptINFOGRP?=	${SHAREGRP}
183262395SbaptINFOMODE?=	${NOBINMODE}
184262395Sbapt
185262395SbaptNLSDIR?=	${SHAREDIR}/nls
186262395SbaptNLSOWN?=	${SHAREOWN}
187262395SbaptNLSGRP?=	${SHAREGRP}
188262395SbaptNLSMODE?=	${NOBINMODE}
189262395Sbapt
190262395SbaptINCLUDEDIR?=	/usr/include
191262395Sbapt
192262395Sbapt#
193262395Sbapt# install(1) parameters.
194262395Sbapt#
195262395SbaptHRDLINK?=	-l h
196262395SbaptSYMLINK?=	-l s
197262395Sbapt
198262395SbaptINSTALL_LINK?=		${INSTALL} ${HRDLINK}
199262395SbaptINSTALL_SYMLINK?=	${INSTALL} ${SYMLINK}
200262395Sbapt
201262395Sbapt# Common variables
202262395Sbapt.if !defined(DEBUG_FLAGS)
203262395SbaptSTRIP?=		-s
204262395Sbapt.endif
205262395Sbapt
206262395SbaptCOMPRESS_CMD?=	gzip -cn
207262395SbaptCOMPRESS_EXT?=	.gz
208262395Sbapt
209262395Sbapt.if !defined(_WITHOUT_SRCCONF)
210262395Sbapt#
211262395Sbapt# Define MK_* variables (which are either "yes" or "no") for users
212262395Sbapt# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the
213262395Sbapt# make(1) environment.
214262395Sbapt# These should be tested with `== "no"' or `!= "no"' in makefiles.
215262395Sbapt# The NO_* variables should only be set by makefiles.
216262395Sbapt#
217262395Sbapt
218262395Sbapt#
219262395Sbapt# Supported NO_* options (if defined, MK_* will be forced to "no",
220262395Sbapt# regardless of user's setting).
221262395Sbapt#
222262395Sbapt.for var in \
223262395Sbapt    CTF \
224262395Sbapt    DEBUG_FILES \
225262395Sbapt    INSTALLLIB \
226262395Sbapt    MAN \
227262395Sbapt    PROFILE
228262395Sbapt.if defined(NO_${var})
229262395Sbapt.if defined(WITH_${var})
230262395Sbapt.undef WITH_${var}
231262395Sbapt.endif
232262395SbaptWITHOUT_${var}=
233262395Sbapt.endif
234262395Sbapt.endfor
235262395Sbapt
236262395Sbapt#
237262395Sbapt# Older-style variables that enabled behaviour when set.
238262395Sbapt#
239266636Sbapt.if defined(YES_HESIOD)
240266636SbaptWITH_HESIOD=
241266636Sbapt.endif
242262395Sbapt
243262395Sbapt__DEFAULT_YES_OPTIONS = \
244262395Sbapt    ACCT \
245262395Sbapt    ACPI \
246262395Sbapt    AMD \
247262395Sbapt    APM \
248262395Sbapt    ARM_EABI \
249262395Sbapt    ASSERT_DEBUG \
250262395Sbapt    AT \
251262395Sbapt    ATF \
252262395Sbapt    ATM \
253262395Sbapt    AUDIT \
254262395Sbapt    AUTHPF \
255262395Sbapt    BIND \
256262395Sbapt    BIND_DNSSEC \
257262395Sbapt    BIND_ETC \
258262395Sbapt    BIND_LIBS_LWRES \
259262395Sbapt    BIND_MTREE \
260262395Sbapt    BIND_NAMED \
261262395Sbapt    BIND_UTILS \
262262395Sbapt    BINUTILS \
263262395Sbapt    BLUETOOTH \
264266636Sbapt    BMAKE \
265266636Sbapt    BOOT \
266266636Sbapt    BSD_CPIO \
267266636Sbapt    BSNMP \
268266636Sbapt    BZIP2 \
269266636Sbapt    CALENDAR \
270266636Sbapt    CAPSICUM \
271266636Sbapt    CDDL \
272266636Sbapt    CPP \
273266636Sbapt    CROSS_COMPILER \
274266636Sbapt    CRYPT \
275266636Sbapt    CTM \
276266636Sbapt    CXX \
277262395Sbapt    DICT \
278262395Sbapt    DYNAMICROOT \
279262395Sbapt    ED_CRYPTO \
280262395Sbapt    EXAMPLES \
281262395Sbapt    FLOPPY \
282262395Sbapt    FORMAT_EXTENSIONS \
283262395Sbapt    FORTH \
284262395Sbapt    FP_LIBC \
285262395Sbapt    FREEBSD_UPDATE \
286262395Sbapt    GAMES \
287262395Sbapt    GCC \
288262395Sbapt    GCOV \
289262395Sbapt    GDB \
290266636Sbapt    GNU \
291266636Sbapt    GPIB \
292262395Sbapt    GPIO \
293262395Sbapt    GROFF \
294262395Sbapt    HTML \
295262395Sbapt    ICONV \
296262395Sbapt    INET \
297262395Sbapt    INET6 \
298262395Sbapt    INFO \
299262395Sbapt    INSTALLLIB \
300262395Sbapt    IPFILTER \
301262395Sbapt    IPFW \
302266636Sbapt    IPX \
303266636Sbapt    JAIL \
304262395Sbapt    KDUMP \
305262395Sbapt    KERBEROS \
306262395Sbapt    KERNEL_SYMBOLS \
307262395Sbapt    KVM \
308262395Sbapt    LDNS \
309262395Sbapt    LEGACY_CONSOLE \
310262395Sbapt    LIB32 \
311262395Sbapt    LIBPTHREAD \
312262395Sbapt    LIBTHR \
313262395Sbapt    LOCALES \
314262395Sbapt    LOCATE \
315262395Sbapt    LPR \
316262395Sbapt    LS_COLORS \
317262395Sbapt    MAIL \
318262395Sbapt    MAILWRAPPER \
319262395Sbapt    MAKE \
320262395Sbapt    MAN \
321262395Sbapt    NDIS \
322262395Sbapt    NETCAT \
323262395Sbapt    NETGRAPH \
324262395Sbapt    NIS \
325262395Sbapt    NLS \
326262395Sbapt    NLS_CATALOGS \
327262395Sbapt    NS_CACHING \
328262395Sbapt    NTP \
329262395Sbapt    OPENSSH \
330262395Sbapt    OPENSSL \
331262395Sbapt    PAM \
332262395Sbapt    PC_SYSINSTALL \
333262395Sbapt    PF \
334262395Sbapt    PKGBOOTSTRAP \
335262395Sbapt    PKGTOOLS \
336262395Sbapt    PMC \
337262395Sbapt    PORTSNAP \
338262395Sbapt    PPP \
339262395Sbapt    PROFILE \
340262395Sbapt    QUOTAS \
341262395Sbapt    RCMDS \
342262395Sbapt    RCS \
343262395Sbapt    RESCUE \
344262395Sbapt    ROUTED \
345262395Sbapt    SENDMAIL \
346262395Sbapt    SETUID_LOGIN \
347262395Sbapt    SHAREDOCS \
348262395Sbapt    SOURCELESS \
349266636Sbapt    SOURCELESS_HOST \
350262395Sbapt    SOURCELESS_UCODE \
351262395Sbapt    SSP \
352266636Sbapt    SVNLITE \
353266636Sbapt    SYMVER \
354262395Sbapt    SYSCONS \
355266636Sbapt    SYSINSTALL \
356262395Sbapt    TCSH \
357262395Sbapt    TELNET \
358262395Sbapt    TEXTPROC \
359262395Sbapt    TOOLCHAIN \
360262395Sbapt    USB \
361262395Sbapt    UTMPX \
362262395Sbapt    WIRELESS \
363262395Sbapt    WPA_SUPPLICANT_EAPOL \
364262395Sbapt    ZFS \
365262395Sbapt    ZONEINFO
366262395Sbapt
367266636Sbapt__DEFAULT_NO_OPTIONS = \
368262395Sbapt    BIND_IDN \
369262395Sbapt    BIND_LARGE_FILE \
370262395Sbapt    BIND_LIBS \
371262395Sbapt    BIND_SIGCHASE \
372262395Sbapt    BIND_XML \
373262395Sbapt    BSDCONFIG \
374262395Sbapt    BSD_GREP \
375262395Sbapt    CLANG_EXTRAS \
376262395Sbapt    CTF \
377262395Sbapt    DEBUG_FILES \
378262395Sbapt    GNU_PATCH \
379262395Sbapt    GPL_DTC \
380262395Sbapt    HESIOD \
381262395Sbapt    LIBICONV_COMPAT \
382262395Sbapt    INSTALL_AS_USER \
383262395Sbapt    LDNS_UTILS \
384266636Sbapt    NMTREE \
385266636Sbapt    NAND \
386266636Sbapt    OFED \
387266636Sbapt    OPENSSH_NONE_CIPHER \
388266636Sbapt    SHARED_TOOLCHAIN \
389266636Sbapt    SVN \
390266636Sbapt    USB_GADGET_EXAMPLES
391266636Sbapt
392266636Sbapt#
393266636Sbapt# Default behaviour of some options depends on the architecture.  Unfortunately
394266636Sbapt# this means that we have to test TARGET_ARCH (the buildworld case) as well
395266636Sbapt# as MACHINE_ARCH (the non-buildworld case).  Normally TARGET_ARCH is not
396268831Sbapt# used at all in bsd.*.mk, but we have to make an exception here if we want
397268831Sbapt# to allow defaults for some things like clang and fdt to vary by target
398268831Sbapt# architecture.
399268831Sbapt#
400268831Sbapt.if defined(TARGET_ARCH)
401268831Sbapt__T=${TARGET_ARCH}
402268831Sbapt.else
403268831Sbapt__T=${MACHINE_ARCH}
404268831Sbapt.endif
405268831Sbapt# Clang is only for x86, powerpc and little-endian arm right now, by default.
406266636Sbapt.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*}
407262395Sbapt__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL
408262395Sbapt.elif ${__T} == "arm" || ${__T} == "armv6"
409262395Sbapt__DEFAULT_YES_OPTIONS+=CLANG
410262395Sbapt# GCC is unable to build the full clang on arm, disable it by default.
411262395Sbapt__DEFAULT_NO_OPTIONS+=CLANG_FULL
412262395Sbapt.else
413262395Sbapt__DEFAULT_NO_OPTIONS+=CLANG CLANG_FULL
414262395Sbapt.endif
415262395Sbapt# Clang the default system compiler only on little-endian arm and x86.
416262395Sbapt.if ${__T} == "amd64" || ${__T} == "arm" || ${__T} == "armv6" || \
417262395Sbapt    ${__T} == "i386"
418262395Sbapt__DEFAULT_YES_OPTIONS+=CLANG_IS_CC
419262395Sbapt.else
420262395Sbapt__DEFAULT_NO_OPTIONS+=CLANG_IS_CC
421262395Sbapt.endif
422262395Sbapt# FDT is needed only for arm, mips and powerpc
423262395Sbapt.if ${__T:Marm*} || ${__T:Mpowerpc*} || ${__T:Mmips*}
424262395Sbapt__DEFAULT_YES_OPTIONS+=FDT
425262395Sbapt.else
426262395Sbapt__DEFAULT_NO_OPTIONS+=FDT
427262395Sbapt.endif
428262395Sbapt.undef __T
429262395Sbapt
430262395Sbapt#
431262395Sbapt# MK_* options which default to "yes".
432262395Sbapt#
433262395Sbapt.for var in ${__DEFAULT_YES_OPTIONS}
434262395Sbapt.if defined(WITH_${var}) && defined(WITHOUT_${var})
435262395Sbapt.error WITH_${var} and WITHOUT_${var} can't both be set.
436262395Sbapt.endif
437262395Sbapt.if defined(MK_${var})
438262395Sbapt.error MK_${var} can't be set by a user.
439262395Sbapt.endif
440262395Sbapt.if defined(WITHOUT_${var})
441262395SbaptMK_${var}:=	no
442262395Sbapt.else
443262395SbaptMK_${var}:=	yes
444262395Sbapt.endif
445262395Sbapt.endfor
446262395Sbapt.undef __DEFAULT_YES_OPTIONS
447262395Sbapt
448262395Sbapt#
449262395Sbapt# MK_* options which default to "no".
450262395Sbapt#
451262395Sbapt.for var in ${__DEFAULT_NO_OPTIONS}
452262395Sbapt.if defined(WITH_${var}) && defined(WITHOUT_${var})
453262395Sbapt.error WITH_${var} and WITHOUT_${var} can't both be set.
454262395Sbapt.endif
455262395Sbapt.if defined(MK_${var})
456262395Sbapt.error MK_${var} can't be set by a user.
457262395Sbapt.endif
458262395Sbapt.if defined(WITH_${var})
459262395SbaptMK_${var}:=	yes
460262395Sbapt.else
461262395SbaptMK_${var}:=	no
462262395Sbapt.endif
463262395Sbapt.endfor
464262395Sbapt.undef __DEFAULT_NO_OPTIONS
465262395Sbapt
466262395Sbapt#
467262395Sbapt# Force some options off if their dependencies are off.
468262395Sbapt# Order is somewhat important.
469262395Sbapt#
470262395Sbapt.if ${MK_LIBPTHREAD} == "no"
471262395SbaptMK_LIBTHR:=	no
472262395Sbapt.endif
473262395Sbapt
474262395Sbapt.if ${MK_LIBTHR} == "no"
475262395SbaptMK_BIND:=	no
476262395Sbapt.endif
477262395Sbapt
478262395Sbapt.if ${MK_BIND} == "no"
479262395SbaptMK_BIND_DNSSEC:= no
480262395SbaptMK_BIND_ETC:=	no
481262395SbaptMK_BIND_LIBS:=	no
482262395SbaptMK_BIND_LIBS_LWRES:= no
483262395SbaptMK_BIND_MTREE:=	no
484262395SbaptMK_BIND_NAMED:=	no
485262395SbaptMK_BIND_UTILS:=	no
486262395Sbapt.endif
487262395Sbapt
488262395Sbapt.if ${MK_ICONV} == "no"
489262395SbaptMK_LIBICONV_COMPAT:=	no
490262395Sbapt.endif
491262395Sbapt
492262395Sbapt.if ${MK_LDNS} == "no"
493262395SbaptMK_LDNS_UTILS:=	no
494262395Sbapt.endif
495262395Sbapt
496262395Sbapt.if ${MK_LDNS_UTILS} != "no"
497262395SbaptMK_BIND_UTILS:=	no
498262395Sbapt.endif
499262395Sbapt
500262395Sbapt.if ${MK_BIND_MTREE} == "no"
501262395SbaptMK_BIND_ETC:=	no
502262395Sbapt.endif
503262395Sbapt
504262395Sbapt.if ${MK_SOURCELESS} == "no"
505262395SbaptMK_SOURCELESS_HOST:=	no
506262395SbaptMK_SOURCELESS_UCODE:= no
507262395Sbapt.endif
508262395Sbapt
509262395Sbapt.if ${MK_CDDL} == "no"
510262395SbaptMK_ZFS:=	no
511262395SbaptMK_CTF:=	no
512262395Sbapt.endif
513262395Sbapt
514262395Sbapt.if ${MK_CRYPT} == "no"
515262395SbaptMK_OPENSSL:=	no
516262395SbaptMK_OPENSSH:=	no
517262395SbaptMK_KERBEROS:=	no
518262395Sbapt.endif
519262395Sbapt
520262395Sbapt.if ${MK_CXX} == "no"
521262395SbaptMK_CLANG:=	no
522262395SbaptMK_GROFF:=	no
523262395Sbapt.endif
524262395Sbapt
525262395Sbapt.if ${MK_MAIL} == "no"
526262395SbaptMK_MAILWRAPPER:= no
527262395SbaptMK_SENDMAIL:=	no
528262395Sbapt.endif
529262395Sbapt
530262395Sbapt.if ${MK_NETGRAPH} == "no"
531262395SbaptMK_ATM:=	no
532262395SbaptMK_BLUETOOTH:=	no
533262395Sbapt.endif
534262395Sbapt
535262395Sbapt.if ${MK_OPENSSL} == "no"
536262395SbaptMK_OPENSSH:=	no
537262395SbaptMK_KERBEROS:=	no
538262395Sbapt.endif
539262395Sbapt
540262395Sbapt.if ${MK_PF} == "no"
541262395SbaptMK_AUTHPF:=	no
542262395Sbapt.endif
543262395Sbapt
544262395Sbapt.if ${MK_TEXTPROC} == "no"
545262395SbaptMK_GROFF:=	no
546262395Sbapt.endif
547262395Sbapt
548262395Sbapt.if ${MK_TOOLCHAIN} == "no"
549262395SbaptMK_BINUTILS:=	no
550262395SbaptMK_CLANG:=	no
551262395SbaptMK_GCC:=	no
552262395SbaptMK_GDB:=	no
553262395Sbapt.endif
554262395Sbapt
555262395Sbapt.if ${MK_CLANG} == "no"
556262395SbaptMK_CLANG_EXTRAS:= no
557262395SbaptMK_CLANG_FULL:= no
558262395SbaptMK_CLANG_IS_CC:= no
559262395Sbapt.endif
560262395Sbapt
561263648Sbapt#
562263648Sbapt# Set defaults for the MK_*_SUPPORT variables.
563263648Sbapt#
564263648Sbapt
565262395Sbapt#
566262395Sbapt# MK_*_SUPPORT options which default to "yes" unless their corresponding
567262395Sbapt# MK_* variable is set to "no".
568262395Sbapt#
569262395Sbapt.for var in \
570262395Sbapt    BZIP2 \
571262395Sbapt    GNU \
572262395Sbapt    INET \
573262395Sbapt    INET6 \
574262395Sbapt    IPX \
575263648Sbapt    KERBEROS \
576263648Sbapt    KVM \
577262395Sbapt    NETGRAPH \
578262395Sbapt    PAM \
579262395Sbapt    WIRELESS
580262395Sbapt.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT)
581263648Sbapt.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set.
582262395Sbapt.endif
583262395Sbapt.if defined(MK_${var}_SUPPORT)
584262395Sbapt.error MK_${var}_SUPPORT can't be set by a user.
585262395Sbapt.endif
586262395Sbapt.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no"
587262395SbaptMK_${var}_SUPPORT:= no
588262395Sbapt.else
589262395SbaptMK_${var}_SUPPORT:= yes
590262395Sbapt.endif
591262395Sbapt.endfor
592262395Sbapt
593262395Sbapt#
594262395Sbapt# MK_* options whose default value depends on another option.
595262395Sbapt#
596262395Sbapt.for vv in \
597262395Sbapt    GSSAPI/KERBEROS \
598262395Sbapt    MAN_UTILS/MAN
599262395Sbapt.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H})
600262395Sbapt.error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set.
601262395Sbapt.endif
602262395Sbapt.if defined(MK_${vv:H})
603262395Sbapt.error MK_${vv:H} can't be set by a user.
604262395Sbapt.endif
605262395Sbapt.if defined(WITH_${vv:H})
606262395SbaptMK_${vv:H}:=	yes
607262395Sbapt.elif defined(WITHOUT_${vv:H})
608262395SbaptMK_${vv:H}:=	no
609262395Sbapt.else
610262395SbaptMK_${vv:H}:=	${MK_${vv:T}}
611262395Sbapt.endif
612262395Sbapt.endfor
613262395Sbapt
614262395Sbapt#
615262395Sbapt# MK_* options that default to "yes" if the compiler is a C++11 compiler.
616262395Sbapt#
617262395Sbapt.include <bsd.compiler.mk>
618262395Sbapt.for var in \
619262395Sbapt    LIBCPLUSPLUS
620262395Sbapt.if defined(WITH_${var}) && defined(WITHOUT_${var})
621262395Sbapt.error WITH_${var} and WITHOUT_${var} can't both be set.
622262395Sbapt.endif
623262395Sbapt.if defined(MK_${var})
624262395Sbapt.error MK_${var} can't be set by a user.
625262395Sbapt.endif
626262395Sbapt.if ${COMPILER_FEATURES:Mc++11}
627262395Sbapt.if defined(WITHOUT_${var})
628262395SbaptMK_${var}:=	no
629262395Sbapt.else
630262395SbaptMK_${var}:=	yes
631262395Sbapt.endif
632262395Sbapt.else
633262395Sbapt.if defined(WITH_${var})
634262395SbaptMK_${var}:=	yes
635262395Sbapt.else
636262395SbaptMK_${var}:=	no
637262395Sbapt.endif
638262395Sbapt.endif
639262395Sbapt.endfor
640262395Sbapt
641262395Sbapt.if ${MK_CTF} != "no"
642262395SbaptCTFCONVERT_CMD=	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
643262395Sbapt.elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300)
644262395SbaptCTFCONVERT_CMD=
645262395Sbapt.else
646262395SbaptCTFCONVERT_CMD=	@:
647262395Sbapt.endif 
648262395Sbapt
649262395Sbapt.if ${MK_INSTALL_AS_USER} != "no"
650262395Sbapt_uid!=	id -u
651262395Sbapt.if ${_uid} != 0
652262395Sbapt.if !defined(USER)
653262395SbaptUSER!=	id -un
654262395Sbapt.endif
655262395Sbapt_gid!=	id -gn
656262395Sbapt.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE
657262395Sbapt$xOWN=	${USER}
658262395Sbapt$xGRP=	${_gid}
659262395Sbapt.endfor
660262395Sbapt.endif
661262395Sbapt.endif
662262395Sbapt
663262395Sbapt.endif # !_WITHOUT_SRCCONF
664262395Sbapt
665262395Sbapt.endif	# !target(__<bsd.own.mk>__)
666262395Sbapt