aboutsummaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorGravatar Arnout Vandecappelle <arnout@mind.be>2016-11-24 00:40:34 +0100
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-11-25 22:59:10 +0100
commit006ba68a3020477e8358eb0253acaf15220b84b5 (patch)
tree34763f82a2c776bcd157d81537ed53b50f83b390 /toolchain
parentabeab9ce934ad26785d476492d06b3ad38000f41 (diff)
downloadbuildroot-006ba68a3020477e8358eb0253acaf15220b84b5.tar.gz
buildroot-006ba68a3020477e8358eb0253acaf15220b84b5.tar.bz2
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>
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/helpers.mk3
-rw-r--r--toolchain/toolchain-external/toolchain-external-custom/Config.in.options11
2 files changed, 12 insertions, 2 deletions
diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
index 3991bc1cf1..72e7292353 100644
--- a/toolchain/helpers.mk
+++ b/toolchain/helpers.mk
@@ -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 \
diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
index cdc25559fa..5ff2491e19 100644
--- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
+++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
@@ -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