[LEDE-DEV] [RFC] toolchain: fix GCC version check causing failure on Debian Testing with gcc-7

Peter Pöschl pp+wrt0611 at nest-ai.de
Sun Dec 17 03:40:30 PST 2017


Hi Jo,
 
(not subscribed, trying to reply to your mail extracted from the archives)

> > In Debian there were/are gcc-4.2 .. gcc-4.9, gcc-5 .. gcc-7.
> > And what about beauties like 'x86_64-linux-gnu-gcc-7'?
> > Why not ditch the 'gcc* --version' invocations and have people use
> > 'CC=fancy-named-gcc' on the command line if needed?
> ...
> I'm fine with removing the version checks entirely if we find an
> alternative to check for GCC > 4.8 - maybe a feature test of some sort?

Which features do you want to test for?
Alternatively, how about switching from a never-complete whitelist
to a blacklist like this:

Signed-off-by: Peter Pöschl <pp+wrt0611 at nest-ai.de>
---
diff --git a/include/prereq-build.mk b/include/prereq-build.mk
index 6a423d2c7d..4e63cde56a 100644
--- a/include/prereq-build.mk
+++ b/include/prereq-build.mk
@@ -28,13 +28,8 @@ $(eval $(call TestHostCommand,proper-umask, \
 
 $(eval $(call SetupHostCommand,gcc, \
        Please install the GNU C Compiler (gcc) 4.8 or later \
-       $(CC) -dumpversion | grep -E '(4\.[8-9]|5\.?[0-9]?|6\.?[0-9]?|7\.?[0-9]?)', \
-       gcc -dumpversion | grep -E '(4\.[8-9]|5\.?[0-9]?|6\.?[0-9]?|7\.?[0-9]?)', \
-       gcc48 --version | grep gcc, \
-       gcc49 --version | grep gcc, \
-       gcc5 --version | grep gcc, \
-       gcc6 --version | grep gcc, \
-       gcc7 --version | grep gcc, \
+       $(CC) -dumpversion | grep -Ev '^([1-3]\.|4\.[0-7])', \
+       gcc -dumpversion | grep -Ev '^([1-3]\.|4\.[0-7])', \
        gcc --version | grep Apple.LLVM ))
 
 $(eval $(call TestHostCommand,working-gcc, \
@@ -45,13 +40,8 @@ $(eval $(call TestHostCommand,working-gcc, \
 
 $(eval $(call SetupHostCommand,g++, \
        Please install the GNU C++ Compiler (g++) 4.8 or later \
-       $(CXX) -dumpversion | grep -E '(4\.[8-9]|5\.?[0-9]?|6\.?[0-9]?|7\.?[0-9]?)', \
-       g++ -dumpversion | grep -E '(4\.[8-9]|5\.?[0-9]?|6\.?[0-9]?|7\.?[0-9]?)', \
-       g++48 --version | grep g++, \
-       g++49 --version | grep g++, \
-       g++5 --version | grep g++, \
-       g++6 --version | grep g++, \
-       g++7 --version | grep g++, \
+       $(CXX) -dumpversion | grep -Ev '^([1-3]\.|4\.[0-7])', \
+       g++ -dumpversion | grep -Ev '^([1-3]\.|4\.[0-7])', \
        g++ --version | grep Apple.LLVM ))
 
 $(eval $(call TestHostCommand,working-g++, \






More information about the Lede-dev mailing list