Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Apr 2014 17:04:10 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r264661 - head/share/mk
Message-ID:  <201404181704.s3IH4AJA050586@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <bsd.own.mk> 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(__<bsd.own.mk>__)
-__<bsd.own.mk>__:
+.if !target(__<bsd.opts.mk>__)
+__<bsd.opts.mk>__:
 
 .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(__<bsd.own.mk>__)
+.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(__<bsd.own.mk>__)
 __<bsd.own.mk>__:
 
+.include <bsd.opts.mk>
+
 .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 <bsd.compiler.mk>
-.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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404181704.s3IH4AJA050586>