mk: Prefer target libs coming from their host
It looks like the target libs aren't actually the same across hosts so instead of always packaging the target libs from CFG_BUILD take the target libs from the host if we have them and then only failing that do we take them from CFG_BUILD. Closes #29228
This commit is contained in:
parent
ca998fc2f1
commit
0528effcd9
20
mk/dist.mk
20
mk/dist.mk
@ -256,7 +256,25 @@ endef
|
|||||||
|
|
||||||
$(foreach host,$(CFG_HOST),\
|
$(foreach host,$(CFG_HOST),\
|
||||||
$(eval $(call DEF_INSTALLER,$(host))))
|
$(eval $(call DEF_INSTALLER,$(host))))
|
||||||
$(foreach target,$(CFG_TARGET),\
|
|
||||||
|
# When generating packages for the standard library, we've actually got a lot of
|
||||||
|
# artifacts to choose from. Each of the CFG_HOST compilers will have a copy of
|
||||||
|
# the standard library for each CFG_TARGET, but we only want to generate one
|
||||||
|
# standard library package. As a result, for each entry in CFG_TARGET we need to
|
||||||
|
# pick a CFG_HOST to get the standard library from.
|
||||||
|
#
|
||||||
|
# In theory it doesn't actually matter what host we choose as it should be the
|
||||||
|
# case that all hosts produce the same set of libraries for a target (regardless
|
||||||
|
# of the host itself). Currently there is a bug in the compiler, however, which
|
||||||
|
# means this is not the case (see #29228 and #29235). To solve the first of
|
||||||
|
# those bugs, we prefer to select a standard library from the host it was
|
||||||
|
# generated from, allowing plugins to work in more situations.
|
||||||
|
#
|
||||||
|
# For all CFG_TARGET entries in CFG_HOST, however, we just pick CFG_BUILD as the
|
||||||
|
# host we slurp up a standard library from.
|
||||||
|
$(foreach host,$(CFG_HOST),\
|
||||||
|
$(eval $(call DEF_INSTALLER_TARGETS,$(host),$(host))))
|
||||||
|
$(foreach target,$(filter-out $(CFG_HOST),$(CFG_TARGET)),\
|
||||||
$(eval $(call DEF_INSTALLER_TARGETS,$(CFG_BUILD),$(target))))
|
$(eval $(call DEF_INSTALLER_TARGETS,$(CFG_BUILD),$(target))))
|
||||||
|
|
||||||
ifdef CFG_WINDOWSY_$(CFG_BUILD)
|
ifdef CFG_WINDOWSY_$(CFG_BUILD)
|
||||||
|
Loading…
Reference in New Issue
Block a user