2 # Copyright (C) 2006-2012 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
9 include $(INCLUDE_DIR
)/prereq.mk
10 include $(INCLUDE_DIR
)/host.mk
11 include $(INCLUDE_DIR
)/host-build.mk
14 PKG_NAME
:=Build dependency
17 # Required for the toolchain
18 $(eval
$(call TestHostCommand
,working-make
, \
19 Please
install GNU make v3.81 or later.
(This version has bugs
), \
20 $(MAKE
) -v | grep
-E
'Make (3\.8[1-9]|3\.9[0-9]|[4-9]\.)'))
22 $(eval
$(call TestHostCommand
,case-sensitive-fs
, \
23 LEDE can only be built on a case-sensitive filesystem
, \
24 rm -f
$(TMP_DIR
)/test.
*; touch
$(TMP_DIR
)/test.fs
; \
25 test ! -f
$(TMP_DIR
)/test.FS
))
27 $(eval
$(call TestHostCommand
,proper-umask
, \
28 Please build with umask
022 - other values produce broken packages
, \
29 umask | grep
-xE
00[012][012]))
31 $(eval
$(call SetupHostCommand
,gcc
, \
32 Please
install the GNU C Compiler
(gcc
), \
33 $(CC
) --version | grep gcc
, \
34 gcc
--version | grep gcc
, \
35 gcc49
--version | grep gcc
, \
36 gcc48
--version | grep gcc
, \
37 gcc47
--version | grep gcc
, \
38 gcc46
--version | grep gcc
, \
39 gcc
--version | grep Apple.LLVM
))
41 $(eval
$(call TestHostCommand
,working-gcc
, \
42 Please reinstall the GNU C Compiler
- it appears to be broken
, \
43 echo
'int main(int argc, char **argv) { return 0; }' | \
44 gcc
-x c
-o
$(TMP_DIR
)/a.out
-))
46 $(eval
$(call SetupHostCommand
,g
++, \
47 Please
install the GNU C
++ Compiler
(g
++), \
48 $(CXX
) --version | grep g
++, \
49 g
++ --version | grep g
++, \
50 g
++49 --version | grep g
++, \
51 g
++48 --version | grep g
++, \
52 g
++47 --version | grep g
++, \
53 g
++46 --version | grep g
++, \
54 g
++ --version | grep Apple.LLVM
))
56 $(eval
$(call TestHostCommand
,working-g
++, \
57 Please reinstall the GNU C
++ Compiler
- it appears to be broken
, \
58 echo
'int main(int argc, char **argv) { return 0; }' | \
59 g
++ -x c
++ -o
$(TMP_DIR
)/a.out
- -lstdc
++ && \
62 $(eval
$(call TestHostCommand
,ncurses
, \
63 Please
install ncurses.
(Missing libncurses.so or ncurses.h
), \
64 echo
'int main(int argc, char **argv) { initscr(); return 0; }' | \
65 gcc
-include ncurses.h
-x c
-o
$(TMP_DIR
)/a.out
- -lncurses
))
67 ifeq ($(HOST_OS
),Linux
)
68 zlib_link_flags
:= -Wl
,-Bstatic
-lz
-Wl
,-Bdynamic
70 zlib_link_flags
:= -lz
73 $(eval
$(call TestHostCommand
,zlib
, \
74 Please
install a static zlib.
(Missing libz.a or zlib.h
), \
75 echo
'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | \
76 gcc
-include zlib.h
-x c
-o
$(TMP_DIR
)/a.out
- $(zlib_link_flags
)))
78 $(eval
$(call TestHostCommand
,perl-thread-queue
, \
79 Please
install the Perl Thread
::Queue module
, \
80 perl
-MThread
::Queue
-e
1))
83 $(eval
$(call SetupHostCommand
,tar,Please
install GNU
'tar', \
84 gtar
--version
2>&1 | grep GNU
, \
85 gnutar
--version
2>&1 | grep GNU
, \
86 tar --version
2>&1 | grep GNU
))
88 $(eval
$(call SetupHostCommand
,find
,Please
install GNU
'find', \
89 gfind
--version
2>&1 | grep GNU
, \
90 find
--version
2>&1 | grep GNU
))
92 $(eval
$(call SetupHostCommand
,bash
,Please
install GNU
'bash', \
93 bash
--version
2>&1 | grep GNU
))
95 $(eval
$(call SetupHostCommand
,patch
,Please
install GNU
'patch', \
96 gpatch
--version
2>&1 | grep
'Free Software Foundation', \
97 patch
--version
2>&1 | grep
'Free Software Foundation'))
99 $(eval
$(call SetupHostCommand
,diff
,Please
install diffutils
, \
100 gdiff
--version
2>&1 | grep diff
, \
101 diff
--version
2>&1 | grep diff
))
103 $(eval
$(call SetupHostCommand
,cp
,Please
install GNU fileutils
, \
104 gcp
--help
2>&1 | grep
'Copy SOURCE', \
105 cp
--help
2>&1 | grep
'Copy SOURCE'))
107 $(eval
$(call SetupHostCommand
,seq
,, \
111 $(eval
$(call SetupHostCommand
,awk
,Please
install GNU
'awk', \
112 gawk
--version
2>&1 | grep GNU
, \
113 awk
--version
2>&1 | grep GNU
))
115 $(eval
$(call SetupHostCommand
,grep
,Please
install GNU
'grep', \
116 ggrep
--version
2>&1 | grep GNU
, \
117 grep
--version
2>&1 | grep GNU
))
119 $(eval
$(call SetupHostCommand
,getopt
, \
120 Please
install an extended getopt version that supports
--long
, \
121 gnugetopt
-o t
--long
test -- --test | grep
'^ *--test *--', \
122 /usr
/local
/bin
/getopt
-o t
--long
test -- --test | grep
'^ *--test *--', \
123 getopt
-o t
--long
test -- --test | grep
'^ *--test *--'))
125 $(eval
$(call SetupHostCommand
,stat
,Cannot find a file stat utility
, \
126 gnustat
-c
%s
$(TMP_DIR
)/.host.mk
, \
127 gstat
-c
%s
$(TMP_DIR
)/.host.mk
, \
128 stat
-c
%s
$(TMP_DIR
)/.host.mk
))
130 $(eval
$(call SetupHostCommand
,unzip
,Please
install 'unzip', \
131 unzip
2>&1 | grep zipfile
, \
134 $(eval
$(call SetupHostCommand
,bzip2
,Please
install 'bzip2', \
135 bzip2
--version
</dev
/null
))
137 $(eval
$(call SetupHostCommand
,wget
,Please
install GNU
'wget', \
138 wget
--version | grep GNU
))
140 $(eval
$(call SetupHostCommand
,perl
,Please
install Perl
5.x
, \
141 perl
--version | grep
"perl.*v5"))
143 $(eval
$(call SetupHostCommand
,python
,Please
install Python
2.x
, \
144 python2.7
-V
2>&1 | grep Python
, \
145 python2
-V
2>&1 | grep Python
, \
146 python
-V
2>&1 | grep Python
))
148 $(eval
$(call SetupHostCommand
,git
,Please
install Git
(git-core
) >= 1.7.12.2, \
149 git
--exec-path | xargs
-I
% -- grep
-q
-- --recursive
%/git-submodule
))
151 $(eval
$(call SetupHostCommand
,file
,Please
install the
'file' package
, \
152 file
--version
2>&1 | grep file
))
154 $(STAGING_DIR_HOST
)/bin
/mkhash
: $(SCRIPT_DIR
)/mkhash.c
156 $(CC
) -O2
-I
$(TOPDIR
)/tools
/include -o
$@
$<
158 prereq
: $(STAGING_DIR_HOST
)/bin
/mkhash
160 # Install ldconfig stub
161 $(eval
$(call TestHostCommand
,ldconfig-stub
,Failed to
install stub
, \
162 touch
$(STAGING_DIR_HOST
)/bin
/ldconfig
&& \
163 chmod
+x
$(STAGING_DIR_HOST
)/bin
/ldconfig
))