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