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
@@ -53,7 +53,7 @@ $OPENSSL/.openssl/include/openssl/ssl.h: $NGX_MAKEFILE
53
53
  && if [ -f Makefile ]; then \$(MAKE) clean; fi \\
54
54
  && ./config --prefix=$ngx_prefix no-shared $OPENSSL_OPT \\
55
55
  && \$(MAKE) \\
56
- && \$(MAKE) install LIBDIR=lib
56
+ && \$(MAKE) install_sw LIBDIR=lib
57
57
 
58
58
  END
59
59
 
@@ -8,7 +8,7 @@ if [ $PCRE != NONE ]; then
8
8
 
9
9
  case "$NGX_CC_NAME" in
10
10
 
11
- msvc* | owc* | bcc)
11
+ msvc | owc | bcc)
12
12
  have=NGX_PCRE . auto/have
13
13
  have=PCRE_STATIC . auto/have
14
14
  CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
@@ -16,7 +16,7 @@ if [ $PCRE != NONE ]; then
16
16
  CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib"
17
17
  ;;
18
18
 
19
- icc* )
19
+ icc)
20
20
  have=NGX_PCRE . auto/have
21
21
  CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
22
22
 
@@ -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"
11
11
  ngx_pcre="PCRE=\"$PCRE\""
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_pcre=`echo PCRE=\"$PCRE\" | sed -e "s/\//$ngx_regex_dirsep/g"`
@@ -57,11 +57,14 @@ if test -n "$NGX_PERL_VER"; then
57
57
  if [ "$NGX_SYSTEM" = "Darwin" ]; then
58
58
  # OS X system perl wants to link universal binaries
59
59
  ngx_perl_ldopts=`echo $ngx_perl_ldopts \
60
- | sed -e 's/-arch x86_64 -arch i386//'`
60
+ | sed -e 's/-arch i386//' -e 's/-arch x86_64//'`
61
61
  fi
62
62
 
63
- CORE_LINK="$CORE_LINK $ngx_perl_ldopts"
64
- LINK_DEPS="$LINK_DEPS $NGX_OBJS/$ngx_perl_module"
63
+ if [ $USE_PERL = YES ]; then
64
+ CORE_LINK="$CORE_LINK $ngx_perl_ldopts"
65
+ fi
66
+
67
+ NGX_LIB_PERL="$ngx_perl_ldopts"
65
68
 
66
69
  if test -n "$NGX_PERL_MODULES"; then
67
70
  have=NGX_PERL_MODULES value="(u_char *) \"$NGX_PERL_MODULES\""
@@ -8,7 +8,10 @@ v=`grep 'define NGINX_VERSION' src/core/nginx.h | sed -e 's/^.*"\(.*\)".*/\1/'`
8
8
 
9
9
  cat << END >> $NGX_MAKEFILE
10
10
 
11
- $NGX_OBJS/src/http/modules/perl/blib/arch/auto/nginx/nginx.$ngx_perl_dlext: \\
11
+ $NGX_OBJS/src/http/modules/perl/ngx_http_perl_module.o: \\
12
+ $NGX_OBJS/$ngx_perl_module
13
+
14
+ $NGX_OBJS/$ngx_perl_module: \\
12
15
  \$(CORE_DEPS) \$(HTTP_DEPS) \\
13
16
  src/http/modules/perl/ngx_http_perl_module.h \\
14
17
  $NGX_OBJS/src/http/modules/perl/Makefile
@@ -10,12 +10,12 @@ if [ $SHA1 != NONE ]; then
10
10
 
11
11
  case "$NGX_CC_NAME" in
12
12
 
13
- msvc* | owc* | bcc)
13
+ msvc | owc | bcc)
14
14
  LINK_DEPS="$LINK_DEPS $SHA1/sha1.lib"
15
15
  CORE_LIBS="$CORE_LIBS $SHA1/sha1.lib"
16
16
  ;;
17
17
 
18
- icc*)
18
+ icc)
19
19
  LINK_DEPS="$LINK_DEPS $SHA1/libsha.a"
20
20
 
21
21
  # 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 SHA1_ASM=$SHA1_ASM"
11
11
  ngx_sha1="SHA1=\"$SHA1\""
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_sha1=`echo SHA1=\"$SHA1\" | sed -e "s/\//$ngx_regex_dirsep/g"`
@@ -8,13 +8,13 @@ if [ $ZLIB != NONE ]; then
8
8
 
9
9
  case "$NGX_CC_NAME" in
10
10
 
11
- msvc* | owc* | bcc)
11
+ msvc | owc | bcc)
12
12
  have=NGX_ZLIB . auto/have
13
13
  LINK_DEPS="$LINK_DEPS $ZLIB/zlib.lib"
14
14
  CORE_LIBS="$CORE_LIBS $ZLIB/zlib.lib"
15
15
  ;;
16
16
 
17
- icc*)
17
+ icc)
18
18
  have=NGX_ZLIB . auto/have
19
19
  LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
20
20
 
@@ -5,14 +5,14 @@
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"
11
11
  ngx_zlib="ZLIB=\"$ZLIB\""
12
12
 
13
13
  ;;
14
14
 
15
- owc*)
15
+ owc)
16
16
  ngx_makefile=makefile.owc
17
17
  ngx_opt="CPU_OPT=\"$CPU_OPT\""
18
18
  ngx_zlib=`echo ZLIB=\"$ZLIB\" | sed -e "s/\//$ngx_regex_dirsep/g"`
@@ -7,9 +7,10 @@ echo "creating $NGX_MAKEFILE"
7
7
 
8
8
  mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \
9
9
  $NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \
10
- $NGX_OBJS/src/http $NGX_OBJS/src/http/modules \
10
+ $NGX_OBJS/src/http $NGX_OBJS/src/http/v2 $NGX_OBJS/src/http/modules \
11
11
  $NGX_OBJS/src/http/modules/perl \
12
12
  $NGX_OBJS/src/mail \
13
+ $NGX_OBJS/src/stream \
13
14
  $NGX_OBJS/src/misc
14
15
 
15
16
 
@@ -35,7 +36,7 @@ fi
35
36
 
36
37
  # ALL_INCS, required by the addons and by OpenWatcom C precompiled headers
37
38
 
38
- ngx_incs=`echo $CORE_INCS $NGX_OBJS $HTTP_INCS $MAIL_INCS\
39
+ ngx_incs=`echo $CORE_INCS $NGX_OBJS $HTTP_INCS $MAIL_INCS $STREAM_INCS\
39
40
  | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \
40
41
  -e "s/\//$ngx_regex_dirsep/g"`
41
42
 
@@ -49,7 +50,7 @@ END
49
50
  ngx_all_srcs="$CORE_SRCS"
50
51
 
51
52
 
52
- # the core dependences and include paths
53
+ # the core dependencies and include paths
53
54
 
54
55
  ngx_deps=`echo $CORE_DEPS $NGX_AUTO_CONFIG_H $NGX_PCH \
55
56
  | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
@@ -69,7 +70,7 @@ CORE_INCS = $ngx_include_opt$ngx_incs
69
70
  END
70
71
 
71
72
 
72
- # the http dependences and include paths
73
+ # the http dependencies and include paths
73
74
 
74
75
  if [ $HTTP = YES ]; then
75
76
 
@@ -95,11 +96,13 @@ END
95
96
  fi
96
97
 
97
98
 
98
- # the mail dependences and include paths
99
+ # the mail dependencies and include paths
99
100
 
100
- if [ $MAIL = YES ]; then
101
+ if [ $MAIL != NO ]; then
101
102
 
102
- ngx_all_srcs="$ngx_all_srcs $MAIL_SRCS"
103
+ if [ $MAIL = YES ]; then
104
+ ngx_all_srcs="$ngx_all_srcs $MAIL_SRCS"
105
+ fi
103
106
 
104
107
  ngx_deps=`echo $MAIL_DEPS \
105
108
  | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
@@ -121,7 +124,35 @@ END
121
124
  fi
122
125
 
123
126
 
124
- ngx_all_srcs="$ngx_all_srcs $NGX_MISC_SRCS"
127
+ # the stream dependencies and include paths
128
+
129
+ if [ $STREAM != NO ]; then
130
+
131
+ if [ $STREAM = YES ]; then
132
+ ngx_all_srcs="$ngx_all_srcs $STREAM_SRCS"
133
+ fi
134
+
135
+ ngx_deps=`echo $STREAM_DEPS \
136
+ | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
137
+ -e "s/\//$ngx_regex_dirsep/g"`
138
+
139
+ ngx_incs=`echo $STREAM_INCS \
140
+ | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \
141
+ -e "s/\//$ngx_regex_dirsep/g"`
142
+
143
+ cat << END >> $NGX_MAKEFILE
144
+
145
+ STREAM_DEPS = $ngx_deps
146
+
147
+
148
+ STREAM_INCS = $ngx_include_opt$ngx_incs
149
+
150
+ END
151
+
152
+ fi
153
+
154
+
155
+ ngx_all_srcs="$ngx_all_srcs $MISC_SRCS"
125
156
 
126
157
 
127
158
  if test -n "$NGX_ADDON_SRCS"; then
@@ -177,6 +208,7 @@ ngx_objs=`echo $ngx_all_objs $ngx_modules_obj \
177
208
  | sed -e "s/ *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \
178
209
  -e "s/\//$ngx_regex_dirsep/g"`
179
210
 
211
+ ngx_libs=
180
212
  if test -n "$NGX_LD_OPT$CORE_LIBS"; then
181
213
  ngx_libs=`echo $NGX_LD_OPT $CORE_LIBS \
182
214
  | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`
@@ -185,13 +217,22 @@ fi
185
217
  ngx_link=${CORE_LINK:+`echo $CORE_LINK \
186
218
  | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`}
187
219
 
220
+ ngx_main_link=${MAIN_LINK:+`echo $MAIN_LINK \
221
+ | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`}
222
+
188
223
 
189
224
  cat << END >> $NGX_MAKEFILE
190
225
 
191
- $NGX_OBJS${ngx_dirsep}nginx${ngx_binext}: $ngx_deps$ngx_spacer
192
- \$(LINK) ${ngx_long_start}${ngx_binout}$NGX_OBJS${ngx_dirsep}nginx$ngx_long_cont$ngx_objs$ngx_libs$ngx_link
226
+ build: binary modules manpage
227
+
228
+ binary: $NGX_OBJS${ngx_dirsep}nginx$ngx_binext
229
+
230
+ $NGX_OBJS${ngx_dirsep}nginx$ngx_binext: $ngx_deps$ngx_spacer
231
+ \$(LINK) $ngx_long_start$ngx_binout$NGX_OBJS${ngx_dirsep}nginx$ngx_long_cont$ngx_objs$ngx_libs$ngx_link$ngx_main_link
193
232
  $ngx_rcc
194
- ${ngx_long_end}
233
+ $ngx_long_end
234
+
235
+ modules:
195
236
  END
196
237
 
197
238
 
@@ -240,7 +281,7 @@ if [ $HTTP = YES ]; then
240
281
  ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
241
282
  else
242
283
  ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)"
243
- ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS) "
284
+ ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS)"
244
285
  ngx_perl_cc="$ngx_perl_cc \$(CORE_INCS) \$(HTTP_INCS)"
245
286
  fi
246
287
 
@@ -306,13 +347,43 @@ END
306
347
  fi
307
348
 
308
349
 
350
+ # the stream sources
351
+
352
+ if [ $STREAM = YES ]; then
353
+
354
+ if test -n "$NGX_PCH"; then
355
+ ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
356
+ else
357
+ ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(STREAM_INCS)"
358
+ fi
359
+
360
+ for ngx_src in $STREAM_SRCS
361
+ do
362
+ ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
363
+ ngx_obj=`echo $ngx_src \
364
+ | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \
365
+ -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \
366
+ -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
367
+ -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
368
+
369
+ cat << END >> $NGX_MAKEFILE
370
+
371
+ $ngx_obj: \$(CORE_DEPS) \$(STREAM_DEPS)$ngx_cont$ngx_src
372
+ $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
373
+
374
+ END
375
+ done
376
+
377
+ fi
378
+
379
+
309
380
  # the misc sources
310
381
 
311
- if test -n "$NGX_MISC_SRCS"; then
382
+ if test -n "$MISC_SRCS"; then
312
383
 
313
384
  ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
314
385
 
315
- for ngx_src in $NGX_MISC_SRCS
386
+ for ngx_src in $MISC_SRCS
316
387
  do
317
388
  ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
318
389
  ngx_obj=`echo $ngx_src \
@@ -366,9 +437,9 @@ fi
366
437
 
367
438
  # the addons config.make
368
439
 
369
- if test -n "$NGX_ADDONS"; then
440
+ if test -n "$NGX_ADDONS$DYNAMIC_ADDONS"; then
370
441
 
371
- for ngx_addon_dir in $NGX_ADDONS
442
+ for ngx_addon_dir in $NGX_ADDONS $DYNAMIC_ADDONS
372
443
  do
373
444
  if test -f $ngx_addon_dir/config.make; then
374
445
  . $ngx_addon_dir/config.make
@@ -415,3 +486,197 @@ $ngx_pch
415
486
  END
416
487
 
417
488
  fi
489
+
490
+
491
+ # dynamic modules
492
+
493
+ if test -n "$NGX_PCH"; then
494
+ ngx_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
495
+ else
496
+ ngx_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(CFLAGS) \$(ALL_INCS)"
497
+ ngx_perl_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(NGX_PERL_CFLAGS)"
498
+ ngx_perl_cc="$ngx_perl_cc \$(ALL_INCS)"
499
+ fi
500
+
501
+ ngx_obj_deps="\$(CORE_DEPS)"
502
+ if [ $HTTP != NO ]; then
503
+ ngx_obj_deps="$ngx_obj_deps \$(HTTP_DEPS)"
504
+ fi
505
+ if [ $MAIL != NO ]; then
506
+ ngx_obj_deps="$ngx_obj_deps \$(MAIL_DEPS)"
507
+ fi
508
+ if [ $STREAM != NO ]; then
509
+ ngx_obj_deps="$ngx_obj_deps \$(STREAM_DEPS)"
510
+ fi
511
+
512
+ for ngx_module in $DYNAMIC_MODULES
513
+ do
514
+ eval ngx_module_srcs="\$${ngx_module}_SRCS"
515
+ eval eval ngx_module_libs="\\\"\$${ngx_module}_LIBS\\\""
516
+
517
+ eval ngx_module_modules="\$${ngx_module}_MODULES"
518
+ eval ngx_module_order="\$${ngx_module}_ORDER"
519
+
520
+ ngx_modules_c=$NGX_OBJS/${ngx_module}_modules.c
521
+
522
+ cat << END > $ngx_modules_c
523
+
524
+ #include <ngx_config.h>
525
+ #include <ngx_core.h>
526
+
527
+ END
528
+
529
+ for mod in $ngx_module_modules
530
+ do
531
+ echo "extern ngx_module_t $mod;" >> $ngx_modules_c
532
+ done
533
+
534
+ echo >> $ngx_modules_c
535
+ echo 'ngx_module_t *ngx_modules[] = {' >> $ngx_modules_c
536
+
537
+ for mod in $ngx_module_modules
538
+ do
539
+ echo " &$mod," >> $ngx_modules_c
540
+ done
541
+
542
+ cat << END >> $ngx_modules_c
543
+ NULL
544
+ };
545
+
546
+ END
547
+
548
+ echo 'char *ngx_module_names[] = {' >> $ngx_modules_c
549
+
550
+ for mod in $ngx_module_modules
551
+ do
552
+ echo " \"$mod\"," >> $ngx_modules_c
553
+ done
554
+
555
+ cat << END >> $ngx_modules_c
556
+ NULL
557
+ };
558
+
559
+ END
560
+
561
+ echo 'char *ngx_module_order[] = {' >> $ngx_modules_c
562
+
563
+ for mod in $ngx_module_order
564
+ do
565
+ echo " \"$mod\"," >> $ngx_modules_c
566
+ done
567
+
568
+ cat << END >> $ngx_modules_c
569
+ NULL
570
+ };
571
+
572
+ END
573
+
574
+ ngx_modules_c=`echo $ngx_modules_c | sed -e "s/\//$ngx_regex_dirsep/g"`
575
+
576
+ ngx_modules_obj=`echo $ngx_modules_c \
577
+ | sed -e "s/\(.*\.\)c/\1$ngx_objext/"`
578
+
579
+ ngx_module_objs=
580
+ for ngx_src in $ngx_module_srcs
581
+ do
582
+ case "$ngx_src" in
583
+ src/*)
584
+ ngx_obj=$ngx_src
585
+ ;;
586
+ *)
587
+ ngx_obj="addon/`basename \`dirname $ngx_src\``"
588
+ mkdir -p $NGX_OBJS/$ngx_obj
589
+ ngx_obj="$ngx_obj/`basename $ngx_src`"
590
+ ;;
591
+ esac
592
+
593
+ ngx_module_objs="$ngx_module_objs $ngx_obj"
594
+ done
595
+
596
+ ngx_module_objs=`echo $ngx_module_objs \
597
+ | sed -e "s#\([^ ]*\.\)cpp#$NGX_OBJS\/\1$ngx_objext#g" \
598
+ -e "s#\([^ ]*\.\)cc#$NGX_OBJS\/\1$ngx_objext#g" \
599
+ -e "s#\([^ ]*\.\)c#$NGX_OBJS\/\1$ngx_objext#g" \
600
+ -e "s#\([^ ]*\.\)S#$NGX_OBJS\/\1$ngx_objext#g"`
601
+
602
+ ngx_deps=`echo $ngx_module_objs $ngx_modules_obj $LINK_DEPS \
603
+ | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
604
+ -e "s/\//$ngx_regex_dirsep/g"`
605
+
606
+ ngx_objs=`echo $ngx_module_objs $ngx_modules_obj \
607
+ | sed -e "s/ *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \
608
+ -e "s/\//$ngx_regex_dirsep/g"`
609
+
610
+ ngx_obj=$NGX_OBJS$ngx_dirsep$ngx_module$ngx_modext
611
+
612
+ if [ "$NGX_PLATFORM" = win32 ]; then
613
+ ngx_module_libs="$CORE_LIBS $ngx_module_libs"
614
+ fi
615
+
616
+ ngx_libs=
617
+ if test -n "$NGX_LD_OPT$ngx_module_libs"; then
618
+ ngx_libs=`echo $NGX_LD_OPT $ngx_module_libs \
619
+ | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`
620
+ fi
621
+
622
+ ngx_link=${CORE_LINK:+`echo $CORE_LINK \
623
+ | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`}
624
+
625
+ ngx_module_link=${MODULE_LINK:+`echo $MODULE_LINK \
626
+ | sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`}
627
+
628
+
629
+ cat << END >> $NGX_MAKEFILE
630
+
631
+ modules: $ngx_obj
632
+
633
+ $ngx_obj: $ngx_deps$ngx_spacer
634
+ \$(LINK) $ngx_long_start$ngx_binout$ngx_obj$ngx_long_cont$ngx_objs$ngx_libs$ngx_link$ngx_module_link
635
+ $ngx_long_end
636
+
637
+ $ngx_modules_obj: \$(CORE_DEPS)$ngx_cont$ngx_modules_c
638
+ $ngx_cc$ngx_tab$ngx_objout$ngx_modules_obj$ngx_tab$ngx_modules_c$NGX_AUX
639
+
640
+ END
641
+
642
+ for ngx_source in $ngx_module_srcs
643
+ do
644
+ case "$ngx_source" in
645
+ src/*)
646
+ ngx_obj=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"`
647
+ ;;
648
+ *)
649
+ ngx_obj="addon/`basename \`dirname $ngx_source\``"
650
+ ngx_obj=`echo $ngx_obj/\`basename $ngx_source\` \
651
+ | sed -e "s/\//$ngx_regex_dirsep/g"`
652
+ ;;
653
+ esac
654
+
655
+ ngx_obj=`echo $ngx_obj \
656
+ | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \
657
+ -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \
658
+ -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
659
+ -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
660
+
661
+ ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"`
662
+
663
+ if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then
664
+
665
+ cat << END >> $NGX_MAKEFILE
666
+
667
+ $ngx_obj: $ngx_obj_deps$ngx_cont$ngx_src
668
+ $ngx_perl_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
669
+
670
+ END
671
+ else
672
+
673
+ cat << END >> $NGX_MAKEFILE
674
+
675
+ $ngx_obj: $ngx_obj_deps$ngx_cont$ngx_src
676
+ $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
677
+
678
+ END
679
+
680
+ fi
681
+ done
682
+ done