summaryrefslogtreecommitdiffstats
path: root/share/mk
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2015-10-20 20:37:00 +0000
committerbdrewery <bdrewery@FreeBSD.org>2015-10-20 20:37:00 +0000
commit235f7c0a8ee73d53f7839a231553d209705c70e3 (patch)
treeaf2b3722bc53aacaf7e549dbe24281939a67fbfc /share/mk
parenta4eadb1256729b6022936cd04486358a48f355cc (diff)
downloadFreeBSD-src-235f7c0a8ee73d53f7839a231553d209705c70e3.zip
FreeBSD-src-235f7c0a8ee73d53f7839a231553d209705c70e3.tar.gz
Improve safety of caching from r289659 by only importing of none of the
variables are already set. This should cover odd cases such as the COMPILER_TYPE override in lib/csu/powerpc64. X-MFC-With: r289659 MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'share/mk')
-rw-r--r--share/mk/bsd.compiler.mk9
1 files changed, 9 insertions, 0 deletions
diff --git a/share/mk/bsd.compiler.mk b/share/mk/bsd.compiler.mk
index 46cc8c3..3ba5130 100644
--- a/share/mk/bsd.compiler.mk
+++ b/share/mk/bsd.compiler.mk
@@ -31,11 +31,20 @@ __<bsd.compiler.mk>__:
_exported_vars= COMPILER_TYPE COMPILER_VERSION
_cc_hash= ${CC}${MACHINE}${PATH}
_cc_hash:= ${_cc_hash:hash}
+# Only import if none of the vars are set somehow else.
+_can_export= yes
+.for var in ${_exported_vars}
+.if defined(${var})
+_can_export= no
+.endif
+.endfor
+.if ${_can_export} == yes
.for var in ${_exported_vars}
.if defined(${var}.${_cc_hash})
${var}= ${${var}.${_cc_hash}}
.endif
.endfor
+.endif
.if ${MACHINE} == "common"
# common is a pseudo machine for architecture independent
OpenPOWER on IntegriCloud