svn commit: r321887 - in head: . share/mk
Bryan Drewery
bdrewery at FreeBSD.org
Tue Aug 1 18:26:22 UTC 2017
Author: bdrewery
Date: Tue Aug 1 18:26:20 2017
New Revision: 321887
URL: https://svnweb.freebsd.org/changeset/base/321887
Log:
CCACHE_BUILD: Follow-up r321880: Fix some PATH issues with buildworld.
- bsd.compiler.mk: Must ensure that the CCACHE_WRAPPER_PATH comes first
in PATH.
- Makefile.inc1: Must prepend the CCACHE_WRAPPER_PATH into BPATH as it
overrides the PATH set in bsd.compiler.mk in sub-makes. The PATH
set in bsd.compiler.mk is not exported and doing so would cause it to
then override the BPATH set from environment. The only sane solution
is to prepend into BPATH as needed.
CCACHE_PATH could possibly be used for some of this as well.
Sponsored by: Dell EMC Isilon
Modified:
head/Makefile.inc1
head/share/mk/bsd.compiler.mk
Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1 Tue Aug 1 18:25:04 2017 (r321886)
+++ head/Makefile.inc1 Tue Aug 1 18:26:20 2017 (r321887)
@@ -444,7 +444,7 @@ BUILD_ARCH!= uname -p
.endif
.endif
WORLDTMP= ${OBJTREE}${.CURDIR}/tmp
-BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin
+BPATH= ${CCACHE_WRAPPER_PATH_PFX}${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin
XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin
STRICTTMPPATH= ${BPATH}:${XPATH}
TMPPATH= ${STRICTTMPPATH}:${PATH}
Modified: head/share/mk/bsd.compiler.mk
==============================================================================
--- head/share/mk/bsd.compiler.mk Tue Aug 1 18:25:04 2017 (r321886)
+++ head/share/mk/bsd.compiler.mk Tue Aug 1 18:26:20 2017 (r321887)
@@ -82,8 +82,11 @@ PATH:= ${PATH:C,:?${CCACHE_WRAPPER_PATH}(/world)?(:$)?
${var}:= ${CCACHE_BIN} ${${var}}
.endif
.endfor
-.elif empty(PATH:M*${CCACHE_WRAPPER_PATH}*)
+.else
+# Need to ensure CCACHE_WRAPPER_PATH is the first in ${PATH}
+PATH:= ${PATH:C,:?${CCACHE_WRAPPER_PATH}(/world)?(:$)?,,g}
PATH:= ${CCACHE_WRAPPER_PATH}:${PATH}
+CCACHE_WRAPPER_PATH_PFX= ${CCACHE_WRAPPER_PATH}:
.endif # ${CCACHE_BUILD_TYPE} == "command"
# GCC does not need the CCACHE_CPP2 hack enabled by default in devel/ccache.
# The port enables it due to ccache passing preprocessed C to clang
More information about the svn-src-all
mailing list