From owner-svn-src-all@FreeBSD.ORG Fri Apr 18 17:04:10 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C285FDD1; Fri, 18 Apr 2014 17:04:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A424916C1; Fri, 18 Apr 2014 17:04:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s3IH4AAh050592; Fri, 18 Apr 2014 17:04:10 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s3IH4AJA050586; Fri, 18 Apr 2014 17:04:10 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201404181704.s3IH4AJA050586@svn.freebsd.org> From: Warner Losh Date: Fri, 18 Apr 2014 17:04:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r264661 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Apr 2014 17:04:10 -0000 Author: imp Date: Fri Apr 18 17:04:09 2014 New Revision: 264661 URL: http://svnweb.freebsd.org/changeset/base/264661 Log: Copy bsd.own.mk to bsd.opts.mk and separate out the option setting code from the rest. Include bsd.opts.mk in bsd.own.mk to preserve current behavior. Future revisions will replace the inclusion of bsd.own.mk elsewhere with bsd.opts.mk or a more appropriate new file that's still being finalized. Added: head/share/mk/bsd.opts.mk - copied, changed from r264660, head/share/mk/bsd.own.mk Modified: head/share/mk/Makefile head/share/mk/bsd.own.mk Modified: head/share/mk/Makefile ============================================================================== --- head/share/mk/Makefile Fri Apr 18 17:03:58 2014 (r264660) +++ head/share/mk/Makefile Fri Apr 18 17:04:09 2014 (r264661) @@ -24,6 +24,7 @@ FILES= \ bsd.man.mk \ bsd.nls.mk \ bsd.obj.mk \ + bsd.opts.mk \ bsd.own.mk \ bsd.port.mk \ bsd.port.options.mk \ Copied and modified: head/share/mk/bsd.opts.mk (from r264660, head/share/mk/bsd.own.mk) ============================================================================== --- head/share/mk/bsd.own.mk Fri Apr 18 17:03:58 2014 (r264660, copy source) +++ head/share/mk/bsd.opts.mk Fri Apr 18 17:04:09 2014 (r264661) @@ -1,221 +1,48 @@ # $FreeBSD$ # -# The include file set common variables for owner, -# group, mode, and directories. Defaults are in brackets. +# Option file for src builds. # +# Users define WITH_FOO and WITHOUT_FOO on the command line or in /etc/src.conf +# and /etc/make.conf files. These translate in the build system to MK_FOO={yes,no} +# with sensible (usually) defaults. # -# +++ variables +++ +# Makefiles must include bsd.opts.mk after defining specific MK_FOO options that +# are applicable for that Makefile (typically there are none, but sometimes there +# are exceptions). Recursive makes usually add MK_FOO=no for options that they wish +# to omit from that make. # -# DESTDIR Change the tree where the file gets installed. [not set] +# Makefiles must include bsd.srcpot.mk before they test the value of any MK_FOO +# variable. # -# DISTDIR Change the tree where the file for a distribution -# gets installed (see /usr/src/release/Makefile). [not set] +# Makefiles may also assume that this file is included by bsd.own.mk should it +# need variables defined there prior to the end of the Makefile where +# bsd.{subdir,lib.bin}.mk is traditionally included. # -# COMPRESS_CMD Program to compress documents. -# Output is to stdout. [gzip -cn] +# The old-style YES_FOO and NO_FOO are being phased out. No new instances of them +# should be added. Old instances should be removed since they were just to +# bridge the gap between FreeBSD 4 and FreeBSD 5. # -# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz] +# Makefiles should never test WITH_FOO or WITHOUT_FOO directly (although an +# exception is made for _WITHOUT_SRCONF which turns off this mechanism +# completely). # -# BINOWN Binary owner. [root] -# -# BINGRP Binary group. [wheel] -# -# BINMODE Binary mode. [555] -# -# NOBINMODE Mode for non-executable files. [444] -# -# LIBDIR Base path for libraries. [/usr/lib] -# -# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat] -# -# LIBPRIVATEDIR Base path for private libraries. [/usr/lib/private] -# -# LIBDATADIR Base path for misc. utility data files. [/usr/libdata] -# -# LIBEXECDIR Base path for system daemons and utilities. [/usr/libexec] -# -# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] -# -# SHLIBDIR Base path for shared libraries. [${LIBDIR}] -# -# LIBOWN Library owner. [${BINOWN}] -# -# LIBGRP Library group. [${BINGRP}] -# -# LIBMODE Library mode. [${NOBINMODE}] -# -# -# DEBUGDIR Base path for standalone debug files. [/usr/lib/debug] -# -# DEBUGMODE Mode for debug files. [${NOBINMODE}] -# -# -# KMODDIR Base path for loadable kernel modules -# (see kld(4)). [/boot/kernel] -# -# KMODOWN Kernel and KLD owner. [${BINOWN}] -# -# KMODGRP Kernel and KLD group. [${BINGRP}] -# -# KMODMODE KLD mode. [${BINMODE}] -# -# -# SHAREDIR Base path for architecture-independent ascii -# text files. [/usr/share] -# -# SHAREOWN ASCII text file owner. [root] -# -# SHAREGRP ASCII text file group. [wheel] -# -# SHAREMODE ASCII text file mode. [${NOBINMODE}] -# -# -# CONFDIR Base path for configuration files. [/etc] -# -# CONFOWN Configuration file owner. [root] -# -# CONFGRP Configuration file group. [wheel] -# -# CONFMODE Configuration file mode. [644] -# -# -# DOCDIR Base path for system documentation (e.g. PSD, USD, -# handbook, FAQ etc.). [${SHAREDIR}/doc] -# -# DOCOWN Documentation owner. [${SHAREOWN}] -# -# DOCGRP Documentation group. [${SHAREGRP}] -# -# DOCMODE Documentation mode. [${NOBINMODE}] -# -# -# INFODIR Base path for GNU's hypertext system -# called Info (see info(1)). [${SHAREDIR}/info] -# -# INFOOWN Info owner. [${SHAREOWN}] -# -# INFOGRP Info group. [${SHAREGRP}] -# -# INFOMODE Info mode. [${NOBINMODE}] -# -# -# MANDIR Base path for manual installation. [${SHAREDIR}/man/man] -# -# MANOWN Manual owner. [${SHAREOWN}] -# -# MANGRP Manual group. [${SHAREGRP}] -# -# MANMODE Manual mode. [${NOBINMODE}] -# -# -# NLSDIR Base path for National Language Support files -# installation. [${SHAREDIR}/nls] -# -# NLSOWN National Language Support files owner. [${SHAREOWN}] -# -# NLSGRP National Language Support files group. [${SHAREGRP}] -# -# NLSMODE National Language Support files mode. [${NOBINMODE}] -# -# INCLUDEDIR Base path for standard C include files [/usr/include] -.if !target(____) -____: +.if !target(____) +____: .if !defined(_WITHOUT_SRCCONF) SRCCONF?= /etc/src.conf .if exists(${SRCCONF}) || ${SRCCONF} != "/etc/src.conf" .include "${SRCCONF}" .endif -.endif - -# Binaries -BINOWN?= root -BINGRP?= wheel -BINMODE?= 555 -NOBINMODE?= 444 - -.if defined(MODULES_WITH_WORLD) -KMODDIR?= /boot/modules -.else -KMODDIR?= /boot/kernel -.endif -KMODOWN?= ${BINOWN} -KMODGRP?= ${BINGRP} -KMODMODE?= ${BINMODE} - -LIBDIR?= /usr/lib -LIBCOMPATDIR?= /usr/lib/compat -LIBPRIVATEDIR?= /usr/lib/private -LIBDATADIR?= /usr/libdata -LIBEXECDIR?= /usr/libexec -LINTLIBDIR?= /usr/libdata/lint -SHLIBDIR?= ${LIBDIR} -LIBOWN?= ${BINOWN} -LIBGRP?= ${BINGRP} -LIBMODE?= ${NOBINMODE} - -DEBUGDIR?= /usr/lib/debug -DEBUGMODE?= ${NOBINMODE} - - -# Share files -SHAREDIR?= /usr/share -SHAREOWN?= root -SHAREGRP?= wheel -SHAREMODE?= ${NOBINMODE} - -CONFDIR?= /etc -CONFOWN?= root -CONFGRP?= wheel -CONFMODE?= 644 - -MANDIR?= ${SHAREDIR}/man/man -MANOWN?= ${SHAREOWN} -MANGRP?= ${SHAREGRP} -MANMODE?= ${NOBINMODE} - -DOCDIR?= ${SHAREDIR}/doc -DOCOWN?= ${SHAREOWN} -DOCGRP?= ${SHAREGRP} -DOCMODE?= ${NOBINMODE} - -INFODIR?= ${SHAREDIR}/info -INFOOWN?= ${SHAREOWN} -INFOGRP?= ${SHAREGRP} -INFOMODE?= ${NOBINMODE} - -NLSDIR?= ${SHAREDIR}/nls -NLSOWN?= ${SHAREOWN} -NLSGRP?= ${SHAREGRP} -NLSMODE?= ${NOBINMODE} - -INCLUDEDIR?= /usr/include - -# -# install(1) parameters. -# -HRDLINK?= -l h -SYMLINK?= -l s - -INSTALL_LINK?= ${INSTALL} ${HRDLINK} -INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} - -# Common variables -.if !defined(DEBUG_FLAGS) -STRIP?= -s -.endif - -COMPRESS_CMD?= gzip -cn -COMPRESS_EXT?= .gz -.if !defined(_WITHOUT_SRCCONF) # # Define MK_* variables (which are either "yes" or "no") for users # to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the # make(1) environment. # These should be tested with `== "no"' or `!= "no"' in makefiles. -# The NO_* variables should only be set by makefiles. +# The NO_* variables should only be set by makefiles for variables +# that haven't been converted over. # # @@ -375,6 +202,8 @@ __DEFAULT_NO_OPTIONS = \ # as MACHINE_ARCH (the non-buildworld case). Normally TARGET_ARCH is not # used at all in bsd.*.mk, but we have to make an exception here if we want # to allow defaults for some things like clang to vary by target architecture. +# Additional, per-target behavior should be rarely added only after much +# gnashing of teeth and grinding of gears. # .if defined(TARGET_ARCH) __T=${TARGET_ARCH} @@ -636,32 +465,6 @@ MK_${var}:= no MK_LLDB:= no .endif -.if ${MK_CTF} != "no" -CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} -.elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300) -CTFCONVERT_CMD= -.else -CTFCONVERT_CMD= @: -.endif - -.if ${MK_INSTALL_AS_USER} != "no" -_uid!= id -u -.if ${_uid} != 0 -.if !defined(USER) -USER!= id -un -.endif -_gid!= id -gn -.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE -$xOWN= ${USER} -$xGRP= ${_gid} -.endfor -.endif -.endif - .endif # !_WITHOUT_SRCCONF -# Pointer to the top directory into which tests are installed. Should not be -# overriden by Makefiles, but the user may choose to set this in src.conf(5). -TESTSBASE?= /usr/tests - -.endif # !target(____) +.endif Modified: head/share/mk/bsd.own.mk ============================================================================== --- head/share/mk/bsd.own.mk Fri Apr 18 17:03:58 2014 (r264660) +++ head/share/mk/bsd.own.mk Fri Apr 18 17:04:09 2014 (r264661) @@ -122,13 +122,34 @@ .if !target(____) ____: +.include + .if !defined(_WITHOUT_SRCCONF) -SRCCONF?= /etc/src.conf -.if exists(${SRCCONF}) || ${SRCCONF} != "/etc/src.conf" -.include "${SRCCONF}" + +.if ${MK_CTF} != "no" +CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300) +CTFCONVERT_CMD= +.else +CTFCONVERT_CMD= @: +.endif + +.if ${MK_INSTALL_AS_USER} != "no" +_uid!= id -u +.if ${_uid} != 0 +.if !defined(USER) +USER!= id -un +.endif +_gid!= id -gn +.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE +$xOWN= ${USER} +$xGRP= ${_gid} +.endfor .endif .endif +.endif # !_WITHOUT_SRCCONF + # Binaries BINOWN?= root BINGRP?= wheel @@ -209,457 +230,6 @@ STRIP?= -s COMPRESS_CMD?= gzip -cn COMPRESS_EXT?= .gz -.if !defined(_WITHOUT_SRCCONF) -# -# Define MK_* variables (which are either "yes" or "no") for users -# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the -# make(1) environment. -# These should be tested with `== "no"' or `!= "no"' in makefiles. -# The NO_* variables should only be set by makefiles. -# - -# -# Older-style variables that enabled behaviour when set. -# -.if defined(YES_HESIOD) -WITH_HESIOD= -.endif - -__DEFAULT_YES_OPTIONS = \ - ACCT \ - ACPI \ - AMD \ - APM \ - ARM_EABI \ - ASSERT_DEBUG \ - AT \ - ATM \ - AUDIT \ - AUTHPF \ - BINUTILS \ - BINUTILS_BOOTSTRAP \ - BLUETOOTH \ - BMAKE \ - BOOT \ - BSD_CPIO \ - BSNMP \ - BZIP2 \ - CALENDAR \ - CAPSICUM \ - CASPER \ - CDDL \ - CPP \ - CROSS_COMPILER \ - CRYPT \ - CTM \ - CXX \ - DICT \ - DMAGENT \ - DYNAMICROOT \ - ED_CRYPTO \ - EXAMPLES \ - FDT \ - FLOPPY \ - FMTREE \ - FORMAT_EXTENSIONS \ - FORTH \ - FP_LIBC \ - FREEBSD_UPDATE \ - GAMES \ - GCOV \ - GDB \ - GNU \ - GNU_GREP_COMPAT \ - GPIB \ - GPIO \ - GPL_DTC \ - GROFF \ - HTML \ - ICONV \ - INET \ - INET6 \ - INFO \ - INSTALLLIB \ - IPFILTER \ - IPFW \ - JAIL \ - KDUMP \ - KERBEROS \ - KERNEL_SYMBOLS \ - KVM \ - LDNS \ - LDNS_UTILS \ - LEGACY_CONSOLE \ - LIB32 \ - LIBPTHREAD \ - LIBTHR \ - LOCALES \ - LOCATE \ - LPR \ - LS_COLORS \ - LZMA_SUPPORT \ - MAIL \ - MAILWRAPPER \ - MAKE \ - MAN \ - MANCOMPRESS \ - NCURSESW \ - NDIS \ - NETCAT \ - NETGRAPH \ - NIS \ - NLS \ - NLS_CATALOGS \ - NS_CACHING \ - NTP \ - OPENSSH \ - OPENSSL \ - PAM \ - PC_SYSINSTALL \ - PF \ - PKGBOOTSTRAP \ - PMC \ - PORTSNAP \ - PPP \ - PROFILE \ - QUOTAS \ - RCMDS \ - RCS \ - RESCUE \ - ROUTED \ - SENDMAIL \ - SETUID_LOGIN \ - SHAREDOCS \ - SOURCELESS \ - SOURCELESS_HOST \ - SOURCELESS_UCODE \ - SSP \ - SVNLITE \ - SYMVER \ - SYSCALL_COMPAT \ - SYSCONS \ - SYSINSTALL \ - TCSH \ - TELNET \ - TEXTPROC \ - TOOLCHAIN \ - UNBOUND \ - USB \ - UTMPX \ - WIRELESS \ - WPA_SUPPLICANT_EAPOL \ - ZFS \ - ZONEINFO - -__DEFAULT_NO_OPTIONS = \ - BSD_GREP \ - CLANG_EXTRAS \ - CTF \ - DEBUG_FILES \ - EISA \ - HESIOD \ - INSTALL_AS_USER \ - LLDB \ - NAND \ - OFED \ - OPENSSH_NONE_CIPHER \ - SHARED_TOOLCHAIN \ - SORT_THREADS \ - SVN \ - TESTS \ - USB_GADGET_EXAMPLES - -# -# Default behaviour of some options depends on the architecture. Unfortunately -# this means that we have to test TARGET_ARCH (the buildworld case) as well -# as MACHINE_ARCH (the non-buildworld case). Normally TARGET_ARCH is not -# used at all in bsd.*.mk, but we have to make an exception here if we want -# to allow defaults for some things like clang to vary by target architecture. -# -.if defined(TARGET_ARCH) -__T=${TARGET_ARCH} -.else -__T=${MACHINE_ARCH} -.endif -.if defined(TARGET) -__TT=${TARGET} -.else -__TT=${MACHINE} -.endif -# Clang is only for x86, powerpc and little-endian arm right now, by default. -.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*} -__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL CLANG_BOOTSTRAP -.elif ${__T} == "arm" || ${__T} == "armv6" || ${__T} == "armv6hf" -__DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP -# GCC is unable to build the full clang on arm, disable it by default. -__DEFAULT_NO_OPTIONS+=CLANG_FULL -.else -__DEFAULT_NO_OPTIONS+=CLANG CLANG_FULL CLANG_BOOTSTRAP -.endif -# Clang the default system compiler only on little-endian arm and x86. -.if ${__T} == "amd64" || ${__T} == "arm" || ${__T} == "armv6" || \ - ${__T} == "armv6hf" || ${__T} == "i386" -__DEFAULT_YES_OPTIONS+=CLANG_IS_CC -__DEFAULT_NO_OPTIONS+=GNUCXX -# The pc98 bootloader requires gcc to build and so we must leave gcc enabled -# for pc98 for now. -.if ${__TT} == "pc98" -__DEFAULT_YES_OPTIONS+=GCC GCC_BOOTSTRAP -.else -__DEFAULT_NO_OPTIONS+=GCC GCC_BOOTSTRAP -.endif -.else -# If clang is not cc, then build gcc by default -__DEFAULT_NO_OPTIONS+=CLANG_IS_CC CLANG CLANG_BOOTSTRAP -__DEFAULT_YES_OPTIONS+=GCC GNUCXX GCC_BOOTSTRAP -.endif - -# -# MK_* options which default to "yes". -# -.for var in ${__DEFAULT_YES_OPTIONS} -.if defined(WITH_${var}) && defined(WITHOUT_${var}) -.error WITH_${var} and WITHOUT_${var} can't both be set. -.endif -.if defined(MK_${var}) -.if defined(.MAKE.LEVEL) && ${.MAKE.LEVEL} == 0 -.error MK_${var} can't be set by a user. -.endif -.else -.if defined(WITHOUT_${var}) -MK_${var}:= no -.else -MK_${var}:= yes -.endif -.endif -.endfor -.undef __DEFAULT_YES_OPTIONS - -# -# MK_* options which default to "no". -# -.for var in ${__DEFAULT_NO_OPTIONS} -.if defined(WITH_${var}) && defined(WITHOUT_${var}) -.error WITH_${var} and WITHOUT_${var} can't both be set. -.endif -.if defined(MK_${var}) -.if defined(.MAKE.LEVEL) && ${.MAKE.LEVEL} == 0 -.error MK_${var} can't be set by a user. -.endif -.else -.if defined(WITH_${var}) -MK_${var}:= yes -.else -MK_${var}:= no -.endif -.endif -.endfor -.undef __DEFAULT_NO_OPTIONS - - -# -# Supported NO_* options (if defined, MK_* will be forced to "no", -# regardless of user's setting). -# -# These are transitional and will disappaer in the fullness of time. -# -.for var in \ - CTF \ - DEBUG_FILES \ - INSTALLLIB \ - MAN \ - PROFILE -.if defined(NO_${var}) -MK_${var}:=no -.endif -.endfor - -# -# Force some options off if their dependencies are off. -# Order is somewhat important. -# -.if ${MK_LIBPTHREAD} == "no" -MK_LIBTHR:= no -.endif - -.if ${MK_LDNS} == "no" -MK_LDNS_UTILS:= no -MK_UNBOUND:= no -.endif - -.if ${MK_SOURCELESS} == "no" -MK_SOURCELESS_HOST:= no -MK_SOURCELESS_UCODE:= no -.endif - -.if ${MK_CDDL} == "no" -MK_ZFS:= no -MK_CTF:= no -.endif - -.if ${MK_CRYPT} == "no" -MK_OPENSSL:= no -MK_OPENSSH:= no -MK_KERBEROS:= no -.endif - -.if ${MK_CXX} == "no" -MK_CLANG:= no -MK_GROFF:= no -.endif - -.if ${MK_MAIL} == "no" -MK_MAILWRAPPER:= no -MK_SENDMAIL:= no -MK_DMAGENT:= no -.endif - -.if ${MK_NETGRAPH} == "no" -MK_ATM:= no -MK_BLUETOOTH:= no -.endif - -.if ${MK_OPENSSL} == "no" -MK_OPENSSH:= no -MK_KERBEROS:= no -.endif - -.if ${MK_PF} == "no" -MK_AUTHPF:= no -.endif - -.if ${MK_TEXTPROC} == "no" -MK_GROFF:= no -.endif - -.if ${MK_CROSS_COMPILER} == "no" -MK_BINUTILS_BOOTSTRAP:= no -MK_CLANG_BOOTSTRAP:= no -MK_GCC_BOOTSTRAP:= no -.endif - -.if ${MK_TOOLCHAIN} == "no" -MK_BINUTILS:= no -MK_CLANG:= no -MK_GCC:= no -MK_GDB:= no -.endif - -.if ${MK_CLANG} == "no" -MK_CLANG_EXTRAS:= no -MK_CLANG_FULL:= no -.endif - -# -# Set defaults for the MK_*_SUPPORT variables. -# - -# -# MK_*_SUPPORT options which default to "yes" unless their corresponding -# MK_* variable is set to "no". -# -.for var in \ - BZIP2 \ - GNU \ - INET \ - INET6 \ - KERBEROS \ - KVM \ - NETGRAPH \ - PAM \ - WIRELESS -.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) -.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. -.endif -.if defined(MK_${var}_SUPPORT) -.error MK_${var}_SUPPORT can't be set by a user. -.endif -.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" -MK_${var}_SUPPORT:= no -.else -MK_${var}_SUPPORT:= yes -.endif -.endfor - -# -# MK_* options whose default value depends on another option. -# -.for vv in \ - GSSAPI/KERBEROS \ - MAN_UTILS/MAN -.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H}) -.error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set. -.endif -.if defined(MK_${vv:H}) -.error MK_${vv:H} can't be set by a user. -.endif -.if defined(WITH_${vv:H}) -MK_${vv:H}:= yes -.elif defined(WITHOUT_${vv:H}) -MK_${vv:H}:= no -.else -MK_${vv:H}:= ${MK_${vv:T}} -.endif -.endfor - -# -# MK_* options that default to "yes" if the compiler is a C++11 compiler. -# -.include -.for var in \ - LIBCPLUSPLUS -.if defined(WITH_${var}) && defined(WITHOUT_${var}) -.error WITH_${var} and WITHOUT_${var} can't both be set. -.endif -.if defined(MK_${var}) -.if defined(.MAKE.LEVEL) && ${.MAKE.LEVEL} == 0 -.error MK_${var} can't be set by a user. -.endif -.else -.if ${COMPILER_FEATURES:Mc++11} -.if defined(WITHOUT_${var}) -MK_${var}:= no -.else -MK_${var}:= yes -.endif -.else -.if defined(WITH_${var}) -MK_${var}:= yes -.else -MK_${var}:= no -.endif -.endif -.endif -.endfor - -.if !${COMPILER_FEATURES:Mc++11} -MK_LLDB:= no -.endif - -.if ${MK_CTF} != "no" -CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} -.elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300) -CTFCONVERT_CMD= -.else -CTFCONVERT_CMD= @: -.endif - -.if ${MK_INSTALL_AS_USER} != "no" -_uid!= id -u -.if ${_uid} != 0 -.if !defined(USER) -USER!= id -un -.endif -_gid!= id -gn -.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE -$xOWN= ${USER} -$xGRP= ${_gid} -.endfor -.endif -.endif - -.endif # !_WITHOUT_SRCCONF - # Pointer to the top directory into which tests are installed. Should not be # overriden by Makefiles, but the user may choose to set this in src.conf(5). TESTSBASE?= /usr/tests