chiark / gitweb /
preload-hacks: Some patches to make it work.
[termux-packages] / packages / nginx / cross-compile-nginx.patch
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