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