+# SPDX-License-Identifier: GPL-2.0-only
#
-# Copyright (C) 2006-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
+# Copyright (C) 2006-2020 OpenWrt.org
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/prereq.mk
# Required for the toolchain
$(eval $(call TestHostCommand,working-make, \
- Please install GNU make v3.82 or later. (This version has bugs), \
- $(MAKE) -v | grep -E 'Make (3\.8[2-9]|3\.9[0-9]|[4-9]\.)'))
+ Please install GNU make v4.1 or later., \
+ $(MAKE) -v | grep -E 'Make (4\.[1-9]|[5-9]\.)'))
$(eval $(call TestHostCommand,case-sensitive-fs, \
OpenWrt can only be built on a case-sensitive filesystem, \
ifndef IB
$(eval $(call SetupHostCommand,gcc, \
- Please install the GNU C Compiler (gcc) 4.8 or later, \
- $(CC) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \
- gcc -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \
+ 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]\.?)', \
gcc --version | grep -E 'Apple.(LLVM|clang)' ))
$(eval $(call TestHostCommand,working-gcc, \
- \nPlease reinstall the GNU C Compiler (4.8 or later) - \
+ \nPlease reinstall the GNU C Compiler (6 or later) - \
it appears to be broken, \
echo 'int main(int argc, char **argv) { return 0; }' | \
gcc -x c -o $(TMP_DIR)/a.out -))
-endif
-ifndef IB
$(eval $(call SetupHostCommand,g++, \
- Please install the GNU C++ Compiler (g++) 4.8 or later, \
- $(CXX) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \
- g++ -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \
+ 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]\.?)', \
g++ --version | grep -E 'Apple.(LLVM|clang)' ))
$(eval $(call TestHostCommand,working-g++, \
echo 'int main(int argc, char **argv) { return 0; }' | \
g++ -x c++ -o $(TMP_DIR)/a.out - -lstdc++ && \
$(TMP_DIR)/a.out))
-endif
-ifndef IB
$(eval $(call TestHostCommand,ncurses, \
Please install ncurses. (Missing libncurses.so or ncurses.h), \
echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \
gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out - -lncurses))
-endif
+endif # IB
ifeq ($(HOST_OS),Linux)
zlib_link_flags := -Wl,-Bstatic -lz -Wl,-Bdynamic
$(eval $(call CleanupPython2))
-$(eval $(call SetupHostCommand,python,Please install Python >= 3.5, \
+$(eval $(call SetupHostCommand,python,Please install Python >= 3.6, \
+ python3.9 -V 2>&1 | grep 'Python 3', \
python3.8 -V 2>&1 | grep 'Python 3', \
python3.7 -V 2>&1 | grep 'Python 3', \
python3.6 -V 2>&1 | grep 'Python 3', \
- python3.5 -V 2>&1 | grep 'Python 3', \
- python3 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?'))
+ python3 -V 2>&1 | grep -E 'Python 3\.[6-9]\.?'))
-$(eval $(call SetupHostCommand,python3,Please install Python >= 3.5, \
+$(eval $(call SetupHostCommand,python3,Please install Python >= 3.6, \
+ python3.9 -V 2>&1 | grep 'Python 3', \
python3.8 -V 2>&1 | grep 'Python 3', \
python3.7 -V 2>&1 | grep 'Python 3', \
python3.6 -V 2>&1 | grep 'Python 3', \
- python3.5 -V 2>&1 | grep 'Python 3', \
- python3 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?'))
+ python3 -V 2>&1 | grep -E 'Python 3\.[6-9]\.?'))
$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \
git --exec-path | xargs -I % -- grep -q -- --recursive %/git-submodule))
$(eval $(call SetupHostCommand,file,Please install the 'file' package, \
file --version 2>&1 | grep file))
+$(eval $(call SetupHostCommand,rsync,Please install 'rsync', \
+ rsync --version </dev/null))
+
+$(eval $(call SetupHostCommand,which,Please install 'which', \
+ which which | grep which))
+
$(STAGING_DIR_HOST)/bin/mkhash: $(SCRIPT_DIR)/mkhash.c
mkdir -p $(dir $@)
$(CC) -O2 -I$(TOPDIR)/tools/include -o $@ $<