+# 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.81 or later. (This version has bugs), \
- $(MAKE) -v | grep -E 'Make (3\.8[1-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, \
Please build with umask 022 - other values produce broken packages, \
umask | grep -xE 0?0[012][012]))
+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]\.?)', \
- 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, \
+ $(CC) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \
+ gcc -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \
gcc --version | grep -E 'Apple.(LLVM|clang)' ))
$(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-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++, \
+ $(CXX) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \
+ g++ -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \
g++ --version | grep -E 'Apple.(LLVM|clang)' ))
$(eval $(call TestHostCommand,working-g++, \
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 # IB
ifeq ($(HOST_OS),Linux)
zlib_link_flags := -Wl,-Bstatic -lz -Wl,-Bdynamic
zlib_link_flags := -lz
endif
+$(eval $(call TestHostCommand,perl-data-dumper, \
+ Please install the Perl Data::Dumper module, \
+ perl -MData::Dumper -e 1))
+
$(eval $(call TestHostCommand,perl-thread-queue, \
Please install the Perl Thread::Queue module, \
perl -MThread::Queue -e 1))
ggrep --version 2>&1 | grep GNU, \
grep --version 2>&1 | grep GNU))
+$(eval $(call SetupHostCommand,egrep,Please install GNU 'grep', \
+ gegrep --version 2>&1 | grep GNU, \
+ egrep --version 2>&1 | grep GNU))
+
$(eval $(call SetupHostCommand,getopt, \
Please install an extended getopt version that supports --long, \
gnugetopt -o t --long test -- --test | grep '^ *--test *--', \
- getopt -o t --long test -- --test | grep '^ *--test *--'))
+ getopt -o t --long test -- --test | grep '^ *--test *--', \
+ /usr/local/opt/gnu-getopt/bin/getopt -o t --long test -- --test | grep '^ *--test *--'))
$(eval $(call SetupHostCommand,stat,Cannot find a file stat utility, \
gnustat -c%s $(TOPDIR)/Makefile, \
$(eval $(call CleanupPython2))
$(eval $(call SetupHostCommand,python,Please install Python >= 3.5, \
+ 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 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?'))
$(eval $(call SetupHostCommand,python3,Please install Python >= 3.5, \
+ 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', \
$(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))
+
$(STAGING_DIR_HOST)/bin/mkhash: $(SCRIPT_DIR)/mkhash.c
mkdir -p $(dir $@)
$(CC) -O2 -I$(TOPDIR)/tools/include -o $@ $<