diff mbox series

[1/1] support/scripts/gen-bootlin-toolchains: generate BR2_ARCH_NEEDS_GCC_AT_LEAST_X guard

Message ID 20230813045912.10404-1-vfazio@gmail.com
State Accepted
Headers show
Series [1/1] support/scripts/gen-bootlin-toolchains: generate BR2_ARCH_NEEDS_GCC_AT_LEAST_X guard | expand

Commit Message

Vincent Fazio Aug. 13, 2023, 4:59 a.m. UTC
Previously, gen-bootlin-toolchains did not add a `depends` guard to
limit the available toolchains based on the minimum required GCC version
for the user selected CPU tuning.

Now, the proper BR2_ARCH_NEEDS_GCC_AT_LEAST_X guard will be added based
on the version of GCC provided by the toolchain.

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
---
 support/scripts/gen-bootlin-toolchains | 2 ++
 1 file changed, 2 insertions(+)

Comments

Yann E. MORIN Aug. 13, 2023, 4:09 p.m. UTC | #1
Vincent, All,

On 2023-08-12 23:59 -0500, Vincent Fazio spake thusly:
> Previously, gen-bootlin-toolchains did not add a `depends` guard to
> limit the available toolchains based on the minimum required GCC version
> for the user selected CPU tuning.
> 
> Now, the proper BR2_ARCH_NEEDS_GCC_AT_LEAST_X guard will be added based
> on the version of GCC provided by the toolchain.
> 
> Signed-off-by: Vincent Fazio <vfazio@gmail.com>

s for the other external toolchains, this is a fix, so I applied to
master.

I did regenerate the toolchains, after adding a litle temporary kludge
so that the latest Bootlin toolchain version was ignored.

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  support/scripts/gen-bootlin-toolchains | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains
> index 23ebfbdce9..4344221213 100755
> --- a/support/scripts/gen-bootlin-toolchains
> +++ b/support/scripts/gen-bootlin-toolchains
> @@ -338,6 +338,8 @@ class Toolchain:
>                  m = re.match("^BR2_TOOLCHAIN_EXTERNAL_GCC_([0-9_]*)=y$", frag)
>                  assert m, "Cannot get gcc version for toolchain %s" % self.fname_prefix
>                  selects.append("BR2_TOOLCHAIN_GCC_AT_LEAST_%s" % m[1])
> +                # respect the GCC requirement for the selected CPU/arch tuning
> +                depends.append("!BR2_ARCH_NEEDS_GCC_AT_LEAST_%s" % str(int(m[1]) + 1))
>  
>              # kernel headers version
>              if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_HEADERS_"):
> -- 
> 2.25.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains
index 23ebfbdce9..4344221213 100755
--- a/support/scripts/gen-bootlin-toolchains
+++ b/support/scripts/gen-bootlin-toolchains
@@ -338,6 +338,8 @@  class Toolchain:
                 m = re.match("^BR2_TOOLCHAIN_EXTERNAL_GCC_([0-9_]*)=y$", frag)
                 assert m, "Cannot get gcc version for toolchain %s" % self.fname_prefix
                 selects.append("BR2_TOOLCHAIN_GCC_AT_LEAST_%s" % m[1])
+                # respect the GCC requirement for the selected CPU/arch tuning
+                depends.append("!BR2_ARCH_NEEDS_GCC_AT_LEAST_%s" % str(int(m[1]) + 1))
 
             # kernel headers version
             if frag.startswith("BR2_TOOLCHAIN_EXTERNAL_HEADERS_"):