build: Improve GCC version detection
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 31 Mar 2018 19:28:32 +0000 (21:28 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Tue, 3 Apr 2018 21:26:45 +0000 (23:26 +0200)
This now makes sure that the beginning of the version number gets checked
and "4.4.5" will not match was a supported version.
GCC 8 and GCC 9 are now marked as supported, but we probably have to fix
some problems for them.

Closes: FS#1433
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
include/prereq-build.mk

index 6a423d2c7dd71b8354f78ef8efe498ea0f4d0a84..6917716342620c289bb6bb8c910c31487a16cfbd 100644 (file)
@@ -28,13 +28,15 @@ $(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]?)', \
+       $(CC) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
+       gcc -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
        gcc48 --version | grep gcc, \
        gcc49 --version | grep gcc, \
        gcc5 --version | grep gcc, \
        gcc6 --version | grep gcc, \
        gcc7 --version | grep gcc, \
+       gcc8 --version | grep gcc, \
+       gcc9 --version | grep gcc, \
        gcc --version | grep Apple.LLVM ))
 
 $(eval $(call TestHostCommand,working-gcc, \
@@ -45,13 +47,15 @@ $(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]?)', \
+       $(CXX) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
+       g++ -dumpversion | grep -E '^(4\.[8-9]|[5-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++, \
+       g++8 --version | grep g++, \
+       g++9 --version | grep g++, \
        g++ --version | grep Apple.LLVM ))
 
 $(eval $(call TestHostCommand,working-g++, \