toolchain-external: support gcc < 4.3

We currently support gcc as old as 4.3. However, Buildroot works
perfectly well with even older gcc versions (tested with 4.1). So we
can add an option BR2_TOOLCHAIN_EXTERNAL_GCC_OLD to support that. The
help text of this option is written with plenty of discouragement.

We use _OLD and not something like _PRE_4_3, because at some point we
will likely remove the 4.3 option and what would then require a name
change.

We don't set any _AT_LEAST option in this case because it's no use -
there is no lower bound on the version in this case. We therefore leave
BR2_TOOLCHAIN_GCC_AT_LEAST empty (the implicit default). When it is
empty, we don't do a version check at all in check_gcc_version
(previously we errored out when it was empty).

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Arnout Vandecappelle 2016-11-24 00:40:34 +01:00 committed by Thomas Petazzoni
parent abeab9ce93
commit 006ba68a30
2 changed files with 12 additions and 2 deletions

View File

@ -145,8 +145,7 @@ check_kernel_headers_version = \
check_gcc_version = \
expected_version="$(strip $2)" ; \
if [ -z "$${expected_version}" ]; then \
printf "Internal error, gcc version unknown (no GCC_AT_LEAST_X_Y selected)\n"; \
exit 1 ; \
exit 0 ; \
fi; \
real_version=`$(1) --version | sed -r -e '1!d; s/^[^)]+\) ([^[:space:]]+).*/\1/;'` ; \
if [[ ! "$${real_version}" =~ ^$${expected_version}\. ]] ; then \

View File

@ -59,6 +59,17 @@ config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
bool "4.3.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
bool "older"
help
Use this option if your GCC version is older than any of the
above.
Note that the Buildroot community doesn't do any testing with
such old toolchains. Some packages may fail to build in
surprising ways, or the generated root filesystem may not
work at all. Use such old toolchains at your own risk.
endchoice
choice