svn commit: r300904 - head/share/mk
Bryan Drewery
bdrewery at FreeBSD.org
Sat May 28 16:21:06 UTC 2016
Author: bdrewery
Date: Sat May 28 16:21:05 2016
New Revision: 300904
URL: https://svnweb.freebsd.org/changeset/base/300904
Log:
Always export X_* vars.
This fixes CROSS_TOOLCHAIN builds after r300886 since it
relies on X_COMPILER_TYPE being set.
The X_* vars will only represent the external compiler
being used.
Sponsored by: EMC / Isilon Storage Division
Modified:
head/share/mk/bsd.compiler.mk
Modified: head/share/mk/bsd.compiler.mk
==============================================================================
--- head/share/mk/bsd.compiler.mk Sat May 28 16:06:07 2016 (r300903)
+++ head/share/mk/bsd.compiler.mk Sat May 28 16:21:05 2016 (r300904)
@@ -108,8 +108,10 @@ ccache-print-options: .PHONY
# CC and COMPILER_* settings here.
_exported_vars= ${X_}COMPILER_TYPE ${X_}COMPILER_VERSION \
${X_}COMPILER_FREEBSD_VERSION
-${X_}_cc_hash= ${${cc}}${MACHINE}${PATH}
-${X_}_cc_hash:= ${${X_}_cc_hash:hash}
+# Handle importing cached vars, but not for X_ vars.
+.if ${X_} == ""
+_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}
@@ -119,11 +121,12 @@ _can_export= no
.endfor
.if ${_can_export} == yes
.for var in ${_exported_vars}
-.if defined(${var}.${${X_}_cc_hash})
-${var}= ${${var}.${${X_}_cc_hash}}
+.if defined(${var}.${_cc_hash})
+${var}= ${${var}.${_cc_hash}}
.endif
.endfor
.endif
+.endif # ${X_} == ""
.if ${cc} == "CC" || (${cc} == "XCC" && ${XCC} != ${CC})
.if ${MACHINE} == "common"
@@ -183,9 +186,14 @@ X_COMPILER_FEATURES= ${COMPILER_FEATURES
# Export the values so sub-makes don't have to look them up again, using the
# hash key computed above.
.for var in ${_exported_vars}
-${var}.${${X_}_cc_hash}:= ${${var}}
-.export-env ${var}.${${X_}_cc_hash}
-.undef ${var}.${${X_}_cc_hash}
+.if ${X_} == ""
+${var}.${_cc_hash}:= ${${var}}
+.export-env ${var}.${_cc_hash}
+.undef ${var}.${_cc_hash}
+.else
+# Always export X_ vars.
+.export-env ${var}
+.endif
.endfor
.endif # ${cc} == "CC" || !empty(XCC)
More information about the svn-src-all
mailing list