nginxtra 1.8.1.12 → 1.10.1.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (238) hide show
  1. checksums.yaml +4 -4
  2. data/bin/nginxtra +1 -1
  3. data/bin/nginxtra_rails +1 -1
  4. data/lib/nginxtra/version.rb +1 -1
  5. data/vendor/nginx/CHANGES +363 -25
  6. data/vendor/nginx/CHANGES.ru +365 -21
  7. data/vendor/nginx/LICENSE +2 -2
  8. data/vendor/nginx/auto/cc/conf +32 -0
  9. data/vendor/nginx/auto/cc/gcc +1 -1
  10. data/vendor/nginx/auto/cc/icc +2 -2
  11. data/vendor/nginx/auto/cc/msvc +29 -8
  12. data/vendor/nginx/auto/cc/name +2 -25
  13. data/vendor/nginx/auto/cc/sunc +3 -0
  14. data/vendor/nginx/auto/endianness +7 -2
  15. data/vendor/nginx/auto/install +60 -26
  16. data/vendor/nginx/auto/lib/conf +4 -4
  17. data/vendor/nginx/auto/lib/geoip/conf +6 -1
  18. data/vendor/nginx/auto/lib/libgd/conf +6 -1
  19. data/vendor/nginx/auto/lib/libxslt/conf +11 -2
  20. data/vendor/nginx/auto/lib/make +1 -1
  21. data/vendor/nginx/auto/lib/md5/conf +2 -2
  22. data/vendor/nginx/auto/lib/md5/make +2 -2
  23. data/vendor/nginx/auto/lib/openssl/conf +52 -3
  24. data/vendor/nginx/auto/lib/openssl/make +1 -1
  25. data/vendor/nginx/auto/lib/pcre/conf +2 -2
  26. data/vendor/nginx/auto/lib/pcre/make +2 -2
  27. data/vendor/nginx/auto/lib/perl/conf +6 -3
  28. data/vendor/nginx/auto/lib/perl/make +4 -1
  29. data/vendor/nginx/auto/lib/sha1/conf +2 -2
  30. data/vendor/nginx/auto/lib/sha1/make +2 -2
  31. data/vendor/nginx/auto/lib/zlib/conf +2 -2
  32. data/vendor/nginx/auto/lib/zlib/make +2 -2
  33. data/vendor/nginx/auto/make +281 -16
  34. data/vendor/nginx/auto/module +122 -0
  35. data/vendor/nginx/auto/modules +909 -178
  36. data/vendor/nginx/auto/options +81 -19
  37. data/vendor/nginx/auto/os/conf +9 -0
  38. data/vendor/nginx/auto/os/darwin +3 -0
  39. data/vendor/nginx/auto/os/freebsd +0 -20
  40. data/vendor/nginx/auto/os/linux +0 -12
  41. data/vendor/nginx/auto/os/win32 +5 -1
  42. data/vendor/nginx/auto/sources +11 -311
  43. data/vendor/nginx/auto/summary +1 -0
  44. data/vendor/nginx/auto/types/sizeof +5 -3
  45. data/vendor/nginx/auto/types/typedef +9 -4
  46. data/vendor/nginx/auto/types/uintptr_t +7 -2
  47. data/vendor/nginx/auto/unix +72 -12
  48. data/vendor/nginx/conf/fastcgi.conf +1 -0
  49. data/vendor/nginx/conf/fastcgi_params +1 -0
  50. data/vendor/nginx/conf/scgi_params +1 -0
  51. data/vendor/nginx/conf/uwsgi_params +1 -0
  52. data/vendor/nginx/configure +1 -1
  53. data/vendor/nginx/contrib/vim/syntax/nginx.vim +2 -2
  54. data/vendor/nginx/man/nginx.8 +6 -2
  55. data/vendor/nginx/src/core/nginx.c +281 -114
  56. data/vendor/nginx/src/core/nginx.h +2 -2
  57. data/vendor/nginx/src/core/ngx_conf_file.c +54 -13
  58. data/vendor/nginx/src/core/ngx_conf_file.h +8 -52
  59. data/vendor/nginx/src/core/ngx_config.h +0 -5
  60. data/vendor/nginx/src/core/ngx_connection.c +270 -37
  61. data/vendor/nginx/src/core/ngx_connection.h +35 -12
  62. data/vendor/nginx/src/core/ngx_core.h +4 -0
  63. data/vendor/nginx/src/core/ngx_crypt.c +2 -2
  64. data/vendor/nginx/src/core/ngx_cycle.c +72 -25
  65. data/vendor/nginx/src/core/ngx_cycle.h +28 -39
  66. data/vendor/nginx/src/core/ngx_file.c +14 -5
  67. data/vendor/nginx/src/core/ngx_file.h +2 -0
  68. data/vendor/nginx/src/core/ngx_hash.c +13 -1
  69. data/vendor/nginx/src/core/ngx_inet.c +20 -18
  70. data/vendor/nginx/src/core/ngx_log.c +12 -12
  71. data/vendor/nginx/src/core/ngx_log.h +13 -6
  72. data/vendor/nginx/src/core/ngx_module.c +360 -0
  73. data/vendor/nginx/src/core/ngx_module.h +307 -0
  74. data/vendor/nginx/src/core/ngx_open_file_cache.c +2 -2
  75. data/vendor/nginx/src/core/ngx_output_chain.c +8 -4
  76. data/vendor/nginx/src/core/ngx_palloc.c +42 -44
  77. data/vendor/nginx/src/{http/ngx_http_parse_time.c → core/ngx_parse_time.c} +2 -3
  78. data/vendor/nginx/src/core/ngx_parse_time.h +22 -0
  79. data/vendor/nginx/src/core/ngx_proxy_protocol.c +50 -1
  80. data/vendor/nginx/src/core/ngx_proxy_protocol.h +3 -1
  81. data/vendor/nginx/src/core/ngx_regex.c +1 -38
  82. data/vendor/nginx/src/core/ngx_resolver.c +1814 -320
  83. data/vendor/nginx/src/core/ngx_resolver.h +67 -10
  84. data/vendor/nginx/src/core/ngx_rwlock.c +120 -0
  85. data/vendor/nginx/src/core/ngx_rwlock.h +21 -0
  86. data/vendor/nginx/src/core/ngx_slab.c +6 -5
  87. data/vendor/nginx/src/core/ngx_string.c +1 -1
  88. data/vendor/nginx/src/core/ngx_syslog.c +11 -3
  89. data/vendor/nginx/src/core/ngx_syslog.h +2 -1
  90. data/vendor/nginx/src/core/ngx_thread_pool.c +4 -0
  91. data/vendor/nginx/src/core/ngx_times.c +2 -2
  92. data/vendor/nginx/src/event/modules/ngx_devpoll_module.c +3 -1
  93. data/vendor/nginx/src/event/modules/ngx_epoll_module.c +5 -2
  94. data/vendor/nginx/src/event/modules/ngx_eventport_module.c +5 -5
  95. data/vendor/nginx/src/event/modules/ngx_kqueue_module.c +15 -8
  96. data/vendor/nginx/src/event/modules/ngx_poll_module.c +0 -10
  97. data/vendor/nginx/src/event/modules/ngx_select_module.c +0 -10
  98. data/vendor/nginx/src/event/ngx_event.c +60 -103
  99. data/vendor/nginx/src/event/ngx_event.h +22 -26
  100. data/vendor/nginx/src/event/ngx_event_accept.c +414 -88
  101. data/vendor/nginx/src/event/ngx_event_connect.c +27 -18
  102. data/vendor/nginx/src/event/ngx_event_connect.h +1 -0
  103. data/vendor/nginx/src/event/ngx_event_openssl.c +65 -25
  104. data/vendor/nginx/src/event/ngx_event_openssl.h +17 -0
  105. data/vendor/nginx/src/event/ngx_event_openssl_stapling.c +73 -7
  106. data/vendor/nginx/src/event/ngx_event_pipe.c +85 -27
  107. data/vendor/nginx/src/event/ngx_event_pipe.h +10 -0
  108. data/vendor/nginx/src/http/modules/ngx_http_auth_basic_module.c +1 -1
  109. data/vendor/nginx/src/http/modules/ngx_http_auth_request_module.c +2 -2
  110. data/vendor/nginx/src/http/modules/ngx_http_chunked_filter_module.c +2 -2
  111. data/vendor/nginx/src/http/modules/ngx_http_dav_module.c +6 -6
  112. data/vendor/nginx/src/http/modules/ngx_http_fastcgi_module.c +17 -11
  113. data/vendor/nginx/src/http/modules/ngx_http_gzip_filter_module.c +2 -2
  114. data/vendor/nginx/src/http/modules/ngx_http_headers_filter_module.c +9 -9
  115. data/vendor/nginx/src/http/modules/ngx_http_image_filter_module.c +2 -2
  116. data/vendor/nginx/src/http/modules/ngx_http_limit_conn_module.c +2 -2
  117. data/vendor/nginx/src/http/modules/ngx_http_limit_req_module.c +0 -7
  118. data/vendor/nginx/src/http/modules/ngx_http_map_module.c +6 -6
  119. data/vendor/nginx/src/http/modules/ngx_http_memcached_module.c +2 -1
  120. data/vendor/nginx/src/http/modules/ngx_http_mp4_module.c +13 -13
  121. data/vendor/nginx/src/http/modules/ngx_http_not_modified_filter_module.c +2 -2
  122. data/vendor/nginx/src/http/modules/ngx_http_proxy_module.c +26 -21
  123. data/vendor/nginx/src/http/modules/ngx_http_random_index_module.c +1 -1
  124. data/vendor/nginx/src/http/modules/ngx_http_range_filter_module.c +26 -8
  125. data/vendor/nginx/src/http/modules/ngx_http_realip_module.c +73 -3
  126. data/vendor/nginx/src/http/modules/ngx_http_referer_module.c +1 -1
  127. data/vendor/nginx/src/http/modules/ngx_http_rewrite_module.c +6 -6
  128. data/vendor/nginx/src/http/modules/ngx_http_scgi_module.c +5 -3
  129. data/vendor/nginx/src/http/modules/ngx_http_slice_filter_module.c +526 -0
  130. data/vendor/nginx/src/http/modules/ngx_http_ssi_filter_module.c +7 -7
  131. data/vendor/nginx/src/http/modules/ngx_http_ssl_module.c +19 -16
  132. data/vendor/nginx/src/http/modules/ngx_http_static_module.c +1 -1
  133. data/vendor/nginx/src/http/modules/ngx_http_stub_status_module.c +1 -1
  134. data/vendor/nginx/src/http/modules/ngx_http_sub_filter_module.c +373 -173
  135. data/vendor/nginx/src/http/modules/ngx_http_upstream_hash_module.c +72 -46
  136. data/vendor/nginx/src/http/modules/ngx_http_upstream_ip_hash_module.c +18 -30
  137. data/vendor/nginx/src/http/modules/ngx_http_upstream_keepalive_module.c +50 -39
  138. data/vendor/nginx/src/http/modules/ngx_http_upstream_least_conn_module.c +38 -129
  139. data/vendor/nginx/src/http/modules/ngx_http_upstream_zone_module.c +246 -0
  140. data/vendor/nginx/src/http/modules/ngx_http_uwsgi_module.c +6 -5
  141. data/vendor/nginx/src/http/modules/perl/nginx.xs +9 -9
  142. data/vendor/nginx/src/http/ngx_http.c +46 -43
  143. data/vendor/nginx/src/http/ngx_http.h +4 -9
  144. data/vendor/nginx/src/http/ngx_http_cache.h +4 -0
  145. data/vendor/nginx/src/http/ngx_http_copy_filter_module.c +13 -5
  146. data/vendor/nginx/src/http/ngx_http_core_module.c +92 -91
  147. data/vendor/nginx/src/http/ngx_http_core_module.h +12 -8
  148. data/vendor/nginx/src/http/ngx_http_file_cache.c +61 -10
  149. data/vendor/nginx/src/http/ngx_http_request.c +37 -50
  150. data/vendor/nginx/src/http/ngx_http_request.h +10 -15
  151. data/vendor/nginx/src/http/ngx_http_request_body.c +64 -88
  152. data/vendor/nginx/src/http/ngx_http_script.c +3 -3
  153. data/vendor/nginx/src/http/ngx_http_special_response.c +1 -4
  154. data/vendor/nginx/src/http/ngx_http_upstream.c +245 -109
  155. data/vendor/nginx/src/http/ngx_http_upstream.h +11 -5
  156. data/vendor/nginx/src/http/ngx_http_upstream_round_robin.c +212 -65
  157. data/vendor/nginx/src/http/ngx_http_upstream_round_robin.h +66 -5
  158. data/vendor/nginx/src/http/ngx_http_variables.c +28 -15
  159. data/vendor/nginx/src/http/ngx_http_write_filter_module.c +1 -1
  160. data/vendor/nginx/src/http/v2/ngx_http_v2.c +4349 -0
  161. data/vendor/nginx/src/http/v2/ngx_http_v2.h +337 -0
  162. data/vendor/nginx/src/http/v2/ngx_http_v2_filter_module.c +1391 -0
  163. data/vendor/nginx/src/http/v2/ngx_http_v2_huff_decode.c +2714 -0
  164. data/vendor/nginx/src/http/v2/ngx_http_v2_huff_encode.c +254 -0
  165. data/vendor/nginx/src/http/v2/ngx_http_v2_module.c +469 -0
  166. data/vendor/nginx/src/http/{ngx_http_spdy_module.h → v2/ngx_http_v2_module.h} +10 -9
  167. data/vendor/nginx/src/http/v2/ngx_http_v2_table.c +349 -0
  168. data/vendor/nginx/src/mail/ngx_mail.c +49 -82
  169. data/vendor/nginx/src/mail/ngx_mail.h +16 -23
  170. data/vendor/nginx/src/mail/ngx_mail_auth_http_module.c +1 -1
  171. data/vendor/nginx/src/mail/ngx_mail_core_module.c +60 -34
  172. data/vendor/nginx/src/mail/ngx_mail_handler.c +17 -12
  173. data/vendor/nginx/src/mail/ngx_mail_proxy_module.c +1 -14
  174. data/vendor/nginx/src/mail/ngx_mail_smtp_handler.c +1 -1
  175. data/vendor/nginx/src/mail/ngx_mail_ssl_module.c +5 -5
  176. data/vendor/nginx/src/os/unix/ngx_atomic.h +10 -10
  177. data/vendor/nginx/src/os/unix/ngx_channel.h +4 -4
  178. data/vendor/nginx/src/os/unix/ngx_darwin_config.h +2 -0
  179. data/vendor/nginx/src/os/unix/ngx_darwin_init.c +1 -0
  180. data/vendor/nginx/src/os/unix/ngx_dlopen.c +28 -0
  181. data/vendor/nginx/src/os/unix/ngx_dlopen.h +31 -0
  182. data/vendor/nginx/src/os/unix/ngx_errno.h +1 -0
  183. data/vendor/nginx/src/os/unix/ngx_file_aio_read.c +1 -1
  184. data/vendor/nginx/src/os/unix/ngx_files.c +313 -80
  185. data/vendor/nginx/src/os/unix/ngx_files.h +5 -2
  186. data/vendor/nginx/src/os/unix/ngx_freebsd_config.h +3 -1
  187. data/vendor/nginx/src/os/unix/ngx_freebsd_init.c +1 -0
  188. data/vendor/nginx/src/os/unix/ngx_freebsd_sendfile_chain.c +13 -0
  189. data/vendor/nginx/src/os/unix/ngx_linux.h +0 -2
  190. data/vendor/nginx/src/os/unix/ngx_linux_aio_read.c +1 -1
  191. data/vendor/nginx/src/os/unix/ngx_linux_config.h +2 -6
  192. data/vendor/nginx/src/os/unix/ngx_linux_init.c +1 -33
  193. data/vendor/nginx/src/os/unix/ngx_linux_sendfile_chain.c +55 -12
  194. data/vendor/nginx/src/os/unix/ngx_os.h +3 -9
  195. data/vendor/nginx/src/os/unix/ngx_posix_config.h +14 -1
  196. data/vendor/nginx/src/os/unix/ngx_posix_init.c +2 -1
  197. data/vendor/nginx/src/os/unix/ngx_process.c +1 -1
  198. data/vendor/nginx/src/os/unix/ngx_process_cycle.c +25 -51
  199. data/vendor/nginx/src/os/unix/ngx_process_cycle.h +1 -0
  200. data/vendor/nginx/src/os/unix/ngx_readv_chain.c +24 -28
  201. data/vendor/nginx/src/os/unix/ngx_recv.c +30 -79
  202. data/vendor/nginx/src/os/unix/ngx_send.c +1 -1
  203. data/vendor/nginx/src/os/unix/ngx_setaffinity.c +14 -30
  204. data/vendor/nginx/src/os/unix/ngx_setaffinity.h +15 -1
  205. data/vendor/nginx/src/os/unix/ngx_solaris_config.h +2 -0
  206. data/vendor/nginx/src/os/unix/ngx_solaris_init.c +1 -0
  207. data/vendor/nginx/src/os/unix/ngx_solaris_sendfilev_chain.c +23 -0
  208. data/vendor/nginx/src/os/unix/ngx_sunpro_amd64.il +3 -3
  209. data/vendor/nginx/src/os/unix/ngx_sunpro_x86.il +3 -3
  210. data/vendor/nginx/src/os/unix/ngx_udp_recv.c +5 -48
  211. data/vendor/nginx/src/os/unix/ngx_udp_send.c +56 -0
  212. data/vendor/nginx/src/stream/ngx_stream.c +564 -0
  213. data/vendor/nginx/src/stream/ngx_stream.h +212 -0
  214. data/vendor/nginx/src/stream/ngx_stream_access_module.c +451 -0
  215. data/vendor/nginx/src/stream/ngx_stream_core_module.c +562 -0
  216. data/vendor/nginx/src/stream/ngx_stream_handler.c +344 -0
  217. data/vendor/nginx/src/stream/ngx_stream_limit_conn_module.c +632 -0
  218. data/vendor/nginx/src/stream/ngx_stream_proxy_module.c +1674 -0
  219. data/vendor/nginx/src/stream/ngx_stream_ssl_module.c +460 -0
  220. data/vendor/nginx/src/stream/ngx_stream_ssl_module.h +49 -0
  221. data/vendor/nginx/src/stream/ngx_stream_upstream.c +464 -0
  222. data/vendor/nginx/src/stream/ngx_stream_upstream.h +107 -0
  223. data/vendor/nginx/src/stream/ngx_stream_upstream_hash_module.c +656 -0
  224. data/vendor/nginx/src/stream/ngx_stream_upstream_least_conn_module.c +307 -0
  225. data/vendor/nginx/src/stream/ngx_stream_upstream_round_robin.c +702 -0
  226. data/vendor/nginx/src/stream/ngx_stream_upstream_round_robin.h +139 -0
  227. data/vendor/nginx/src/stream/ngx_stream_upstream_zone_module.c +242 -0
  228. metadata +39 -15
  229. data/vendor/nginx/src/event/modules/ngx_aio_module.c +0 -171
  230. data/vendor/nginx/src/event/modules/ngx_rtsig_module.c +0 -735
  231. data/vendor/nginx/src/http/ngx_http_spdy.c +0 -3701
  232. data/vendor/nginx/src/http/ngx_http_spdy.h +0 -261
  233. data/vendor/nginx/src/http/ngx_http_spdy_filter_module.c +0 -1222
  234. data/vendor/nginx/src/http/ngx_http_spdy_module.c +0 -408
  235. data/vendor/nginx/src/os/unix/ngx_aio_read.c +0 -109
  236. data/vendor/nginx/src/os/unix/ngx_aio_read_chain.c +0 -78
  237. data/vendor/nginx/src/os/unix/ngx_aio_write.c +0 -109
  238. data/vendor/nginx/src/os/unix/ngx_aio_write_chain.c +0 -100
@@ -153,7 +153,7 @@ CFLAGS="$CFLAGS -Wall -Wpointer-arith"
153
153
 
154
154
 
155
155
  case "$NGX_GCC_VER" in
156
- 3.* | 4.* )
156
+ [3-5].*)
157
157
  # we have a lot of the unused function arguments
158
158
  CFLAGS="$CFLAGS -Wno-unused-parameter"
159
159
  # 4.2.1 shows the warning in wrong places
@@ -89,7 +89,7 @@ CFLAGS="$CFLAGS -wd1419"
89
89
 
90
90
  case "$NGX_ICC_VER" in
91
91
  9.*)
92
- # "cc" clobber ignored, warnings for Liunx's htonl()/htons()
92
+ # "cc" clobber ignored, warnings for Linux's htonl()/htons()
93
93
  CFLAGS="$CFLAGS -wd1469"
94
94
  # explicit conversion of a 64-bit integral type to a smaller
95
95
  # integral type
@@ -103,7 +103,7 @@ case "$NGX_ICC_VER" in
103
103
  ;;
104
104
 
105
105
  8.*)
106
- # "cc" clobber ignored, warnings for Liunx's htonl()/htons()
106
+ # "cc" clobber ignored, warnings for Linux's htonl()/htons()
107
107
  CFLAGS="$CFLAGS -wd1469"
108
108
  # floating-point equality and inequality comparisons are unreliable,
109
109
  # warning on SvTRUE()
@@ -3,9 +3,24 @@
3
3
  # Copyright (C) Nginx, Inc.
4
4
 
5
5
 
6
- # MSVC 6.0 SP2
7
- # MSVC Toolkit 2003 (7.1)
8
- # MSVC 2005 Express Edition SP1 (8.0)
6
+ # MSVC 6.0 SP2 cl 12.00
7
+ # MSVC Toolkit 2003 (7.1) cl 13.10
8
+ # MSVC 2005 Express Edition SP1 (8.0) cl 14.00
9
+ # MSVC 2008 Express Edition (9.0) cl 15.00
10
+ # MSVC 2010 (10.0) cl 16.00
11
+ # MSVC 2015 (14.0) cl 19.00
12
+
13
+
14
+ NGX_MSVC_VER=`$NGX_WINE $CC 2>&1 | grep 'Compiler Version' 2>&1 \
15
+ | sed -e 's/^.* Version \(.*\)/\1/'`
16
+
17
+ echo " + cl version: $NGX_MSVC_VER"
18
+
19
+ have=NGX_COMPILER value="\"cl $NGX_MSVC_VER\"" . auto/define
20
+
21
+
22
+ ngx_msvc_ver=`echo $NGX_MSVC_VER | sed -e 's/^\([0-9]*\).*/\1/'`
23
+
9
24
 
10
25
  # optimizations
11
26
 
@@ -90,17 +105,17 @@ CORE_LIBS="$CORE_LIBS kernel32.lib user32.lib"
90
105
  #CORE_LINK="$CORE_LINK -subsystem:windows -entry:mainCRTStartup"
91
106
 
92
107
  # debug
93
- # msvc8 under Wine issues
94
- # Program database manager mismatch; please check your installation
95
- if [ $NGX_CC_NAME != msvc8 ]; then
108
+ # msvc under Wine issues
109
+ # C1902: Program database manager mismatch; please check your installation
110
+ if [ -z "$NGX_WINE" ]; then
96
111
  CFLAGS="$CFLAGS -Zi"
97
112
  CORE_LINK="$CORE_LINK -debug"
98
113
  fi
99
114
 
100
115
 
101
116
  # MSVC 2005 supports C99 variadic macros
102
- if [ $NGX_CC_NAME = msvc8 ]; then
103
- have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have
117
+ if [ "$ngx_msvc_ver" -ge 14 ]; then
118
+ have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have
104
119
  fi
105
120
 
106
121
 
@@ -118,6 +133,12 @@ NGX_RCC="rc -fo$NGX_RES \$(CORE_INCS) $NGX_WIN32_RC"
118
133
  CORE_LINK="$NGX_RES $CORE_LINK"
119
134
 
120
135
 
136
+ # dynamic modules
137
+ #MAIN_LINK="-link -def:$NGX_OBJS/nginx.def"
138
+ #MODULE_LINK="-LD $NGX_OBJS/nginx.lib"
139
+
140
+
141
+ ngx_pic_opt=
121
142
  ngx_objout="-Fo"
122
143
  ngx_binout="-Fe"
123
144
  ngx_objext="obj"
@@ -25,31 +25,8 @@ fi
25
25
 
26
26
 
27
27
  if [ "$CC" = cl ]; then
28
- if `$NGX_WINE $CC -v 2>&1 \
29
- | grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16' \
30
- >/dev/null 2>&1`; then
31
-
32
- NGX_CC_NAME=msvc10
33
- echo " + using Microsoft Visual C++ 10 compiler"
34
-
35
- elif `$NGX_WINE $CC -v 2>&1 \
36
- | grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14' \
37
- >/dev/null 2>&1`; then
38
-
39
- NGX_CC_NAME=msvc8
40
- echo " + using Microsoft Visual C++ 8 compiler"
41
-
42
- elif `$NGX_WINE $CC -v 2>&1 \
43
- | grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13' \
44
- >/dev/null 2>&1`; then
45
-
46
- NGX_CC_NAME=msvc7
47
- echo " + using Microsoft Visual C++ 7 compiler"
48
-
49
- else
50
- NGX_CC_NAME=msvc
51
- echo " + using Microsoft Visual C++ compiler"
52
- fi
28
+ NGX_CC_NAME=msvc
29
+ echo " + using Microsoft Visual C++ compiler"
53
30
 
54
31
  elif [ "$CC" = wcl386 ]; then
55
32
  NGX_CC_NAME=owc
@@ -57,6 +57,9 @@ case "$NGX_MACHINE" in
57
57
 
58
58
  esac
59
59
 
60
+ MAIN_LINK=
61
+ MODULE_LINK="-G"
62
+
60
63
 
61
64
  # optimizations
62
65
 
@@ -4,8 +4,13 @@
4
4
 
5
5
 
6
6
  echo $ngx_n "checking for system byte ordering ...$ngx_c"
7
- echo >> $NGX_ERR
8
- echo "checking for system byte ordering" >> $NGX_ERR
7
+
8
+ cat << END >> $NGX_AUTOCONF_ERR
9
+
10
+ ----------------------------------------
11
+ checking for system byte ordering
12
+
13
+ END
9
14
 
10
15
 
11
16
  cat << END > $NGX_AUTOTEST.c
@@ -3,7 +3,7 @@
3
3
  # Copyright (C) Nginx, Inc.
4
4
 
5
5
 
6
- if [ $USE_PERL = YES ]; then
6
+ if [ $USE_PERL != NO ]; then
7
7
 
8
8
  cat << END >> $NGX_MAKEFILE
9
9
 
@@ -20,15 +20,23 @@ case ".$NGX_SBIN_PATH" in
20
20
  ./*)
21
21
  ;;
22
22
 
23
- .)
24
- NGX_SBIN_PATH=$NGX_PREFIX/sbin/nginx
23
+ *)
24
+ NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH
25
+ ;;
26
+ esac
27
+
28
+
29
+ case ".$NGX_MODULES_PATH" in
30
+ ./*)
25
31
  ;;
26
32
 
27
33
  *)
28
- NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH
34
+ NGX_MODULES_PATH=$NGX_PREFIX/$NGX_MODULES_PATH
29
35
  ;;
30
36
  esac
31
37
 
38
+ NGX_MODULES_PATH=`dirname $NGX_MODULES_PATH/.`
39
+
32
40
 
33
41
  case ".$NGX_CONF_PATH" in
34
42
  ./*)
@@ -96,58 +104,57 @@ $NGX_OBJS/nginx.8: $NGX_MAN $NGX_AUTO_CONFIG_H
96
104
  -e "s|%%ERROR_LOG_PATH%%|${NGX_ERROR_LOG_PATH:-stderr}|" \\
97
105
  < $NGX_MAN > \$@
98
106
 
99
- install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \
100
- $NGX_INSTALL_PERL_MODULES
107
+ install: build $NGX_INSTALL_PERL_MODULES
101
108
  test -d '\$(DESTDIR)$NGX_PREFIX' || mkdir -p '\$(DESTDIR)$NGX_PREFIX'
102
109
 
103
- test -d '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`' \
110
+ test -d '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`' \\
104
111
  || mkdir -p '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`'
105
- test ! -f '\$(DESTDIR)$NGX_SBIN_PATH' \
106
- || mv '\$(DESTDIR)$NGX_SBIN_PATH' \
112
+ test ! -f '\$(DESTDIR)$NGX_SBIN_PATH' \\
113
+ || mv '\$(DESTDIR)$NGX_SBIN_PATH' \\
107
114
  '\$(DESTDIR)$NGX_SBIN_PATH.old'
108
115
  cp $NGX_OBJS/nginx '\$(DESTDIR)$NGX_SBIN_PATH'
109
116
 
110
- test -d '\$(DESTDIR)$NGX_CONF_PREFIX' \
117
+ test -d '\$(DESTDIR)$NGX_CONF_PREFIX' \\
111
118
  || mkdir -p '\$(DESTDIR)$NGX_CONF_PREFIX'
112
119
 
113
120
  cp conf/koi-win '\$(DESTDIR)$NGX_CONF_PREFIX'
114
121
  cp conf/koi-utf '\$(DESTDIR)$NGX_CONF_PREFIX'
115
122
  cp conf/win-utf '\$(DESTDIR)$NGX_CONF_PREFIX'
116
123
 
117
- test -f '\$(DESTDIR)$NGX_CONF_PREFIX/mime.types' \
124
+ test -f '\$(DESTDIR)$NGX_CONF_PREFIX/mime.types' \\
118
125
  || cp conf/mime.types '\$(DESTDIR)$NGX_CONF_PREFIX'
119
126
  cp conf/mime.types '\$(DESTDIR)$NGX_CONF_PREFIX/mime.types.default'
120
127
 
121
- test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi_params' \
128
+ test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi_params' \\
122
129
  || cp conf/fastcgi_params '\$(DESTDIR)$NGX_CONF_PREFIX'
123
- cp conf/fastcgi_params \
130
+ cp conf/fastcgi_params \\
124
131
  '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi_params.default'
125
132
 
126
- test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi.conf' \
133
+ test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi.conf' \\
127
134
  || cp conf/fastcgi.conf '\$(DESTDIR)$NGX_CONF_PREFIX'
128
135
  cp conf/fastcgi.conf '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi.conf.default'
129
136
 
130
- test -f '\$(DESTDIR)$NGX_CONF_PREFIX/uwsgi_params' \
137
+ test -f '\$(DESTDIR)$NGX_CONF_PREFIX/uwsgi_params' \\
131
138
  || cp conf/uwsgi_params '\$(DESTDIR)$NGX_CONF_PREFIX'
132
- cp conf/uwsgi_params \
139
+ cp conf/uwsgi_params \\
133
140
  '\$(DESTDIR)$NGX_CONF_PREFIX/uwsgi_params.default'
134
141
 
135
- test -f '\$(DESTDIR)$NGX_CONF_PREFIX/scgi_params' \
142
+ test -f '\$(DESTDIR)$NGX_CONF_PREFIX/scgi_params' \\
136
143
  || cp conf/scgi_params '\$(DESTDIR)$NGX_CONF_PREFIX'
137
- cp conf/scgi_params \
144
+ cp conf/scgi_params \\
138
145
  '\$(DESTDIR)$NGX_CONF_PREFIX/scgi_params.default'
139
146
 
140
- test -f '\$(DESTDIR)$NGX_CONF_PATH' \
147
+ test -f '\$(DESTDIR)$NGX_CONF_PATH' \\
141
148
  || cp conf/nginx.conf '\$(DESTDIR)$NGX_CONF_PATH'
142
149
  cp conf/nginx.conf '\$(DESTDIR)$NGX_CONF_PREFIX/nginx.conf.default'
143
150
 
144
- test -d '\$(DESTDIR)`dirname "$NGX_PID_PATH"`' \
151
+ test -d '\$(DESTDIR)`dirname "$NGX_PID_PATH"`' \\
145
152
  || mkdir -p '\$(DESTDIR)`dirname "$NGX_PID_PATH"`'
146
153
 
147
- test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' || \
148
- mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'
154
+ test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' \\
155
+ || mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'
149
156
 
150
- test -d '\$(DESTDIR)$NGX_PREFIX/html' \
157
+ test -d '\$(DESTDIR)$NGX_PREFIX/html' \\
151
158
  || cp -R $NGX_HTML '\$(DESTDIR)$NGX_PREFIX'
152
159
  END
153
160
 
@@ -155,24 +162,51 @@ END
155
162
  if test -n "$NGX_ERROR_LOG_PATH"; then
156
163
  cat << END >> $NGX_MAKEFILE
157
164
 
158
- test -d '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`' || \
159
- mkdir -p '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`'
165
+ test -d '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`' \\
166
+ || mkdir -p '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`'
167
+ END
168
+
169
+ fi
170
+
171
+
172
+ if test -n "$DYNAMIC_MODULES"; then
173
+ cat << END >> $NGX_MAKEFILE
174
+
175
+ test -d '\$(DESTDIR)$NGX_MODULES_PATH' \\
176
+ || mkdir -p '\$(DESTDIR)$NGX_MODULES_PATH'
160
177
  END
161
178
 
162
179
  fi
163
180
 
164
181
 
182
+ for ngx_module in $DYNAMIC_MODULES
183
+ do
184
+ ngx_module=$ngx_module$ngx_modext
185
+
186
+ cat << END >> $NGX_MAKEFILE
187
+
188
+ test ! -f '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \\
189
+ || mv '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \\
190
+ '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module.old'
191
+ cp $NGX_OBJS/$ngx_module '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module'
192
+ END
193
+
194
+ done
195
+
196
+
165
197
  # create Makefile
166
198
 
167
199
  cat << END >> Makefile
168
200
 
169
201
  build:
170
202
  \$(MAKE) -f $NGX_MAKEFILE
171
- \$(MAKE) -f $NGX_MAKEFILE manpage
172
203
 
173
204
  install:
174
205
  \$(MAKE) -f $NGX_MAKEFILE install
175
206
 
207
+ modules:
208
+ \$(MAKE) -f $NGX_MAKEFILE modules
209
+
176
210
  upgrade:
177
211
  $NGX_SBIN_PATH -t
178
212
 
@@ -58,19 +58,19 @@ if [ $USE_ZLIB = YES ]; then
58
58
  . auto/lib/zlib/conf
59
59
  fi
60
60
 
61
- if [ $USE_LIBXSLT = YES ]; then
61
+ if [ $USE_LIBXSLT != NO ]; then
62
62
  . auto/lib/libxslt/conf
63
63
  fi
64
64
 
65
- if [ $USE_LIBGD = YES ]; then
65
+ if [ $USE_LIBGD != NO ]; then
66
66
  . auto/lib/libgd/conf
67
67
  fi
68
68
 
69
- if [ $USE_PERL = YES ]; then
69
+ if [ $USE_PERL != NO ]; then
70
70
  . auto/lib/perl/conf
71
71
  fi
72
72
 
73
- if [ $HTTP_GEOIP = YES ]; then
73
+ if [ $USE_GEOIP != NO ]; then
74
74
  . auto/lib/geoip/conf
75
75
  fi
76
76
 
@@ -67,7 +67,12 @@ fi
67
67
  if [ $ngx_found = yes ]; then
68
68
 
69
69
  CORE_INCS="$CORE_INCS $ngx_feature_path"
70
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
70
+
71
+ if [ $USE_GEOIP = YES ]; then
72
+ CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
73
+ fi
74
+
75
+ NGX_LIB_GEOIP=$ngx_feature_libs
71
76
 
72
77
  if [ $NGX_IPV6 = YES ]; then
73
78
  ngx_feature="GeoIP IPv6 support"
@@ -67,7 +67,12 @@ fi
67
67
  if [ $ngx_found = yes ]; then
68
68
 
69
69
  CORE_INCS="$CORE_INCS $ngx_feature_path"
70
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
70
+
71
+ if [ $USE_LIBGD = YES ]; then
72
+ CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
73
+ fi
74
+
75
+ NGX_LIB_LIBGD=$ngx_feature_libs
71
76
 
72
77
  else
73
78
 
@@ -76,7 +76,12 @@ fi
76
76
  if [ $ngx_found = yes ]; then
77
77
 
78
78
  CORE_INCS="$CORE_INCS $ngx_feature_path"
79
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
79
+
80
+ if [ $USE_LIBXSLT = YES ]; then
81
+ CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
82
+ fi
83
+
84
+ NGX_LIB_LIBXSLT=$ngx_feature_libs
80
85
 
81
86
  else
82
87
 
@@ -152,5 +157,9 @@ fi
152
157
 
153
158
 
154
159
  if [ $ngx_found = yes ]; then
155
- CORE_LIBS="$CORE_LIBS -lexslt"
160
+ if [ $USE_LIBXSLT = YES ]; then
161
+ CORE_LIBS="$CORE_LIBS -lexslt"
162
+ fi
163
+
164
+ NGX_LIB_LIBXSLT="$NGX_LIB_LIBXSLT -lexslt"
156
165
  fi
@@ -27,6 +27,6 @@ if [ $NGX_LIBATOMIC != NO -a $NGX_LIBATOMIC != YES ]; then
27
27
  . auto/lib/libatomic/make
28
28
  fi
29
29
 
30
- if [ $USE_PERL = YES ]; then
30
+ if [ $USE_PERL != NO ]; then
31
31
  . auto/lib/perl/make
32
32
  fi
@@ -20,12 +20,12 @@ if [ $MD5 != NONE ]; then
20
20
 
21
21
  case "$NGX_CC_NAME" in
22
22
 
23
- msvc* | owc* | bcc)
23
+ msvc | owc | bcc)
24
24
  LINK_DEPS="$LINK_DEPS $MD5/md5.lib"
25
25
  CORE_LIBS="$CORE_LIBS $MD5/md5.lib"
26
26
  ;;
27
27
 
28
- icc*)
28
+ icc)
29
29
  LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
30
30
 
31
31
  # to allow -ipo optimization we link with the *.o but not library
@@ -5,13 +5,13 @@
5
5
 
6
6
  case "$NGX_CC_NAME" in
7
7
 
8
- msvc*)
8
+ msvc)
9
9
  ngx_makefile=makefile.msvc
10
10
  ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC MD5_ASM=$MD5_ASM"
11
11
  ngx_md5="MD5=\"$MD5\""
12
12
  ;;
13
13
 
14
- owc*)
14
+ owc)
15
15
  ngx_makefile=makefile.owc
16
16
  ngx_opt="CPU_OPT=\"$CPU_OPT\""
17
17
  ngx_md5=`echo MD5=\"$MD5\" | sed -e "s/\//$ngx_regex_dirsep/g"`
@@ -51,13 +51,62 @@ else
51
51
  ngx_feature_run=no
52
52
  ngx_feature_incs="#include <openssl/ssl.h>"
53
53
  ngx_feature_path=
54
- ngx_feature_libs="-lssl -lcrypto"
55
- ngx_feature_test="SSL_library_init()"
54
+ ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL"
55
+ ngx_feature_test="SSL_CTX_set_options(NULL, 0)"
56
56
  . auto/feature
57
57
 
58
+ if [ $ngx_found = no ]; then
59
+
60
+ # FreeBSD port
61
+
62
+ ngx_feature="OpenSSL library in /usr/local/"
63
+ ngx_feature_path="/usr/local/include"
64
+
65
+ if [ $NGX_RPATH = YES ]; then
66
+ ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto $NGX_LIBDL"
67
+ else
68
+ ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto $NGX_LIBDL"
69
+ fi
70
+
71
+ . auto/feature
72
+ fi
73
+
74
+ if [ $ngx_found = no ]; then
75
+
76
+ # NetBSD port
77
+
78
+ ngx_feature="OpenSSL library in /usr/pkg/"
79
+ ngx_feature_path="/usr/pkg/include"
80
+
81
+ if [ $NGX_RPATH = YES ]; then
82
+ ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto $NGX_LIBDL"
83
+ else
84
+ ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto $NGX_LIBDL"
85
+ fi
86
+
87
+ . auto/feature
88
+ fi
89
+
90
+ if [ $ngx_found = no ]; then
91
+
92
+ # MacPorts
93
+
94
+ ngx_feature="OpenSSL library in /opt/local/"
95
+ ngx_feature_path="/opt/local/include"
96
+
97
+ if [ $NGX_RPATH = YES ]; then
98
+ ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto $NGX_LIBDL"
99
+ else
100
+ ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto $NGX_LIBDL"
101
+ fi
102
+
103
+ . auto/feature
104
+ fi
105
+
58
106
  if [ $ngx_found = yes ]; then
59
107
  have=NGX_SSL . auto/have
60
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs $NGX_LIBDL"
108
+ CORE_INCS="$CORE_INCS $ngx_feature_path"
109
+ CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
61
110
  OPENSSL=YES
62
111
  fi
63
112
  fi