svn commit: r318106 - in head: . share/man/man7
Bryan Drewery
bdrewery at FreeBSD.org
Tue May 9 20:22:00 UTC 2017
Author: bdrewery
Date: Tue May 9 20:21:58 2017
New Revision: 318106
URL: https://svnweb.freebsd.org/changeset/base/318106
Log:
Support -DWORLDFAST to skip all build steps up to 'libraries' and 'everything'.
This allows for building the world against the already-created
host/sysroot environment. It is not overly useful outside of cases of
large-impact changes such as a testing a new compiler. It will
allow quickly getting back to an error in the target-phases of the
build where a new compiler is being used.
Sponsored by: Dell EMC Isilon
Modified:
head/Makefile.inc1
head/share/man/man7/build.7
Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1 Tue May 9 20:21:38 2017 (r318105)
+++ head/Makefile.inc1 Tue May 9 20:21:58 2017 (r318106)
@@ -302,6 +302,11 @@ CLEANDIR= clean cleandepend
CLEANDIR= cleandir
.endif
+.if defined(WORLDFAST)
+NO_CLEAN= t
+NO_OBJ= t
+.endif
+
.if ${MK_META_MODE} == "yes"
# If filemon is used then we can rely on the build being incremental-safe.
# The .meta files will also track the build command and rebuild should
@@ -831,6 +836,7 @@ everything: .PHONY
${_+_}cd ${.CURDIR}; _PARALLEL_SUBDIR_OK=1 ${WMAKE} all
WMAKE_TGTS=
+.if !defined(WORLDFAST)
WMAKE_TGTS+= _worldtmp _legacy
.if empty(SUBDIR_OVERRIDE)
WMAKE_TGTS+= _bootstrap-tools
@@ -841,7 +847,9 @@ WMAKE_TGTS+= _obj
.endif
WMAKE_TGTS+= _build-tools _cross-tools
WMAKE_TGTS+= _compiler-metadata
-WMAKE_TGTS+= _includes _libraries
+WMAKE_TGTS+= _includes
+.endif
+WMAKE_TGTS+= _libraries
WMAKE_TGTS+= everything
.if defined(LIBCOMPAT) && empty(SUBDIR_OVERRIDE)
WMAKE_TGTS+= build${libcompat}
Modified: head/share/man/man7/build.7
==============================================================================
--- head/share/man/man7/build.7 Tue May 9 20:21:38 2017 (r318105)
+++ head/share/man/man7/build.7 Tue May 9 20:21:58 2017 (r318106)
@@ -617,6 +617,16 @@ target.
If set, the update process does not update the www tree as part of the
.Dq make update
target.
+.It Va WORLDFAST
+If set, the build target
+.Cm buildworld
+defaults to setting
+.Va NO_CLEAN ,
+.Va NO_OBJ ,
+and will skip most bootstrap phases.
+It will only bootstrap libraries and build all of userland.
+This option should be used only when it is known that none of the bootstrap
+needs changed and that no new directories have been connected to the build.
.El
.Pp
Builds under directory
More information about the svn-src-head
mailing list