bsd.own.mk revision 246259
1195534Sscottl# $FreeBSD: head/share/mk/bsd.own.mk 246259 2013-02-02 22:28:29Z dim $
2238805Smav#
3195534Sscottl# The include file <bsd.own.mk> set common variables for owner,
4195534Sscottl# group, mode, and directories. Defaults are in brackets.
5195534Sscottl#
6195534Sscottl#
7195534Sscottl# +++ variables +++
8195534Sscottl#
9195534Sscottl# DESTDIR	Change the tree where the file gets installed. [not set]
10195534Sscottl#
11195534Sscottl# DISTDIR	Change the tree where the file for a distribution
12195534Sscottl# 		gets installed (see /usr/src/release/Makefile). [not set]
13195534Sscottl#
14195534Sscottl# COMPRESS_CMD	Program to compress documents.
15195534Sscottl#		Output is to stdout. [gzip -cn]
16195534Sscottl#
17195534Sscottl# COMPRESS_EXT	File name extension of ${COMPRESS_CMD} command. [.gz]
18195534Sscottl#
19195534Sscottl# BINOWN	Binary owner. [root]
20195534Sscottl#
21195534Sscottl# BINGRP	Binary group. [wheel]
22195534Sscottl#
23195534Sscottl# BINMODE	Binary mode. [555]
24195534Sscottl#
25195534Sscottl# NOBINMODE	Mode for non-executable files. [444]
26195534Sscottl#
27195534Sscottl# LIBDIR	Base path for libraries. [/usr/lib]
28195534Sscottl#
29195534Sscottl# LIBCOMPATDIR	Base path for compat libraries. [/usr/lib/compat]
30195534Sscottl#
31195534Sscottl# LIBDATADIR	Base path for misc. utility data files. [/usr/libdata]
32195534Sscottl#
33195534Sscottl# LIBEXECDIR	Base path for system daemons and utilities. [/usr/libexec]
34195534Sscottl#
35220576Smav# LINTLIBDIR	Base path for lint libraries. [/usr/libdata/lint]
36195534Sscottl#
37195534Sscottl# SHLIBDIR	Base path for shared libraries. [${LIBDIR}]
38195534Sscottl#
39195534Sscottl# LIBOWN	Library owner. [${BINOWN}]
40195534Sscottl#
41195534Sscottl# LIBGRP	Library group. [${BINGRP}]
42195534Sscottl#
43195534Sscottl# LIBMODE	Library mode. [${NOBINMODE}]
44195534Sscottl#
45195534Sscottl#
46195534Sscottl# KMODDIR	Base path for loadable kernel modules
47195534Sscottl#		(see kld(4)). [/boot/kernel]
48271146Simp#
49271146Simp# KMODOWN	Kernel and KLD owner. [${BINOWN}]
50195534Sscottl#
51276344Smarius# KMODGRP	Kernel and KLD group. [${BINGRP}]
52199176Smav#
53203030Smav# KMODMODE	KLD mode. [${BINMODE}]
54199176Smav#
55199322Smav#
56199176Smav# SHAREDIR	Base path for architecture-independent ascii
57271146Simp#		text files. [/usr/share]
58278034Ssmh#
59278034Ssmh# SHAREOWN	ASCII text file owner. [root]
60278034Ssmh#
61278034Ssmh# SHAREGRP	ASCII text file group. [wheel]
62278034Ssmh#
63278034Ssmh# SHAREMODE	ASCII text file mode. [${NOBINMODE}]
64278034Ssmh#
65278034Ssmh#
66278034Ssmh# CONFDIR	Base path for configuration files. [/etc]
67278034Ssmh#
68278034Ssmh# CONFOWN	Configuration file owner. [root]
69271146Simp#
70271146Simp# CONFGRP	Configuration file group. [wheel]
71244146Smav#
72244146Smav# CONFMODE	Configuration file mode. [644]
73244146Smav#
74244146Smav#
75244146Smav# DOCDIR	Base path for system documentation (e.g. PSD, USD,
76260830Smav#		handbook, FAQ etc.). [${SHAREDIR}/doc]
77225140Smav#
78203030Smav# DOCOWN	Documentation owner. [${SHAREOWN}]
79203030Smav#
80203030Smav# DOCGRP	Documentation group. [${SHAREGRP}]
81203030Smav#
82203030Smav# DOCMODE	Documentation mode. [${NOBINMODE}]
83203030Smav#
84203030Smav#
85203030Smav# INFODIR	Base path for GNU's hypertext system
86203030Smav#		called Info (see info(1)). [${SHAREDIR}/info]
87203030Smav#
88203030Smav# INFOOWN	Info owner. [${SHAREOWN}]
89203030Smav#
90203030Smav# INFOGRP	Info group. [${SHAREGRP}]
91203030Smav#
92203030Smav# INFOMODE	Info mode. [${NOBINMODE}]
93203030Smav#
94203030Smav#
95203030Smav# MANDIR	Base path for manual installation. [${SHAREDIR}/man/man]
96203030Smav#
97203030Smav# MANOWN	Manual owner. [${SHAREOWN}]
98203030Smav#
99203030Smav# MANGRP	Manual group. [${SHAREGRP}]
100203030Smav#
101203030Smav# MANMODE	Manual mode. [${NOBINMODE}]
102203030Smav#
103203030Smav#
104203030Smav# NLSDIR	Base path for National Language Support files
105203030Smav#		installation. [${SHAREDIR}/nls]
106203030Smav#
107211922Smav# NLSOWN	National Language Support files owner. [${SHAREOWN}]
108211922Smav#
109211922Smav# NLSGRP	National Language Support files group. [${SHAREGRP}]
110211922Smav#
111211922Smav# NLSMODE	National Language Support files mode. [${NOBINMODE}]
112211922Smav#
113211922Smav# INCLUDEDIR	Base path for standard C include files [/usr/include]
114211922Smav
115211922Smav.if !target(__<bsd.own.mk>__)
116211922Smav__<bsd.own.mk>__:
117218605Smav
118218605Smav.if !defined(_WITHOUT_SRCCONF)
119218605SmavSRCCONF?=	/etc/src.conf
120229671Sjimharris.if exists(${SRCCONF})
121221789Sjfv.include "${SRCCONF}"
122221789Sjfv.endif
123258162Smav.endif
124258162Smav
125258162Smav# Binaries
126258162SmavBINOWN?=	root
127258162SmavBINGRP?=	wheel
128258162SmavBINMODE?=	555
129258162SmavNOBINMODE?=	444
130258162Smav
131258162Smav.if defined(MODULES_WITH_WORLD)
132258162SmavKMODDIR?=	/boot/modules
133258162Smav.else
134258162SmavKMODDIR?=	/boot/kernel
135258162Smav.endif
136258162SmavKMODOWN?=	${BINOWN}
137258162SmavKMODGRP?=	${BINGRP}
138258162SmavKMODMODE?=	${BINMODE}
139258162Smav
140258162SmavLIBDIR?=	/usr/lib
141258162SmavLIBCOMPATDIR?=	/usr/lib/compat
142258162SmavLIBDATADIR?=	/usr/libdata
143258162SmavLIBEXECDIR?=	/usr/libexec
144258162SmavLINTLIBDIR?=	/usr/libdata/lint
145278034SsmhSHLIBDIR?=	${LIBDIR}
146258162SmavLIBOWN?=	${BINOWN}
147258162SmavLIBGRP?=	${BINGRP}
148244983SjfvLIBMODE?=	${NOBINMODE}
149244983Sjfv
150258162Smav
151258162Smav# Share files
152258162SmavSHAREDIR?=	/usr/share
153258162SmavSHAREOWN?=	root
154258162SmavSHAREGRP?=	wheel
155258162SmavSHAREMODE?=	${NOBINMODE}
156275101Smav
157275101SmavCONFDIR?=	/etc
158275101SmavCONFOWN?=	root
159275101SmavCONFGRP?=	wheel
160275101SmavCONFMODE?=	644
161275101Smav
162275101SmavMANDIR?=	${SHAREDIR}/man/man
163275101SmavMANOWN?=	${SHAREOWN}
164258162SmavMANGRP?=	${SHAREGRP}
165258162SmavMANMODE?=	${NOBINMODE}
166258162Smav
167258162SmavDOCDIR?=	${SHAREDIR}/doc
168258162SmavDOCOWN?=	${SHAREOWN}
169258162SmavDOCGRP?=	${SHAREGRP}
170258162SmavDOCMODE?=	${NOBINMODE}
171258162Smav
172258162SmavINFODIR?=	${SHAREDIR}/info
173258162SmavINFOOWN?=	${SHAREOWN}
174258162SmavINFOGRP?=	${SHAREGRP}
175258162SmavINFOMODE?=	${NOBINMODE}
176258162Smav
177258162SmavNLSDIR?=	${SHAREDIR}/nls
178258162SmavNLSOWN?=	${SHAREOWN}
179221789SjfvNLSGRP?=	${SHAREGRP}
180239907SmavNLSMODE?=	${NOBINMODE}
181203030Smav
182239907SmavINCLUDEDIR?=	/usr/include
183203030Smav
184203030Smav#
185203030Smav# install(1) parameters.
186203030Smav#
187285020SmavHRDLINK?=	-l h
188285020SmavSYMLINK?=	-l s
189285020Smav
190285020SmavINSTALL_LINK?=		${INSTALL} ${HRDLINK}
191285020SmavINSTALL_SYMLINK?=	${INSTALL} ${SYMLINK}
192285020Smav
193285020Smav# Common variables
194285020Smav.if !defined(DEBUG_FLAGS)
195271163SmavSTRIP?=		-s
196271163Smav.endif
197271163Smav
198271163SmavCOMPRESS_CMD?=	gzip -cn
199271163SmavCOMPRESS_EXT?=	.gz
200271163Smav
201271163Smav.if !defined(_WITHOUT_SRCCONF)
202271163Smav#
203271163Smav# Define MK_* variables (which are either "yes" or "no") for users
204271163Smav# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the
205271163Smav# make(1) environment.
206271163Smav# These should be tested with `== "no"' or `!= "no"' in makefiles.
207271163Smav# The NO_* variables should only be set by makefiles.
208271163Smav#
209271163Smav
210271163Smav#
211271163Smav# Supported NO_* options (if defined, MK_* will be forced to "no",
212271163Smav# regardless of user's setting).
213271163Smav#
214271163Smav.for var in \
215271163Smav    CTF \
216271163Smav    INSTALLLIB \
217271163Smav    MAN \
218271163Smav    PROFILE
219271163Smav.if defined(NO_${var})
220207499Smav.if defined(WITH_${var})
221207499Smav.undef WITH_${var}
222207499Smav.endif
223207499SmavWITHOUT_${var}=
224207499Smav.endif
225207499Smav.endfor
226207499Smav
227207499Smav#
228207499Smav# Older-style variables that enabled behaviour when set.
229207499Smav#
230207499Smav.if defined(YES_HESIOD)
231207499SmavWITH_HESIOD=
232207499Smav.endif
233207499Smav.if defined(MAKE_IDEA)
234207499SmavWITH_IDEA=
235207499Smav.endif
236207499Smav
237207499Smav__DEFAULT_YES_OPTIONS = \
238207499Smav    ACCT \
239207499Smav    ACPI \
240207499Smav    AMD \
241207499Smav    APM \
242207499Smav    ASSERT_DEBUG \
243207499Smav    AT \
244207499Smav    ATF \
245207499Smav    ATM \
246207499Smav    AUDIT \
247207499Smav    AUTHPF \
248207499Smav    BIND \
249207499Smav    BIND_DNSSEC \
250207499Smav    BIND_ETC \
251207499Smav    BIND_LIBS_LWRES \
252207499Smav    BIND_MTREE \
253207499Smav    BIND_NAMED \
254207499Smav    BIND_UTILS \
255207499Smav    BINUTILS \
256207499Smav    BLUETOOTH \
257207499Smav    BOOT \
258207499Smav    BSD_CPIO \
259207499Smav    BSNMP \
260207499Smav    BZIP2 \
261207499Smav    CALENDAR \
262207499Smav    CAPSICUM \
263207499Smav    CDDL \
264207499Smav    CPP \
265207499Smav    CRYPT \
266207499Smav    CTM \
267207499Smav    CVS \
268207499Smav    CXX \
269207499Smav    DICT \
270207499Smav    DYNAMICROOT \
271207499Smav    ED_CRYPTO \
272207499Smav    EXAMPLES \
273207499Smav    FLOPPY \
274207499Smav    FORTH \
275207499Smav    FP_LIBC \
276207499Smav    FREEBSD_UPDATE \
277207499Smav    GAMES \
278224603Smav    GCC \
279207499Smav    GCOV \
280207499Smav    GDB \
281207499Smav    GNU \
282207499Smav    GPIB \
283207499Smav    GPIO \
284207499Smav    GROFF \
285207499Smav    HTML \
286207499Smav    INET \
287207499Smav    INET6 \
288207499Smav    INFO \
289271403Smav    INSTALLLIB \
290208907Smav    IPFILTER \
291208907Smav    IPFW \
292203030Smav    IPX \
293203030Smav    JAIL \
294203030Smav    KDUMP \
295279573Semaste    KERBEROS \
296297447Szbb    KERNEL_SYMBOLS \
297203030Smav    KVM \
298199176Smav    LEGACY_CONSOLE \
299199176Smav    LIB32 \
300271146Simp    LIBPTHREAD \
301271146Simp    LIBTHR \
302271146Simp    LOCALES \
303220565Smav    LOCATE \
304271146Simp    LPR \
305271146Simp    LS_COLORS \
306271146Simp    MAIL \
307271146Simp    MAILWRAPPER \
308271146Simp    MAKE \
309228200Smav    MAN \
310195534Sscottl    NDIS \
311195534Sscottl    NETCAT \
312195534Sscottl    NETGRAPH \
313199176Smav    NIS \
314199322Smav    NLS \
315199322Smav    NLS_CATALOGS \
316203030Smav    NS_CACHING \
317199322Smav    NTP \
318260163Szbb    OPENSSH \
319260163Szbb    OPENSSL \
320260163Szbb    PAM \
321260163Szbb    PC_SYSINSTALL \
322260163Szbb    PF \
323260163Szbb    PKGBOOTSTRAP \
324260163Szbb    PKGTOOLS \
325199322Smav    PMC \
326199322Smav    PORTSNAP \
327199322Smav    PPP \
328199322Smav    PROFILE \
329199322Smav    QUOTAS \
330288111Smav    RCMDS \
331288111Smav    RCS \
332288111Smav    RESCUE \
333199322Smav    ROUTED \
334199322Smav    SENDMAIL \
335199322Smav    SETUID_LOGIN \
336203030Smav    SHAREDOCS \
337228200Smav    SOURCELESS \
338228200Smav    SOURCELESS_HOST \
339199717Smav    SOURCELESS_UCODE \
340199717Smav    SSP \
341199717Smav    SYMVER \
342199717Smav    SYSCONS \
343199322Smav    SYSINSTALL \
344199322Smav    TCSH \
345199322Smav    TELNET \
346280393Smav    TEXTPROC \
347199322Smav    TOOLCHAIN \
348199322Smav    USB \
349288111Smav    UTMPX \
350199322Smav    WIRELESS \
351199322Smav    WPA_SUPPLICANT_EAPOL \
352280393Smav    ZFS \
353199322Smav    ZONEINFO
354199322Smav
355199322Smav__DEFAULT_NO_OPTIONS = \
356199322Smav    ARM_EABI \
357199322Smav    BSD_PATCH \
358199322Smav    BIND_IDN \
359199176Smav    BIND_LARGE_FILE \
360199176Smav    BIND_LIBS \
361203030Smav    BIND_SIGCHASE \
362195534Sscottl    BIND_XML \
363199322Smav    BMAKE \
364199322Smav    BSDCONFIG \
365199176Smav    BSD_GREP \
366199176Smav    CLANG_EXTRAS \
367203030Smav    CTF \
368203030Smav    GPL_DTC \
369199176Smav    HESIOD \
370199176Smav    ICONV \
371199176Smav    IDEA \
372280393Smav    INSTALL_AS_USER \
373199176Smav    NMTREE \
374199176Smav    NAND \
375199176Smav    OFED \
376280393Smav    OPENSSH_NONE_CIPHER \
377195534Sscottl    SHARED_TOOLCHAIN
378195534Sscottl
379195534Sscottl#
380285789Szbb# Default behaviour of some options depends on the architecture.  Unfortunately
381285789Szbb# this means that we have to test TARGET_ARCH (the buildworld case) as well
382285789Szbb# as MACHINE_ARCH (the non-buildworld case).  Normally TARGET_ARCH is not
383285789Szbb# used at all in bsd.*.mk, but we have to make an exception here if we want
384285789Szbb# to allow defaults for some things like clang and fdt to vary by target
385285789Szbb# architecture.
386285789Szbb#
387285789Szbb.if defined(TARGET_ARCH)
388285789Szbb__T=${TARGET_ARCH}
389285789Szbb.else
390285789Szbb__T=${MACHINE_ARCH}
391285789Szbb.endif
392285789Szbb# Clang is only for x86 and powerpc right now, by default.
393285789Szbb.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*}
394285789Szbb__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL
395285789Szbb.else
396285789Szbb__DEFAULT_NO_OPTIONS+=CLANG CLANG_FULL
397285789Szbb.endif
398285789Szbb# Clang the default system compiler only on x86.
399285789Szbb.if ${__T} == "amd64" || ${__T} == "i386"
400285789Szbb__DEFAULT_YES_OPTIONS+=CLANG_IS_CC
401285789Szbb.else
402271146Simp__DEFAULT_NO_OPTIONS+=CLANG_IS_CC
403195534Sscottl.endif
404195534Sscottl# FDT is needed only for arm, mips and powerpc
405271146Simp.if ${__T:Marm*} || ${__T:Mpowerpc*} || ${__T:Mmips*}
406199322Smav__DEFAULT_YES_OPTIONS+=FDT
407203030Smav.else
408285789Szbb__DEFAULT_NO_OPTIONS+=FDT
409285789Szbb.endif
410195534Sscottl.undef __T
411285789Szbb
412285789Szbb#
413285789Szbb# MK_* options which default to "yes".
414199322Smav#
415203030Smav.for var in ${__DEFAULT_YES_OPTIONS}
416203030Smav.if defined(WITH_${var}) && defined(WITHOUT_${var})
417203030Smav.error WITH_${var} and WITHOUT_${var} can't both be set.
418199322Smav.endif
419199322Smav.if defined(MK_${var})
420271146Simp.error MK_${var} can't be set by a user.
421271146Simp.endif
422271146Simp.if defined(WITHOUT_${var})
423271146SimpMK_${var}:=	no
424271146Simp.else
425271146SimpMK_${var}:=	yes
426297921Smav.endif
427297921Smav.endfor
428271146Simp.undef __DEFAULT_YES_OPTIONS
429271146Simp
430271146Simp#
431271146Simp# MK_* options which default to "no".
432277100Skib#
433277100Skib.for var in ${__DEFAULT_NO_OPTIONS}
434277100Skib.if defined(WITH_${var}) && defined(WITHOUT_${var})
435277100Skib.error WITH_${var} and WITHOUT_${var} can't both be set.
436277100Skib.endif
437277100Skib.if defined(MK_${var})
438195534Sscottl.error MK_${var} can't be set by a user.
439195534Sscottl.endif
440195534Sscottl.if defined(WITH_${var})
441285789SzbbMK_${var}:=	yes
442297447Szbb.else
443297447SzbbMK_${var}:=	no
444297447Szbb.endif
445285789Szbb.endfor
446285789Szbb.undef __DEFAULT_NO_OPTIONS
447285789Szbb
448285789Szbb#
449285789Szbb# Force some options off if their dependencies are off.
450285789Szbb# Order is somewhat important.
451285789Szbb#
452285789Szbb.if ${MK_LIBPTHREAD} == "no"
453285789SzbbMK_LIBTHR:=	no
454285789Szbb.endif
455285789Szbb
456285789Szbb.if ${MK_LIBTHR} == "no"
457285789SzbbMK_BIND:=	no
458285789Szbb.endif
459285789Szbb
460285789Szbb.if ${MK_BIND} == "no"
461285789SzbbMK_BIND_DNSSEC:= no
462285789SzbbMK_BIND_ETC:=	no
463285789SzbbMK_BIND_LIBS:=	no
464285789SzbbMK_BIND_LIBS_LWRES:= no
465285789SzbbMK_BIND_MTREE:=	no
466285789SzbbMK_BIND_NAMED:=	no
467285789SzbbMK_BIND_UTILS:=	no
468285789Szbb.endif
469285789Szbb
470285789Szbb.if ${MK_BIND_MTREE} == "no"
471285789SzbbMK_BIND_ETC:=	no
472285789Szbb.endif
473285789Szbb
474285789Szbb.if ${MK_SOURCELESS} == "no"
475285789SzbbMK_SOURCELESS_HOST:=	no
476285789SzbbMK_SOURCELESS_UCODE:= no
477285789Szbb.endif
478285789Szbb
479285789Szbb.if ${MK_CDDL} == "no"
480285789SzbbMK_ZFS:=	no
481285789SzbbMK_CTF:=	no
482285789Szbb.endif
483285789Szbb
484285789Szbb.if ${MK_CRYPT} == "no"
485285789SzbbMK_OPENSSL:=	no
486285789SzbbMK_OPENSSH:=	no
487285789SzbbMK_KERBEROS:=	no
488285789Szbb.endif
489285789Szbb
490285789Szbb.if ${MK_CXX} == "no"
491207511SmavMK_CLANG:=	no
492195534SscottlMK_GROFF:=	no
493271146Simp.endif
494285789Szbb
495195534Sscottl.if ${MK_MAIL} == "no"
496297793SpfgMK_MAILWRAPPER:= no
497222304SmavMK_SENDMAIL:=	no
498195534Sscottl.endif
499195534Sscottl
500271146Simp.if ${MK_NETGRAPH} == "no"
501195534SscottlMK_ATM:=	no
502245875SmavMK_BLUETOOTH:=	no
503256843Smav.endif
504278034Ssmh
505278034Ssmh.if ${MK_OPENSSL} == "no"
506278034SsmhMK_OPENSSH:=	no
507278034SsmhMK_KERBEROS:=	no
508195534Sscottl.endif
509256843Smav
510256843Smav.if ${MK_PF} == "no"
511285789SzbbMK_AUTHPF:=	no
512285789Szbb.endif
513256843Smav
514256843Smav.if ${MK_TEXTPROC} == "no"
515285789SzbbMK_GROFF:=	no
516285789Szbb.endif
517285789Szbb
518285789Szbb.if ${MK_TOOLCHAIN} == "no"
519256843SmavMK_BINUTILS:=	no
520285789SzbbMK_CLANG:=	no
521285789SzbbMK_GCC:=	no
522285789SzbbMK_GDB:=	no
523285789Szbb.endif
524285789Szbb
525285789Szbb.if ${MK_CLANG} == "no"
526285789SzbbMK_CLANG_EXTRAS:= no
527285789SzbbMK_CLANG_FULL:= no
528285789SzbbMK_CLANG_IS_CC:= no
529285789Szbb.endif
530285789Szbb
531285789Szbb#
532285789Szbb# Set defaults for the MK_*_SUPPORT variables.
533285789Szbb#
534285789Szbb
535285789Szbb#
536285789Szbb# MK_*_SUPPORT options which default to "yes" unless their corresponding
537285789Szbb# MK_* variable is set to "no".
538285789Szbb#
539285789Szbb.for var in \
540285789Szbb    BZIP2 \
541285789Szbb    GNU \
542285789Szbb    INET \
543285789Szbb    INET6 \
544285789Szbb    IPX \
545285789Szbb    KERBEROS \
546285789Szbb    KVM \
547285789Szbb    NETGRAPH \
548256843Smav    PAM \
549195534Sscottl    WIRELESS
550271146Simp.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT)
551285789Szbb.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set.
552285789Szbb.endif
553271146Simp.if defined(MK_${var}_SUPPORT)
554285789Szbb.error MK_${var}_SUPPORT can't be set by a user.
555285789Szbb.endif
556271146Simp.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no"
557195534SscottlMK_${var}_SUPPORT:= no
558195534Sscottl.else
559195534SscottlMK_${var}_SUPPORT:= yes
560271146Simp.endif
561195534Sscottl.endfor
562195534Sscottl
563271146Simp#
564271146Simp# MK_* options whose default value depends on another option.
565195534Sscottl#
566195534Sscottl.for vv in \
567195534Sscottl    GSSAPI/KERBEROS \
568195534Sscottl    MAN_UTILS/MAN
569271146Simp.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H})
570195534Sscottl.error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set.
571195534Sscottl.endif
572195534Sscottl.if defined(MK_${vv:H})
573271146Simp.error MK_${vv:H} can't be set by a user.
574271146Simp.endif
575271146Simp.if defined(WITH_${vv:H})
576271146SimpMK_${vv:H}:=	yes
577271146Simp.elif defined(WITHOUT_${vv:H})
578195534SscottlMK_${vv:H}:=	no
579195534Sscottl.else
580195534SscottlMK_${vv:H}:=	${MK_${vv:T}}
581271146Simp.endif
582195534Sscottl.endfor
583271146Simp
584195534Sscottl#
585271146Simp# MK_* options that default to "yes" if the compiler is a C++11 compiler.
586271146Simp#
587271146Simp.include <bsd.compiler.mk>
588271146Simp.for var in \
589195534Sscottl    LIBCPLUSPLUS
590195534Sscottl.if defined(WITH_${var}) && defined(WITHOUT_${var})
591195534Sscottl.error WITH_${var} and WITHOUT_${var} can't both be set.
592195534Sscottl.endif
593195534Sscottl.if defined(MK_${var})
594271146Simp.error MK_${var} can't be set by a user.
595271146Simp.endif
596271146Simp.if ${COMPILER_FEATURES:Mc++11}
597271146Simp.if defined(WITHOUT_${var})
598195534SscottlMK_${var}:=	no
599195534Sscottl.else
600195534SscottlMK_${var}:=	yes
601195534Sscottl.endif
602195534Sscottl.else
603208410Smav.if defined(WITH_${var})
604249346SmavMK_${var}:=	yes
605276344Smarius.else
606195534SscottlMK_${var}:=	no
607195534Sscottl.endif
608195534Sscottl.endif
609195534Sscottl.endfor
610195534Sscottl
611195534Sscottl.if ${MK_CTF} != "no"
612276344SmariusCTFCONVERT_CMD=	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
613199322Smav.elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300)
614199322SmavCTFCONVERT_CMD=
615271146Simp.else
616271146SimpCTFCONVERT_CMD=	@:
617271146Simp.endif 
618271146Simp
619199322Smav.if ${MK_INSTALL_AS_USER} != "no"
620199322Smav_uid!=	id -u
621199322Smav.if ${_uid} != 0
622199322Smav.if !defined(USER)
623199322SmavUSER!=	id -un
624208410Smav.endif
625276344Smarius_gid!=	id -gn
626199322Smav.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE
627199322Smav$xOWN=	${USER}
628199322Smav$xGRP=	${_gid}
629199322Smav.endfor
630199322Smav.endif
631199322Smav.endif
632276344Smarius
633.endif # !_WITHOUT_SRCCONF
634
635.endif	# !target(__<bsd.own.mk>__)
636