buildroot: improve git submodule handling for packages
[openwrt/openwrt.git] / include / prereq-build.mk
index 1c8de0638ee322f0989203bbc592c97825d77adf..23a5b932edf54857fc0458c0006070df97ccf3b6 100644 (file)
@@ -1,4 +1,4 @@
-# 
+#
 # Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
@@ -31,7 +31,8 @@ $(eval $(call SetupHostCommand,gcc, \
        gcc49 --version | grep gcc, \
        gcc48 --version | grep gcc, \
        gcc47 --version | grep gcc, \
-       gcc46 --version | grep gcc))
+       gcc46 --version | grep gcc, \
+       gcc --version | grep Apple.LLVM ))
 
 $(eval $(call TestHostCommand,working-gcc, \
        Please reinstall the GNU C Compiler - it appears to be broken, \
@@ -45,7 +46,8 @@ $(eval $(call SetupHostCommand,g++, \
        g++49 --version | grep g++, \
        g++48 --version | grep g++, \
        g++47 --version | grep g++, \
-       g++46 --version | grep g++))
+       g++46 --version | grep g++, \
+       g++ --version | grep Apple.LLVM ))
 
 $(eval $(call TestHostCommand,working-g++, \
        Please reinstall the GNU C++ Compiler - it appears to be broken, \
@@ -58,15 +60,25 @@ $(eval $(call TestHostCommand,ncurses, \
        echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \
                gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out - -lncurses))
 
+ifeq ($(HOST_OS),Linux)
+  zlib_link_flags := -Wl,-Bstatic -lz -Wl,-Bdynamic
+else
+  zlib_link_flags := -lz
+endif
+
 $(eval $(call TestHostCommand,zlib, \
-       Please install zlib. (Missing libz.so or zlib.h), \
+       Please install a static zlib. (Missing libz.a or zlib.h), \
        echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | \
-               gcc -include zlib.h -x c -o $(TMP_DIR)/a.out - -lz))
+               gcc -include zlib.h -x c -o $(TMP_DIR)/a.out - $(zlib_link_flags)))
 
 $(eval $(call TestHostCommand,libssl, \
        Please install the openssl library (with development headers), \
        echo 'int main(int argc, char **argv) { SSL_library_init(); return 0; }' | \
-               gcc -include openssl/ssl.h -x c -o $(TMP_DIR)/a.out - -lcrypto -lssl))
+               gcc $(HOST_CFLAGS) -include openssl/ssl.h -x c -o $(TMP_DIR)/a.out - -lcrypto -lssl $(HOST_LDFLAGS)))
+
+$(eval $(call TestHostCommand,perl-thread-queue, \
+       Please install the Perl Thread::Queue module, \
+       perl -MThread::Queue -e 1))
 
 
 $(eval $(call SetupHostCommand,tar,Please install GNU 'tar', \
@@ -132,7 +144,7 @@ $(eval $(call SetupHostCommand,wget,Please install GNU 'wget', \
        wget --version | grep GNU))
 
 $(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \
-       perl --version | grep "perl 5"))
+       perl --version | grep "perl.*v5"))
 
 $(eval $(call SetupHostCommand,python,Please install Python 2.x, \
        python2.7 -V 2>&1 | grep Python, \
@@ -142,14 +154,14 @@ $(eval $(call SetupHostCommand,python,Please install Python 2.x, \
 $(eval $(call SetupHostCommand,svn,Please install the Subversion client, \
        svn --version | grep Subversion))
 
-$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.6.5, \
-       git clone --help | grep -- --recursive))
+$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \
+       git submodule update --help 2>&1 | grep -- --recursive))
 
 $(eval $(call SetupHostCommand,file,Please install the 'file' package, \
-       file --version | grep file))
+       file --version 2>&1 | grep file))
 
 $(eval $(call SetupHostCommand,openssl,Please install the 'openssl' utility, \
-       openssl version | grep OpenSSL))
+       openssl version | grep '\(OpenSSL\|LibreSSL\)'))
 
 
 # Install ldconfig stub