build: Improve GCC version detection

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>
This commit is contained in:
Hauke Mehrtens 2018-03-31 21:28:32 +02:00
parent ece815508a
commit d6d3db0543

View File

@ -28,13 +28,15 @@ $(eval $(call TestHostCommand,proper-umask, \
$(eval $(call SetupHostCommand,gcc, \ $(eval $(call SetupHostCommand,gcc, \
Please install the GNU C Compiler (gcc) 4.8 or later \ 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]?)', \ $(CC) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
gcc -dumpversion | grep -E '(4\.[8-9]|5\.?[0-9]?|6\.?[0-9]?|7\.?[0-9]?)', \ gcc -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
gcc48 --version | grep gcc, \ gcc48 --version | grep gcc, \
gcc49 --version | grep gcc, \ gcc49 --version | grep gcc, \
gcc5 --version | grep gcc, \ gcc5 --version | grep gcc, \
gcc6 --version | grep gcc, \ gcc6 --version | grep gcc, \
gcc7 --version | grep gcc, \ gcc7 --version | grep gcc, \
gcc8 --version | grep gcc, \
gcc9 --version | grep gcc, \
gcc --version | grep Apple.LLVM )) gcc --version | grep Apple.LLVM ))
$(eval $(call TestHostCommand,working-gcc, \ $(eval $(call TestHostCommand,working-gcc, \
@ -45,13 +47,15 @@ $(eval $(call TestHostCommand,working-gcc, \
$(eval $(call SetupHostCommand,g++, \ $(eval $(call SetupHostCommand,g++, \
Please install the GNU C++ Compiler (g++) 4.8 or later \ 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]?)', \ $(CXX) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
g++ -dumpversion | grep -E '(4\.[8-9]|5\.?[0-9]?|6\.?[0-9]?|7\.?[0-9]?)', \ g++ -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
g++48 --version | grep g++, \ g++48 --version | grep g++, \
g++49 --version | grep g++, \ g++49 --version | grep g++, \
g++5 --version | grep g++, \ g++5 --version | grep g++, \
g++6 --version | grep g++, \ g++6 --version | grep g++, \
g++7 --version | grep g++, \ g++7 --version | grep g++, \
g++8 --version | grep g++, \
g++9 --version | grep g++, \
g++ --version | grep Apple.LLVM )) g++ --version | grep Apple.LLVM ))
$(eval $(call TestHostCommand,working-g++, \ $(eval $(call TestHostCommand,working-g++, \