From b8aba4fc191f394beba4643ff5a5900c4fe175b0 Mon Sep 17 00:00:00 2001 From: Bryan Drewery Date: Wed, 23 Sep 2015 22:36:01 +0000 Subject: [PATCH] META_MODE: Fix 2nd build causing everything to rebuild due to changed CC. In the first build the TOOLSDIR does not exit yet which causes CC to default to the sys.mk version. Once a TOOLSDIR is created during the build though, this logic was changing CC to ${TOOLSDIR}/usr/bin/cc even though that file did not exist. Thus CC went from 'cc' to '/usr/bin/cc' which forced a rebuild of everything while using the same compiler. Check that TOOLSDIR is not empty to avoid this. If there is actually a TOOLSDIR cc then it will be used and properly rebuild. Sponsored by: EMC / Isilon Storage Division --- share/mk/local.meta.sys.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/mk/local.meta.sys.mk b/share/mk/local.meta.sys.mk index 85e41899602..20c3974fc4f 100644 --- a/share/mk/local.meta.sys.mk +++ b/share/mk/local.meta.sys.mk @@ -214,6 +214,7 @@ TOOLSDIR?= ${HOST_OBJTOP}/tools .elif defined(STAGE_HOST_OBJTOP) && exists(${STAGE_HOST_OBJTOP}/usr/bin) TOOLSDIR?= ${STAGE_HOST_OBJTOP} .endif +.if !empty(TOOLSDIR) .if ${.MAKE.LEVEL} == 0 && exists(${TOOLSDIR}/usr/bin) PATH:= ${PATH:S,:, ,g:@d@${exists(${TOOLSDIR}$d):?${TOOLSDIR}$d:}@:ts:}:${PATH} .export PATH @@ -224,6 +225,7 @@ CXX?= ${TOOLSDIR}/usr/bin/c++ .export HOST_CC CC CXX .endif .endif +.endif .if ${MACHINE:Nhost:Ncommon} != "" && ${MACHINE} != ${HOST_MACHINE} # cross-building