Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] toolchain/toolchain-external/toolchain-external-custom: be more flexible on gcc version
Date: Sat, 3 Aug 2019 08:40:17 +0200	[thread overview]
Message-ID: <20190803064017.GB28984@scaer> (raw)
In-Reply-To: <20190802213646.29444-1-thomas.petazzoni@bootlin.com>

Thomas, All,

On 2019-08-02 23:36 +0200, Thomas Petazzoni spake thusly:
> The custom external toolchain logic asks the user to specify which gcc
> version is provided by the toolchain. The list of gcc versions given
> by Buildroot is restricted depending on the selected CPU architecture
> using the BR2_ARCH_NEEDS_GCC_AT_LEAST_xyz config options.
> 
> However, these config options generally indicate in which upstream gcc
> version the support for the selected architecture was introduced. But
> in practice, it is possible that an external toolchain uses some
> non-upstream gcc code, providing support for a CPU architecture before
> it was merged in upstream gcc.
> 
> A specific example is that there are pre-built external toolchains for
> the C-SKY CPU architecture that are based on gcc 6.x, even if the
> support for it was only added in upstream gcc 9.x.
> 
> Due to the BR2_ARCH_NEEDS_GCC_AT_LEAST_xyz options, only gcc >= 9.x
> can be selected for C-SKY, preventing the use of such a custom
> toolchain.
> 
> In addition, those dependencies are in fact not really needed:
> Buildroot will check that the gcc version provided matches what the
> user declared in the configuration. And if the gcc provided by the
> toolchain does support that CPU architecture, then well, so be it,
> there's no need to restrict the gcc version selected.
> 
> So we simply get rid of these dependencies on
> BR2_ARCH_NEEDS_GCC_AT_LEAST_xyz, and also don't use them anymore to
> chose a default value for the gcc version.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Yann E. MORIN <yann.morin.1998@free.fr>

Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  .../Config.in.options                         | 20 -------------------
>  1 file changed, 20 deletions(-)
> 
> diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
> index c5e2ce221b..679e727509 100644
> --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
> +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
> @@ -27,14 +27,6 @@ config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
>  
>  choice
>  	bool "External toolchain gcc version"
> -	default BR2_TOOLCHAIN_EXTERNAL_GCC_9   if BR2_ARCH_NEEDS_GCC_AT_LEAST_9
> -	default BR2_TOOLCHAIN_EXTERNAL_GCC_8   if BR2_ARCH_NEEDS_GCC_AT_LEAST_8
> -	default BR2_TOOLCHAIN_EXTERNAL_GCC_7   if BR2_ARCH_NEEDS_GCC_AT_LEAST_7
> -	default BR2_TOOLCHAIN_EXTERNAL_GCC_6   if BR2_ARCH_NEEDS_GCC_AT_LEAST_6
> -	default BR2_TOOLCHAIN_EXTERNAL_GCC_5   if BR2_ARCH_NEEDS_GCC_AT_LEAST_5
> -	default BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
> -	default BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> -	default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
>  	help
>  	  Set to the gcc version that is used by your external
>  	  toolchain.
> @@ -45,62 +37,50 @@ config BR2_TOOLCHAIN_EXTERNAL_GCC_9
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_8
>  	bool "8.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_8
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_7
>  	bool "7.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_7
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_6
>  	bool "6.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_6
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_5
>  	bool "5.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_5
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
>  	bool "4.9.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
>  	bool "4.8.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
>  	bool "4.7.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
>  	bool "4.6.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
>  	bool "4.5.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
>  	bool "4.4.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
>  	bool "4.3.x"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
>  
>  config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
>  	bool "older"
> -	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
>  	help
>  	  Use this option if your GCC version is older than any of the
>  	  above.
> -- 
> 2.21.0
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2019-08-03  6:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-02 21:36 [Buildroot] [PATCH] toolchain/toolchain-external/toolchain-external-custom: be more flexible on gcc version Thomas Petazzoni
2019-08-03  6:40 ` Yann E. MORIN [this message]
2019-08-03 14:18 ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190803064017.GB28984@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox