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