mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-05 14:09:53 +03:00
toolchain: invert glibc <-> !static dependency
Currently, glibc depends on !BR2_STATIC_LIBS in all the toolchain variants. However, for some architectures, glibc is the only supported libc. In commit3b3105328e("Config.in: only allow BR2_STATIC_LIBS on supported libc/arch"), we implemented a fix to avoid configurations were BR2_STATIC_LIBS=y with an architecture already supported by glibc, because these configurations are impossible. This commit3b3105328eprevents from selecting BR2_STATIC_LIBS=y when the C library used for the internal toolchain backend is glibc. However, it introduces a discrepency between how this topic is handled for internal and external toolchains: - For internal toolchains, we prevent BR2_STATIC_LIBS=y if glibc is chosen. - For external toolchains, we allow BR2_STATIC_LIBS=y in all cases, and it's each glibc toolchain that has !BR2_STATIC_LIBS This commit addresses this discrepency by preventing BR2_STATIC_LIBS=y if glibc is chosen in all cases. Thanks to this, we can remove the !BR2_STATIC_LIBS dependency on both the glibc package, and all glibc external toolchains. Fixes: https://bugs.busybox.net/show_bug.cgi?id=14256 Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [Thomas: update to master, fix the gen-bootlin-toolchains script, add a comment in the static/shared choice to indicate that static is supported only with uclibc or musl] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
committed by
Thomas Petazzoni
parent
1702ddd20c
commit
90932b407c
@@ -326,8 +326,6 @@ class Toolchain:
|
||||
# glibc needs mmu support
|
||||
if "BR2_USE_MMU" not in depends:
|
||||
depends.append("BR2_USE_MMU")
|
||||
# glibc doesn't support static only configuration
|
||||
depends.append("!BR2_STATIC_LIBS")
|
||||
selects.append("BR2_TOOLCHAIN_EXTERNAL_GLIBC")
|
||||
elif frag.startswith("BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL"):
|
||||
# musl needs mmu support
|
||||
@@ -501,8 +499,6 @@ def gen_config_in_options(toolchains, fpath):
|
||||
f.write("\tbool\n")
|
||||
for arch, details in arches.items():
|
||||
conditions = details['conditions'].copy()
|
||||
if set([t.libc for t in toolchains if t.arch == arch]) == set(['glibc']):
|
||||
conditions.append("!BR2_STATIC_LIBS")
|
||||
f.write("\tdefault y if %s\n" % " && ".join(conditions))
|
||||
f.write("\n")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user