aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2015-10-20 20:37:00 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2015-10-20 20:37:00 +0000
commit13569c0ae5d518d04c3f4795876853803761fbf2 (patch)
treeaf2b3722bc53aacaf7e549dbe24281939a67fbfc /share
parent74c52c652633228dead1f7f5e7e46e21cb518a67 (diff)
downloadsrc-13569c0ae5d518d04c3f4795876853803761fbf2.tar.gz
src-13569c0ae5d518d04c3f4795876853803761fbf2.zip
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
Notes
Notes: svn path=/head/; revision=289663
Diffstat (limited to 'share')
-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 46cc8c37d198..3ba5130b81f3 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