[Buildroot] [PATCH] toolchain/external: better check for gcc-5
Jörg Krause
joerg.krause at embedded.rocks
Sun Aug 9 18:13:01 UTC 2015
Dear Yann,
On So, 2015-08-09 at 13:11 +0200, Yann E. MORIN wrote:
> gcc will always report a three-digit version sting, like 4.9.3 or
> 5.1.0.
>
> For gcc before 5, we want to check the first two digits, while
> starting
> with gcc 5, we are only concerned about the first digit.
>
> So, change our matching code to test for the leading part of the
> version
> string, up to the first dot after as-many version digit we're
> interested
> in.
>
> Note: we're adding the dot in the .mk code rather than in the Kconfig
> symbol, because it seemed cleaner to do so.
>
> Reported-by: Jörg Krause <joerg.krause at embedded.rocks>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
> toolchain/helpers.mk | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
> index 018f3ed..7c70d35 100644
> --- a/toolchain/helpers.mk
> +++ b/toolchain/helpers.mk
> @@ -191,16 +191,12 @@ check_kernel_headers_version = \
> # - eat all the remaining chars on the line
> # - replace by the matched expression
> #
> -# - s/\.[[:digit:]]+$//
> -# - eat a dot followed by as many digits as possible up to the end
> -# of line
> -# - replace with nothing
> -#
> check_gcc_version = \
> expected_version="$(strip $2)" ; \
> - real_version=`$(1) --version | sed -r -e '1!d; s/^[^)]+\)
> ([^[:space:]]+).*/\1/; s/\.[[:digit:]]+$$//;'` ; \
> - if [ "$${real_version}" != "$${expected_version}" ] ; then \
> - echo "Incorrect selection of gcc version: expected
> $${expected_version}, got $${real_version}" ; \
> + real_version=`$(1) --version | sed -r -e '1!d; s/^[^)]+\)
> ([^[:space:]]+).*/\1/;'` ; \
> + if [[ ! "$${real_version}" =~ ^$${expected_version}\. ]] ;
> then \
> + printf "Incorrect selection of gcc version: expected
> %s.x, got %s\n" \
> + "$${expected_version}" "$${real_version}" ;
> \
> exit 1 ; \
> fi
>
Many thanks! This works fine for my gcc 5.2.0 toolchain. Although, it
is already commited and applied:
Tested-by: Jörg Krause <joerg.krause at embedded.rocks>
More information about the buildroot
mailing list