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-head mailing list