svn commit: r329676 - in head: . share/mk

Bryan Drewery bdrewery at FreeBSD.org
Tue Feb 20 21:48:17 UTC 2018


Author: bdrewery
Date: Tue Feb 20 21:48:16 2018
New Revision: 329676
URL: https://svnweb.freebsd.org/changeset/base/329676

Log:
  Move SVNVERSION_CMD into the one place that uses it.
  
  This code, which is basically `svnversion || svnliteversion`, generates
  2 fstatat(2) for every directory in PATH for every Makefile parsed that
  includes bsd.own.mk.  This can add up for things like generating a Ports
  index (Poudriere) or building a dependency graph for base.
  
  Sponsored by:	Dell EMC
  MFC after:	2 weeks

Modified:
  head/Makefile.inc1
  head/share/mk/bsd.own.mk

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Tue Feb 20 21:42:45 2018	(r329675)
+++ head/Makefile.inc1	Tue Feb 20 21:48:16 2018	(r329676)
@@ -350,6 +350,16 @@ SVN=   ${_P}/${_S}
 .endif
 SVNFLAGS?=	-r HEAD
 .if !defined(VCS_REVISION) && empty(VCS_REVISION)
+.if !defined(SVNVERSION_CMD) && empty(SVNVERSION_CMD)
+. for _D in ${PATH:S,:, ,g}
+.  if exists(${_D}/svnversion)
+SVNVERSION_CMD?=${_D}/svnversion
+.  endif
+.  if exists(${_D}/svnliteversion)
+SVNVERSION_CMD?=${_D}/svnliteversion
+.  endif
+. endfor
+.endif
 _VCS_REVISION?=	$$(eval ${SVNVERSION_CMD} ${SRCDIR})
 . if !empty(_VCS_REVISION)
 VCS_REVISION=	$$(echo r${_VCS_REVISION})

Modified: head/share/mk/bsd.own.mk
==============================================================================
--- head/share/mk/bsd.own.mk	Tue Feb 20 21:42:45 2018	(r329675)
+++ head/share/mk/bsd.own.mk	Tue Feb 20 21:48:16 2018	(r329676)
@@ -230,17 +230,6 @@ XZ_CMD?=	xz -T ${XZ_THREADS}
 XZ_CMD?=	xz
 .endif
 
-.if !defined(SVNVERSION_CMD) && empty(SVNVERSION_CMD)
-. for _D in ${PATH:S,:, ,g}
-.  if exists(${_D}/svnversion)
-SVNVERSION_CMD?=${_D}/svnversion
-.  endif
-.  if exists(${_D}/svnliteversion)
-SVNVERSION_CMD?=${_D}/svnliteversion
-.  endif
-. endfor
-.endif
-
 PKG_CMD?=	pkg
 
 # Pointer to the top directory into which tests are installed.  Should not be


More information about the svn-src-head mailing list