Changeset View
Changeset View
Standalone View
Standalone View
head/share/mk/bsd.linker.mk
Show All 35 Lines | |||||
.if ${ld} == "LD" || !empty(XLD) | .if ${ld} == "LD" || !empty(XLD) | ||||
# Try to import LINKER_TYPE and LINKER_VERSION from parent make. | # Try to import LINKER_TYPE and LINKER_VERSION from parent make. | ||||
# The value is only used/exported for the same environment that impacts | # The value is only used/exported for the same environment that impacts | ||||
# LD and LINKER_* settings here. | # LD and LINKER_* settings here. | ||||
_exported_vars= ${X_}LINKER_TYPE ${X_}LINKER_VERSION ${X_}LINKER_FEATURES \ | _exported_vars= ${X_}LINKER_TYPE ${X_}LINKER_VERSION ${X_}LINKER_FEATURES \ | ||||
${X_}LINKER_FREEBSD_VERSION | ${X_}LINKER_FREEBSD_VERSION | ||||
${X_}_ld_hash= ${${ld}}${MACHINE}${PATH} | ${X_}_ld_hash= ${${ld}}${MACHINE}${PATH} | ||||
${X_}_ld_hash:= ${${X_}_ld_hash:hash} | ${X_}_ld_hash:= ${${X_}_ld_hash:hash} | ||||
# Only import if none of the vars are set somehow else. | # Only import if none of the vars are set differently somehow else. | ||||
_can_export= yes | _can_export= yes | ||||
.for var in ${_exported_vars} | .for var in ${_exported_vars} | ||||
.if defined(${var}) | .if defined(${var}) && (!defined(${var}__${${X_}_ld_hash}) || ${${var}__${${X_}_ld_hash}} != ${${var}}) | ||||
.if defined(${var}__${${X_}_ld_hash}) | |||||
.info "Cannot import ${X_}LINKER variables since cached ${var} is different: ${${var}__${${X_}_ld_hash}} != ${${var}}" | |||||
.endif | |||||
_can_export= no | _can_export= no | ||||
.endif | .endif | ||||
.endfor | .endfor | ||||
.if ${_can_export} == yes | .if ${_can_export} == yes | ||||
.for var in ${_exported_vars} | .for var in ${_exported_vars} | ||||
.if defined(${var}__${${X_}_ld_hash}) | .if defined(${var}__${${X_}_ld_hash}) | ||||
${var}= ${${var}__${${X_}_ld_hash}} | ${var}= ${${var}__${${X_}_ld_hash}} | ||||
.endif | .endif | ||||
▲ Show 20 Lines • Show All 77 Lines • Show Last 20 Lines |