Ver Fonte

prereq-build: increase GCC requirement to 8

The current minimum OS requirement for OpenWrt is Ubuntu 18.04, which
includes 7 and 8. 8 is necessary for ccache.

gcc and g+++ are now symlinked to staging_dir, similar to Python.

Signed-off-by: Rosen Penev <[email protected]>
Rosen Penev há 2 anos atrás
pai
commit
728581dc4b
2 ficheiros alterados com 14 adições e 12 exclusões
  1. 12 10
      include/prereq-build.mk
  2. 2 2
      rules.mk

+ 12 - 10
include/prereq-build.mk

@@ -32,28 +32,30 @@ $(eval $(call TestHostCommand,proper-umask, \
 
 ifndef IB
 $(eval $(call SetupHostCommand,gcc, \
-	Please install the GNU C Compiler (gcc) 6 or later, \
-	$(CC) -dumpversion | grep -E '^([6-9]\.?|1[0-9]\.?)', \
-	gcc -dumpversion | grep -E '^([6-9]\.?|1[0-9]\.?)', \
+	Please install the GNU C Compiler (gcc) 8 or later, \
+	$(CC) -dumpversion | grep -E '^([8-9]\.?|1[0-9]\.?)', \
+	gcc -dumpversion | grep -E '^([8-9]\.?|1[0-9]\.?)', \
+	gcc-8 -dumpversion | grep -E '^([8-9]\.?|1[0-9]\.?)', \
 	gcc --version | grep -E 'Apple.(LLVM|clang)' ))
 
 $(eval $(call TestHostCommand,working-gcc, \
-	Please reinstall the GNU C Compiler (6 or later) - \
+	Please reinstall the GNU C Compiler (8 or later) - \
 	it appears to be broken, \
 	echo 'int main(int argc, char **argv) { return 0; }' | \
-		gcc -x c -o $(TMP_DIR)/a.out -))
+		$(STAGING_DIR_HOST)/bin/gcc -x c -o $(TMP_DIR)/a.out -))
 
 $(eval $(call SetupHostCommand,g++, \
-	Please install the GNU C++ Compiler (g++) 6 or later, \
-	$(CXX) -dumpversion | grep -E '^([6-9]\.?|1[0-9]\.?)', \
-	g++ -dumpversion | grep -E '^([6-9]\.?|1[0-9]\.?)', \
+	Please install the GNU C++ Compiler (g++) 8 or later, \
+	$(CXX) -dumpversion | grep -E '^([8-9]\.?|1[0-9]\.?)', \
+	g++ -dumpversion | grep -E '^([8-9]\.?|1[0-9]\.?)', \
+	g++-8 -dumpversion | grep -E '^([8-9]\.?|1[0-9]\.?)', \
 	g++ --version | grep -E 'Apple.(LLVM|clang)' ))
 
 $(eval $(call TestHostCommand,working-g++, \
-	Please reinstall the GNU C++ Compiler (6 or later) - \
+	Please reinstall the GNU C++ Compiler (8 or later) - \
 	it appears to be broken, \
 	echo 'int main(int argc, char **argv) { return 0; }' | \
-		g++ -x c++ -o $(TMP_DIR)/a.out - -lstdc++ && \
+		$(STAGING_DIR_HOST)/bin/g++ -x c++ -o $(TMP_DIR)/a.out - -lstdc++ && \
 		$(TMP_DIR)/a.out))
 
 $(eval $(call RequireCHeader,ncurses.h, \

+ 2 - 2
rules.mk

@@ -240,8 +240,8 @@ PKG_CONFIG:=$(STAGING_DIR_HOST)/bin/pkg-config
 
 export PKG_CONFIG
 
-HOSTCC:=gcc
-HOSTCXX:=g++
+HOSTCC:=$(STAGING_DIR_HOST)/bin/gcc
+HOSTCXX:=$(STAGING_DIR_HOST)/bin/g++
 HOST_CPPFLAGS:=-I$(STAGING_DIR_HOST)/include $(if $(IS_PACKAGE_BUILD),-I$(STAGING_DIR_HOSTPKG)/include -I$(STAGING_DIR)/host/include)
 HOST_CXXFLAGS:=
 HOST_CFLAGS:=-O2 $(HOST_CPPFLAGS)