svn commit: r327439 - in head: . share/man/man7
Ian Lepore
ian at FreeBSD.org
Sun Dec 31 18:53:14 UTC 2017
Author: ian
Date: Sun Dec 31 18:53:13 2017
New Revision: 327439
URL: https://svnweb.freebsd.org/changeset/base/327439
Log:
Allow use of .WAIT in the LOCAL_DIRS and LOCAL_LIB_DIRS lists.
A comment in Makefile.inc1 has long stated that LOCAL_DIRS are built last,
after the base system. Incremental improvements in parallel building over
the years have led to LOCAL_DIRS being built in parallel with base system
directories. This change allows the .WAIT directive to appear in LOCAL_DIRS
and LOCAL_LIB_DIRS lists to give the user some control over parallel
building of local additions.
Differential Revision: https://reviews.freebsd.org/D13622
Modified:
head/Makefile.inc1
head/share/man/man7/build.7
Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1 Sun Dec 31 17:11:12 2017 (r327438)
+++ head/Makefile.inc1 Sun Dec 31 18:53:13 2017 (r327439)
@@ -262,10 +262,11 @@ SUBDIR+= tests
SUBDIR+=contrib/ofed
.endif
-# Local directories are last, since it is nice to at least get the base
-# system rebuilt before you do them.
+# Local directories are built in parallel with the base system directories.
+# Users may insert a .WAIT directive at the beginning or elsewhere within
+# the LOCAL_DIRS and LOCAL_LIB_DIRS lists as needed.
.for _DIR in ${LOCAL_DIRS}
-.if exists(${.CURDIR}/${_DIR}/Makefile)
+.if ${_DIR} == ".WAIT" || exists(${.CURDIR}/${_DIR}/Makefile)
SUBDIR+= ${_DIR}
.endif
.endfor
@@ -276,7 +277,7 @@ SUBDIR+= ${_DIR}
_REDUNDANT_LIB_DIRS+= ${LOCAL_LIB_DIRS:M${_DIR}*}
.endfor
.for _DIR in ${LOCAL_LIB_DIRS}
-.if empty(_REDUNDANT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile)
+.if ${_DIR} == ".WAIT" || (empty(_REDUNDANT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile))
SUBDIR+= ${_DIR}
.endif
.endfor
@@ -2445,7 +2446,7 @@ _generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib}
_generic_libs+= sbin/ipf/libipf
.endif
.for _DIR in ${LOCAL_LIB_DIRS}
-.if exists(${.CURDIR}/${_DIR}/Makefile) && empty(_generic_libs:M${_DIR})
+.if ${_DIR} == ".WAIT" || (empty(_generic_libs:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile))
_generic_libs+= ${_DIR}
.endif
.endfor
Modified: head/share/man/man7/build.7
==============================================================================
--- head/share/man/man7/build.7 Sun Dec 31 17:11:12 2017 (r327438)
+++ head/share/man/man7/build.7 Sun Dec 31 18:53:13 2017 (r327439)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 3, 2017
+.Dd December 24, 2017
.Dt BUILD 7
.Os
.Sh NAME
@@ -509,6 +509,15 @@ If set, this variable supplies a list of additional di
the root of the source tree to build as part of the
.Cm everything
target.
+The directories are built in parallel with each other,
+and with the base system directories.
+Insert a
+.Va .WAIT
+directive at the beginning of the
+.Va LOCAL_DIRS
+list to ensure all base system directories are built first.
+.Va .WAIT
+may also be used as needed elsewhere within the list.
.It Va LOCAL_ITOOLS
If set, this variable supplies a list of additional tools that are used by the
.Cm installworld
@@ -520,6 +529,15 @@ If set, this variable supplies a list of additional di
the root of the source tree to build as part of the
.Cm libraries
target.
+The directories are built in parallel with each other,
+and with the base system libraries.
+Insert a
+.Va .WAIT
+directive at the beginning of the
+.Va LOCAL_DIRS
+list to ensure all base system libraries are built first.
+.Va .WAIT
+may also be used as needed elsewhere within the list.
.It Va LOCAL_MTREE
If set, this variable supplies a list of additional mtrees relative to the
root of the source tree to use as part of the
More information about the svn-src-all
mailing list