Commit | Line | Data |
---|---|---|
0a541279 VB |
1 | --- ./auto/options 2017-01-24 19:32:19.000000000 +0530 |
2 | +++ ../options 2017-02-12 10:01:42.063174903 +0530 | |
3 | @@ -34,6 +34,8 @@ | |
4 | NGX_TEST_BUILD_SOLARIS_SENDFILEV=NO | |
5 | ||
6 | NGX_PLATFORM= | |
7 | +NGX_CROSS=NO | |
8 | +NGX_CROSSFILE= | |
9 | NGX_WINE= | |
10 | ||
11 | EVENT_FOUND=NO | |
12 | @@ -190,7 +192,9 @@ | |
13 | --user=*) NGX_USER="$value" ;; | |
14 | --group=*) NGX_GROUP="$value" ;; | |
15 | ||
16 | - --crossbuild=*) NGX_PLATFORM="$value" ;; | |
17 | + --crossbuild=*) NGX_PLATFORM="$value" ; | |
18 | + NGX_CROSS=YES ;; | |
19 | + --crossfile=*) NGX_CROSSFILE="$value" ;; | |
20 | ||
21 | --build=*) NGX_BUILD="$value" ;; | |
22 | --builddir=*) NGX_OBJS="$value" ;; | |
23 | @@ -416,6 +420,10 @@ | |
24 | --group=GROUP set non-privileged group for | |
25 | worker processes | |
26 | ||
27 | + --crossbuild=PLAT:VER:ARCH crossbuild for specified | |
28 | + NGX_PLATFORM | |
29 | + --crossfile=NAME file name in auto/cross | |
30 | + | |
31 | --build=NAME set build name | |
32 | --builddir=DIR set build directory | |
33 | ||
34 | --- ./auto/os/linux 2017-01-24 19:32:19.000000000 +0530 | |
35 | +++ ../linux 2017-03-17 09:46:36.557329915 +0530 | |
36 | @@ -18,7 +18,13 @@ | |
37 | ||
38 | # Linux kernel version | |
39 | ||
40 | -version=$((`uname -r \ | |
41 | +if [ "$NGX_CROSS" = "YES" ]; then | |
42 | + kern_version=`echo $NGX_PLATFORM | cut -d ':' -f 2` | |
43 | +else | |
44 | + kern_version=`uname -r` | |
45 | +fi | |
46 | + | |
47 | +version=$((`echo $kern_version \ | |
48 | | sed -n -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/ \ | |
49 | \1*256*256+\2*256+\3/p' \ | |
50 | -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1*256*256+\2*256/p'`)) | |
51 | --- ./auto/types/sizeof 2017-01-24 19:32:19.000000000 +0530 | |
52 | +++ ../sizeof 2017-03-17 10:11:46.379342795 +0530 | |
53 | @@ -40,7 +40,13 @@ | |
54 | ||
55 | ||
56 | if [ -x $NGX_AUTOTEST ]; then | |
57 | - ngx_size=`$NGX_AUTOTEST` | |
58 | + if [ "$NGX_CROSS" = "YES" ]; then | |
59 | + crossvar=`echo "sizeof_${ngx_type}_CROSS" | sed -e 's| |_|g' -e 's|\*|ptr|g'` | |
60 | + . $NGX_CROSSFILE | |
61 | + eval ngx_size=\"\${$crossvar}\" | |
62 | + else | |
63 | + ngx_size=`$NGX_AUTOTEST` | |
64 | + fi | |
65 | echo " $ngx_size bytes" | |
66 | fi | |
67 | ||
68 | --- ./auto/feature 2017-01-24 19:32:19.000000000 +0530 | |
69 | +++ ../feature 2017-02-12 10:18:38.010242484 +0530 | |
70 | @@ -53,7 +53,7 @@ | |
71 | ||
72 | yes) | |
73 | # /bin/sh is used to intercept "Killed" or "Abort trap" messages | |
74 | - if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then | |
75 | + if [ "$NGX_CROSS" = "YES" ] || bash -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1 ; then | |
76 | echo " found" | |
77 | ngx_found=yes | |
78 | ||
79 | @@ -68,7 +68,24 @@ | |
80 | ||
81 | value) | |
82 | # /bin/sh is used to intercept "Killed" or "Abort trap" messages | |
83 | - if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then | |
84 | + if [ "$NGX_CROSS" = "YES" ]; then | |
85 | + eval crossval=\"\${`echo "feature_${ngx_feature_name}_CROSS" | sed 's| |_|g'`}\" | |
86 | + . $NGX_CROSSFILE | |
87 | + if [ -n "$crossval" ]; then | |
88 | + echo " found" | |
89 | + ngx_found=yes | |
90 | + | |
91 | + cat << END >> $NGX_AUTO_CONFIG_H | |
92 | + | |
93 | +#ifndef $ngx_feature_name | |
94 | +#define $ngx_feature_name `echo $crossval` | |
95 | +#endif | |
96 | + | |
97 | +END | |
98 | + else | |
99 | + echo " found but is not working" | |
100 | + fi | |
101 | + elif /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then | |
102 | echo " found" | |
103 | ngx_found=yes | |
104 | ||
105 | --- ./auto/endianness 2017-01-31 20:31:10.000000000 +0530 | |
106 | +++ ../endianness 2017-03-19 12:00:55.871579412 +0530 | |
107 | @@ -31,7 +31,18 @@ | |
108 | ||
109 | eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" | |
110 | ||
111 | -if [ -x $NGX_AUTOTEST ]; then | |
112 | +if [ "$NGX_CROSS" = "YES" ]; then | |
113 | + . $NGX_CROSSFILE | |
114 | + if [ "$endianness_CROSS" = "little" ]; then | |
115 | + echo " little endian" | |
116 | + have=NGX_HAVE_LITTLE_ENDIAN . auto/have | |
117 | + else | |
118 | + echo " big endian" | |
119 | + fi | |
120 | + | |
121 | + rm -rf $NGX_AUTOTEST* | |
122 | + | |
123 | +elif [ -x $NGX_AUTOTEST ]; then | |
124 | if $NGX_AUTOTEST >/dev/null 2>&1; then | |
125 | echo " little endian" | |
126 | have=NGX_HAVE_LITTLE_ENDIAN . auto/have |