nginxtra 1.0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (363) hide show
  1. data/VERSION +1 -0
  2. data/bin/nginxtra +5 -0
  3. data/lib/nginxtra.rb +12 -0
  4. data/lib/nginxtra/action.rb +36 -0
  5. data/lib/nginxtra/actions/compile.rb +60 -0
  6. data/lib/nginxtra/actions/install.rb +99 -0
  7. data/lib/nginxtra/actions/reload.rb +14 -0
  8. data/lib/nginxtra/actions/restart.rb +15 -0
  9. data/lib/nginxtra/actions/start.rb +53 -0
  10. data/lib/nginxtra/actions/status.rb +31 -0
  11. data/lib/nginxtra/actions/stop.rb +14 -0
  12. data/lib/nginxtra/cli.rb +77 -0
  13. data/lib/nginxtra/config.rb +339 -0
  14. data/lib/nginxtra/error.rb +13 -0
  15. data/lib/nginxtra/status.rb +57 -0
  16. data/src/nginx/CHANGES +5630 -0
  17. data/src/nginx/CHANGES.ru +5716 -0
  18. data/src/nginx/LICENSE +25 -0
  19. data/src/nginx/README +3 -0
  20. data/src/nginx/auto/cc/acc +15 -0
  21. data/src/nginx/auto/cc/bcc +72 -0
  22. data/src/nginx/auto/cc/ccc +46 -0
  23. data/src/nginx/auto/cc/conf +189 -0
  24. data/src/nginx/auto/cc/gcc +183 -0
  25. data/src/nginx/auto/cc/icc +121 -0
  26. data/src/nginx/auto/cc/msvc +138 -0
  27. data/src/nginx/auto/cc/name +101 -0
  28. data/src/nginx/auto/cc/owc +104 -0
  29. data/src/nginx/auto/cc/sunc +158 -0
  30. data/src/nginx/auto/define +12 -0
  31. data/src/nginx/auto/endianess +45 -0
  32. data/src/nginx/auto/feature +123 -0
  33. data/src/nginx/auto/have +12 -0
  34. data/src/nginx/auto/have_headers +12 -0
  35. data/src/nginx/auto/headers +13 -0
  36. data/src/nginx/auto/include +61 -0
  37. data/src/nginx/auto/init +51 -0
  38. data/src/nginx/auto/install +184 -0
  39. data/src/nginx/auto/lib/conf +83 -0
  40. data/src/nginx/auto/lib/geoip/conf +79 -0
  41. data/src/nginx/auto/lib/google-perftools/conf +45 -0
  42. data/src/nginx/auto/lib/libatomic/conf +43 -0
  43. data/src/nginx/auto/lib/libatomic/make +14 -0
  44. data/src/nginx/auto/lib/libgd/conf +83 -0
  45. data/src/nginx/auto/lib/libxslt/conf +156 -0
  46. data/src/nginx/auto/lib/make +32 -0
  47. data/src/nginx/auto/lib/md5/conf +103 -0
  48. data/src/nginx/auto/lib/md5/make +96 -0
  49. data/src/nginx/auto/lib/md5/makefile.bcc +22 -0
  50. data/src/nginx/auto/lib/md5/makefile.msvc +22 -0
  51. data/src/nginx/auto/lib/md5/makefile.owc +11 -0
  52. data/src/nginx/auto/lib/openssl/conf +74 -0
  53. data/src/nginx/auto/lib/openssl/make +67 -0
  54. data/src/nginx/auto/lib/openssl/makefile.bcc +18 -0
  55. data/src/nginx/auto/lib/openssl/makefile.msvc +14 -0
  56. data/src/nginx/auto/lib/pcre/conf +180 -0
  57. data/src/nginx/auto/lib/pcre/make +64 -0
  58. data/src/nginx/auto/lib/pcre/makefile.bcc +26 -0
  59. data/src/nginx/auto/lib/pcre/makefile.msvc +22 -0
  60. data/src/nginx/auto/lib/pcre/makefile.owc +24 -0
  61. data/src/nginx/auto/lib/perl/conf +60 -0
  62. data/src/nginx/auto/lib/perl/make +36 -0
  63. data/src/nginx/auto/lib/sha1/conf +79 -0
  64. data/src/nginx/auto/lib/sha1/make +96 -0
  65. data/src/nginx/auto/lib/sha1/makefile.bcc +22 -0
  66. data/src/nginx/auto/lib/sha1/makefile.msvc +22 -0
  67. data/src/nginx/auto/lib/sha1/makefile.owc +11 -0
  68. data/src/nginx/auto/lib/test +40 -0
  69. data/src/nginx/auto/lib/zlib/conf +76 -0
  70. data/src/nginx/auto/lib/zlib/make +114 -0
  71. data/src/nginx/auto/lib/zlib/makefile.bcc +15 -0
  72. data/src/nginx/auto/lib/zlib/makefile.msvc +14 -0
  73. data/src/nginx/auto/lib/zlib/makefile.owc +14 -0
  74. data/src/nginx/auto/lib/zlib/patch.zlib.h +10 -0
  75. data/src/nginx/auto/make +417 -0
  76. data/src/nginx/auto/modules +479 -0
  77. data/src/nginx/auto/nohave +12 -0
  78. data/src/nginx/auto/options +490 -0
  79. data/src/nginx/auto/os/conf +105 -0
  80. data/src/nginx/auto/os/darwin +116 -0
  81. data/src/nginx/auto/os/freebsd +136 -0
  82. data/src/nginx/auto/os/linux +152 -0
  83. data/src/nginx/auto/os/solaris +60 -0
  84. data/src/nginx/auto/os/win32 +29 -0
  85. data/src/nginx/auto/sources +518 -0
  86. data/src/nginx/auto/stubs +8 -0
  87. data/src/nginx/auto/summary +114 -0
  88. data/src/nginx/auto/types/sizeof +83 -0
  89. data/src/nginx/auto/types/typedef +77 -0
  90. data/src/nginx/auto/types/uintptr_t +42 -0
  91. data/src/nginx/auto/types/value +12 -0
  92. data/src/nginx/auto/unix +719 -0
  93. data/src/nginx/conf/fastcgi.conf +24 -0
  94. data/src/nginx/conf/fastcgi_params +23 -0
  95. data/src/nginx/conf/koi-utf +109 -0
  96. data/src/nginx/conf/koi-win +103 -0
  97. data/src/nginx/conf/mime.types +80 -0
  98. data/src/nginx/conf/nginx.conf +118 -0
  99. data/src/nginx/conf/scgi_params +15 -0
  100. data/src/nginx/conf/uwsgi_params +15 -0
  101. data/src/nginx/conf/win-utf +126 -0
  102. data/src/nginx/configure +108 -0
  103. data/src/nginx/contrib/README +15 -0
  104. data/src/nginx/contrib/geo2nginx.pl +58 -0
  105. data/src/nginx/contrib/unicode2nginx/koi-utf +131 -0
  106. data/src/nginx/contrib/unicode2nginx/unicode-to-nginx.pl +45 -0
  107. data/src/nginx/contrib/unicode2nginx/win-utf +130 -0
  108. data/src/nginx/html/50x.html +18 -0
  109. data/src/nginx/html/index.html +8 -0
  110. data/src/nginx/man/nginx.8 +202 -0
  111. data/src/nginx/src/core/nginx.c +1333 -0
  112. data/src/nginx/src/core/nginx.h +20 -0
  113. data/src/nginx/src/core/ngx_array.c +147 -0
  114. data/src/nginx/src/core/ngx_array.h +53 -0
  115. data/src/nginx/src/core/ngx_buf.c +218 -0
  116. data/src/nginx/src/core/ngx_buf.h +162 -0
  117. data/src/nginx/src/core/ngx_conf_file.c +1506 -0
  118. data/src/nginx/src/core/ngx_conf_file.h +348 -0
  119. data/src/nginx/src/core/ngx_config.h +134 -0
  120. data/src/nginx/src/core/ngx_connection.c +1074 -0
  121. data/src/nginx/src/core/ngx_connection.h +195 -0
  122. data/src/nginx/src/core/ngx_core.h +95 -0
  123. data/src/nginx/src/core/ngx_cpuinfo.c +139 -0
  124. data/src/nginx/src/core/ngx_crc.h +39 -0
  125. data/src/nginx/src/core/ngx_crc32.c +129 -0
  126. data/src/nginx/src/core/ngx_crc32.h +79 -0
  127. data/src/nginx/src/core/ngx_crypt.c +238 -0
  128. data/src/nginx/src/core/ngx_crypt.h +20 -0
  129. data/src/nginx/src/core/ngx_cycle.c +1379 -0
  130. data/src/nginx/src/core/ngx_cycle.h +142 -0
  131. data/src/nginx/src/core/ngx_file.c +993 -0
  132. data/src/nginx/src/core/ngx_file.h +151 -0
  133. data/src/nginx/src/core/ngx_hash.c +976 -0
  134. data/src/nginx/src/core/ngx_hash.h +122 -0
  135. data/src/nginx/src/core/ngx_inet.c +1008 -0
  136. data/src/nginx/src/core/ngx_inet.h +120 -0
  137. data/src/nginx/src/core/ngx_list.c +71 -0
  138. data/src/nginx/src/core/ngx_list.h +83 -0
  139. data/src/nginx/src/core/ngx_log.c +459 -0
  140. data/src/nginx/src/core/ngx_log.h +250 -0
  141. data/src/nginx/src/core/ngx_md5.c +289 -0
  142. data/src/nginx/src/core/ngx_md5.h +60 -0
  143. data/src/nginx/src/core/ngx_murmurhash.c +50 -0
  144. data/src/nginx/src/core/ngx_murmurhash.h +19 -0
  145. data/src/nginx/src/core/ngx_open_file_cache.c +882 -0
  146. data/src/nginx/src/core/ngx_open_file_cache.h +119 -0
  147. data/src/nginx/src/core/ngx_output_chain.c +673 -0
  148. data/src/nginx/src/core/ngx_palloc.c +433 -0
  149. data/src/nginx/src/core/ngx_palloc.h +95 -0
  150. data/src/nginx/src/core/ngx_parse.c +249 -0
  151. data/src/nginx/src/core/ngx_parse.h +24 -0
  152. data/src/nginx/src/core/ngx_queue.c +80 -0
  153. data/src/nginx/src/core/ngx_queue.h +112 -0
  154. data/src/nginx/src/core/ngx_radix_tree.c +291 -0
  155. data/src/nginx/src/core/ngx_radix_tree.h +46 -0
  156. data/src/nginx/src/core/ngx_rbtree.c +383 -0
  157. data/src/nginx/src/core/ngx_rbtree.h +84 -0
  158. data/src/nginx/src/core/ngx_regex.c +206 -0
  159. data/src/nginx/src/core/ngx_regex.h +56 -0
  160. data/src/nginx/src/core/ngx_resolver.c +2201 -0
  161. data/src/nginx/src/core/ngx_resolver.h +149 -0
  162. data/src/nginx/src/core/ngx_sha1.h +31 -0
  163. data/src/nginx/src/core/ngx_shmtx.c +284 -0
  164. data/src/nginx/src/core/ngx_shmtx.h +38 -0
  165. data/src/nginx/src/core/ngx_slab.c +701 -0
  166. data/src/nginx/src/core/ngx_slab.h +54 -0
  167. data/src/nginx/src/core/ngx_spinlock.c +53 -0
  168. data/src/nginx/src/core/ngx_string.c +1837 -0
  169. data/src/nginx/src/core/ngx_string.h +231 -0
  170. data/src/nginx/src/core/ngx_times.c +407 -0
  171. data/src/nginx/src/core/ngx_times.h +51 -0
  172. data/src/nginx/src/event/modules/ngx_aio_module.c +171 -0
  173. data/src/nginx/src/event/modules/ngx_devpoll_module.c +569 -0
  174. data/src/nginx/src/event/modules/ngx_epoll_module.c +833 -0
  175. data/src/nginx/src/event/modules/ngx_eventport_module.c +602 -0
  176. data/src/nginx/src/event/modules/ngx_kqueue_module.c +785 -0
  177. data/src/nginx/src/event/modules/ngx_poll_module.c +443 -0
  178. data/src/nginx/src/event/modules/ngx_rtsig_module.c +735 -0
  179. data/src/nginx/src/event/modules/ngx_select_module.c +435 -0
  180. data/src/nginx/src/event/modules/ngx_win32_select_module.c +400 -0
  181. data/src/nginx/src/event/ngx_event.c +1275 -0
  182. data/src/nginx/src/event/ngx_event.h +573 -0
  183. data/src/nginx/src/event/ngx_event_accept.c +428 -0
  184. data/src/nginx/src/event/ngx_event_busy_lock.c +286 -0
  185. data/src/nginx/src/event/ngx_event_busy_lock.h +65 -0
  186. data/src/nginx/src/event/ngx_event_connect.c +258 -0
  187. data/src/nginx/src/event/ngx_event_connect.h +76 -0
  188. data/src/nginx/src/event/ngx_event_mutex.c +70 -0
  189. data/src/nginx/src/event/ngx_event_openssl.c +2382 -0
  190. data/src/nginx/src/event/ngx_event_openssl.h +162 -0
  191. data/src/nginx/src/event/ngx_event_pipe.c +996 -0
  192. data/src/nginx/src/event/ngx_event_pipe.h +95 -0
  193. data/src/nginx/src/event/ngx_event_posted.c +173 -0
  194. data/src/nginx/src/event/ngx_event_posted.h +75 -0
  195. data/src/nginx/src/event/ngx_event_timer.c +159 -0
  196. data/src/nginx/src/event/ngx_event_timer.h +102 -0
  197. data/src/nginx/src/http/modules/ngx_http_access_module.c +384 -0
  198. data/src/nginx/src/http/modules/ngx_http_addition_filter_module.c +250 -0
  199. data/src/nginx/src/http/modules/ngx_http_auth_basic_module.c +478 -0
  200. data/src/nginx/src/http/modules/ngx_http_autoindex_module.c +701 -0
  201. data/src/nginx/src/http/modules/ngx_http_browser_module.c +713 -0
  202. data/src/nginx/src/http/modules/ngx_http_charset_filter_module.c +1681 -0
  203. data/src/nginx/src/http/modules/ngx_http_chunked_filter_module.c +242 -0
  204. data/src/nginx/src/http/modules/ngx_http_dav_module.c +1141 -0
  205. data/src/nginx/src/http/modules/ngx_http_degradation_module.c +243 -0
  206. data/src/nginx/src/http/modules/ngx_http_empty_gif_module.c +140 -0
  207. data/src/nginx/src/http/modules/ngx_http_fastcgi_module.c +2916 -0
  208. data/src/nginx/src/http/modules/ngx_http_flv_module.c +254 -0
  209. data/src/nginx/src/http/modules/ngx_http_geo_module.c +1441 -0
  210. data/src/nginx/src/http/modules/ngx_http_geoip_module.c +671 -0
  211. data/src/nginx/src/http/modules/ngx_http_gzip_filter_module.c +1206 -0
  212. data/src/nginx/src/http/modules/ngx_http_gzip_static_module.c +299 -0
  213. data/src/nginx/src/http/modules/ngx_http_headers_filter_module.c +616 -0
  214. data/src/nginx/src/http/modules/ngx_http_image_filter_module.c +1489 -0
  215. data/src/nginx/src/http/modules/ngx_http_index_module.c +516 -0
  216. data/src/nginx/src/http/modules/ngx_http_limit_req_module.c +809 -0
  217. data/src/nginx/src/http/modules/ngx_http_limit_zone_module.c +553 -0
  218. data/src/nginx/src/http/modules/ngx_http_log_module.c +1357 -0
  219. data/src/nginx/src/http/modules/ngx_http_map_module.c +575 -0
  220. data/src/nginx/src/http/modules/ngx_http_memcached_module.c +624 -0
  221. data/src/nginx/src/http/modules/ngx_http_mp4_module.c +3000 -0
  222. data/src/nginx/src/http/modules/ngx_http_not_modified_filter_module.c +143 -0
  223. data/src/nginx/src/http/modules/ngx_http_proxy_module.c +2831 -0
  224. data/src/nginx/src/http/modules/ngx_http_random_index_module.c +317 -0
  225. data/src/nginx/src/http/modules/ngx_http_range_filter_module.c +855 -0
  226. data/src/nginx/src/http/modules/ngx_http_realip_module.c +476 -0
  227. data/src/nginx/src/http/modules/ngx_http_referer_module.c +613 -0
  228. data/src/nginx/src/http/modules/ngx_http_rewrite_module.c +1019 -0
  229. data/src/nginx/src/http/modules/ngx_http_scgi_module.c +1714 -0
  230. data/src/nginx/src/http/modules/ngx_http_secure_link_module.c +355 -0
  231. data/src/nginx/src/http/modules/ngx_http_split_clients_module.c +242 -0
  232. data/src/nginx/src/http/modules/ngx_http_ssi_filter_module.c +2913 -0
  233. data/src/nginx/src/http/modules/ngx_http_ssi_filter_module.h +114 -0
  234. data/src/nginx/src/http/modules/ngx_http_ssl_module.c +652 -0
  235. data/src/nginx/src/http/modules/ngx_http_ssl_module.h +52 -0
  236. data/src/nginx/src/http/modules/ngx_http_static_module.c +278 -0
  237. data/src/nginx/src/http/modules/ngx_http_stub_status_module.c +144 -0
  238. data/src/nginx/src/http/modules/ngx_http_sub_filter_module.c +716 -0
  239. data/src/nginx/src/http/modules/ngx_http_upstream_ip_hash_module.c +237 -0
  240. data/src/nginx/src/http/modules/ngx_http_userid_filter_module.c +846 -0
  241. data/src/nginx/src/http/modules/ngx_http_uwsgi_module.c +1774 -0
  242. data/src/nginx/src/http/modules/ngx_http_xslt_filter_module.c +984 -0
  243. data/src/nginx/src/http/modules/perl/Makefile.PL +42 -0
  244. data/src/nginx/src/http/modules/perl/nginx.pm +137 -0
  245. data/src/nginx/src/http/modules/perl/nginx.xs +986 -0
  246. data/src/nginx/src/http/modules/perl/ngx_http_perl_module.c +1076 -0
  247. data/src/nginx/src/http/modules/perl/ngx_http_perl_module.h +67 -0
  248. data/src/nginx/src/http/modules/perl/typemap +3 -0
  249. data/src/nginx/src/http/ngx_http.c +2073 -0
  250. data/src/nginx/src/http/ngx_http.h +160 -0
  251. data/src/nginx/src/http/ngx_http_busy_lock.c +307 -0
  252. data/src/nginx/src/http/ngx_http_busy_lock.h +54 -0
  253. data/src/nginx/src/http/ngx_http_cache.h +148 -0
  254. data/src/nginx/src/http/ngx_http_config.h +75 -0
  255. data/src/nginx/src/http/ngx_http_copy_filter_module.c +300 -0
  256. data/src/nginx/src/http/ngx_http_core_module.c +4736 -0
  257. data/src/nginx/src/http/ngx_http_core_module.h +541 -0
  258. data/src/nginx/src/http/ngx_http_file_cache.c +1715 -0
  259. data/src/nginx/src/http/ngx_http_header_filter_module.c +623 -0
  260. data/src/nginx/src/http/ngx_http_parse.c +1734 -0
  261. data/src/nginx/src/http/ngx_http_parse_time.c +276 -0
  262. data/src/nginx/src/http/ngx_http_postpone_filter_module.c +178 -0
  263. data/src/nginx/src/http/ngx_http_request.c +3181 -0
  264. data/src/nginx/src/http/ngx_http_request.h +573 -0
  265. data/src/nginx/src/http/ngx_http_request_body.c +644 -0
  266. data/src/nginx/src/http/ngx_http_script.c +1752 -0
  267. data/src/nginx/src/http/ngx_http_script.h +257 -0
  268. data/src/nginx/src/http/ngx_http_special_response.c +789 -0
  269. data/src/nginx/src/http/ngx_http_upstream.c +4555 -0
  270. data/src/nginx/src/http/ngx_http_upstream.h +350 -0
  271. data/src/nginx/src/http/ngx_http_upstream_round_robin.c +791 -0
  272. data/src/nginx/src/http/ngx_http_upstream_round_robin.h +85 -0
  273. data/src/nginx/src/http/ngx_http_variables.c +2053 -0
  274. data/src/nginx/src/http/ngx_http_variables.h +115 -0
  275. data/src/nginx/src/http/ngx_http_write_filter_module.c +315 -0
  276. data/src/nginx/src/mail/ngx_mail.c +542 -0
  277. data/src/nginx/src/mail/ngx_mail.h +407 -0
  278. data/src/nginx/src/mail/ngx_mail_auth_http_module.c +1452 -0
  279. data/src/nginx/src/mail/ngx_mail_core_module.c +553 -0
  280. data/src/nginx/src/mail/ngx_mail_handler.c +773 -0
  281. data/src/nginx/src/mail/ngx_mail_imap_handler.c +457 -0
  282. data/src/nginx/src/mail/ngx_mail_imap_module.c +253 -0
  283. data/src/nginx/src/mail/ngx_mail_imap_module.h +39 -0
  284. data/src/nginx/src/mail/ngx_mail_parse.c +885 -0
  285. data/src/nginx/src/mail/ngx_mail_pop3_handler.c +500 -0
  286. data/src/nginx/src/mail/ngx_mail_pop3_module.c +264 -0
  287. data/src/nginx/src/mail/ngx_mail_pop3_module.h +38 -0
  288. data/src/nginx/src/mail/ngx_mail_proxy_module.c +1089 -0
  289. data/src/nginx/src/mail/ngx_mail_smtp_handler.c +872 -0
  290. data/src/nginx/src/mail/ngx_mail_smtp_module.c +308 -0
  291. data/src/nginx/src/mail/ngx_mail_smtp_module.h +45 -0
  292. data/src/nginx/src/mail/ngx_mail_ssl_module.c +491 -0
  293. data/src/nginx/src/mail/ngx_mail_ssl_module.h +52 -0
  294. data/src/nginx/src/misc/ngx_cpp_test_module.cpp +27 -0
  295. data/src/nginx/src/misc/ngx_google_perftools_module.c +126 -0
  296. data/src/nginx/src/os/unix/ngx_aio_read.c +109 -0
  297. data/src/nginx/src/os/unix/ngx_aio_read_chain.c +78 -0
  298. data/src/nginx/src/os/unix/ngx_aio_write.c +109 -0
  299. data/src/nginx/src/os/unix/ngx_aio_write_chain.c +100 -0
  300. data/src/nginx/src/os/unix/ngx_alloc.c +90 -0
  301. data/src/nginx/src/os/unix/ngx_alloc.h +45 -0
  302. data/src/nginx/src/os/unix/ngx_atomic.h +311 -0
  303. data/src/nginx/src/os/unix/ngx_channel.c +258 -0
  304. data/src/nginx/src/os/unix/ngx_channel.h +34 -0
  305. data/src/nginx/src/os/unix/ngx_daemon.c +69 -0
  306. data/src/nginx/src/os/unix/ngx_darwin.h +20 -0
  307. data/src/nginx/src/os/unix/ngx_darwin_config.h +96 -0
  308. data/src/nginx/src/os/unix/ngx_darwin_init.c +166 -0
  309. data/src/nginx/src/os/unix/ngx_darwin_sendfile_chain.c +366 -0
  310. data/src/nginx/src/os/unix/ngx_errno.c +87 -0
  311. data/src/nginx/src/os/unix/ngx_errno.h +68 -0
  312. data/src/nginx/src/os/unix/ngx_file_aio_read.c +208 -0
  313. data/src/nginx/src/os/unix/ngx_files.c +566 -0
  314. data/src/nginx/src/os/unix/ngx_files.h +343 -0
  315. data/src/nginx/src/os/unix/ngx_freebsd.h +24 -0
  316. data/src/nginx/src/os/unix/ngx_freebsd_config.h +119 -0
  317. data/src/nginx/src/os/unix/ngx_freebsd_init.c +259 -0
  318. data/src/nginx/src/os/unix/ngx_freebsd_rfork_thread.c +756 -0
  319. data/src/nginx/src/os/unix/ngx_freebsd_rfork_thread.h +122 -0
  320. data/src/nginx/src/os/unix/ngx_freebsd_sendfile_chain.c +436 -0
  321. data/src/nginx/src/os/unix/ngx_gcc_atomic_amd64.h +82 -0
  322. data/src/nginx/src/os/unix/ngx_gcc_atomic_ppc.h +155 -0
  323. data/src/nginx/src/os/unix/ngx_gcc_atomic_sparc64.h +82 -0
  324. data/src/nginx/src/os/unix/ngx_gcc_atomic_x86.h +127 -0
  325. data/src/nginx/src/os/unix/ngx_linux.h +18 -0
  326. data/src/nginx/src/os/unix/ngx_linux_aio_read.c +137 -0
  327. data/src/nginx/src/os/unix/ngx_linux_config.h +117 -0
  328. data/src/nginx/src/os/unix/ngx_linux_init.c +91 -0
  329. data/src/nginx/src/os/unix/ngx_linux_sendfile_chain.c +378 -0
  330. data/src/nginx/src/os/unix/ngx_os.h +84 -0
  331. data/src/nginx/src/os/unix/ngx_posix_config.h +153 -0
  332. data/src/nginx/src/os/unix/ngx_posix_init.c +124 -0
  333. data/src/nginx/src/os/unix/ngx_process.c +590 -0
  334. data/src/nginx/src/os/unix/ngx_process.h +87 -0
  335. data/src/nginx/src/os/unix/ngx_process_cycle.c +1390 -0
  336. data/src/nginx/src/os/unix/ngx_process_cycle.h +61 -0
  337. data/src/nginx/src/os/unix/ngx_pthread_thread.c +278 -0
  338. data/src/nginx/src/os/unix/ngx_readv_chain.c +258 -0
  339. data/src/nginx/src/os/unix/ngx_recv.c +180 -0
  340. data/src/nginx/src/os/unix/ngx_send.c +73 -0
  341. data/src/nginx/src/os/unix/ngx_setproctitle.c +135 -0
  342. data/src/nginx/src/os/unix/ngx_setproctitle.h +52 -0
  343. data/src/nginx/src/os/unix/ngx_shmem.c +126 -0
  344. data/src/nginx/src/os/unix/ngx_shmem.h +29 -0
  345. data/src/nginx/src/os/unix/ngx_socket.c +116 -0
  346. data/src/nginx/src/os/unix/ngx_socket.h +64 -0
  347. data/src/nginx/src/os/unix/ngx_solaris.h +16 -0
  348. data/src/nginx/src/os/unix/ngx_solaris_config.h +107 -0
  349. data/src/nginx/src/os/unix/ngx_solaris_init.c +75 -0
  350. data/src/nginx/src/os/unix/ngx_solaris_sendfilev_chain.c +251 -0
  351. data/src/nginx/src/os/unix/ngx_sunpro_amd64.il +43 -0
  352. data/src/nginx/src/os/unix/ngx_sunpro_atomic_sparc64.h +61 -0
  353. data/src/nginx/src/os/unix/ngx_sunpro_sparc64.il +36 -0
  354. data/src/nginx/src/os/unix/ngx_sunpro_x86.il +44 -0
  355. data/src/nginx/src/os/unix/ngx_thread.h +128 -0
  356. data/src/nginx/src/os/unix/ngx_time.c +104 -0
  357. data/src/nginx/src/os/unix/ngx_time.h +66 -0
  358. data/src/nginx/src/os/unix/ngx_udp_recv.c +115 -0
  359. data/src/nginx/src/os/unix/ngx_user.c +109 -0
  360. data/src/nginx/src/os/unix/ngx_user.h +24 -0
  361. data/src/nginx/src/os/unix/ngx_writev_chain.c +181 -0
  362. data/src/nginx/src/os/unix/rfork_thread.S +73 -0
  363. metadata +419 -0
@@ -0,0 +1,479 @@
1
+
2
+ # Copyright (C) Igor Sysoev
3
+ # Copyright (C) Nginx, Inc.
4
+
5
+
6
+ if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then
7
+ EVENT_SELECT=YES
8
+ fi
9
+
10
+ if [ $EVENT_SELECT = YES ]; then
11
+ have=NGX_HAVE_SELECT . auto/have
12
+ CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
13
+ EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
14
+ fi
15
+
16
+
17
+ if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then
18
+ EVENT_POLL=YES
19
+ fi
20
+
21
+ if [ $EVENT_POLL = YES ]; then
22
+ have=NGX_HAVE_POLL . auto/have
23
+ CORE_SRCS="$CORE_SRCS $POLL_SRCS"
24
+ EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
25
+ fi
26
+
27
+
28
+ if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then
29
+ have=NGX_HAVE_DEVPOLL . auto/have
30
+ have=NGX_TEST_BUILD_DEVPOLL . auto/have
31
+ EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
32
+ CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
33
+ fi
34
+
35
+
36
+ if [ $NGX_TEST_BUILD_EVENTPORT = YES ]; then
37
+ have=NGX_HAVE_EVENTPORT . auto/have
38
+ have=NGX_TEST_BUILD_EVENTPORT . auto/have
39
+ EVENT_MODULES="$EVENT_MODULES $EVENTPORT_MODULE"
40
+ CORE_SRCS="$CORE_SRCS $EVENTPORT_SRCS"
41
+ fi
42
+
43
+ if [ $NGX_TEST_BUILD_EPOLL = YES ]; then
44
+ have=NGX_HAVE_EPOLL . auto/have
45
+ have=NGX_HAVE_EVENTFD . auto/have
46
+ have=NGX_TEST_BUILD_EPOLL . auto/have
47
+ EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
48
+ CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
49
+ fi
50
+
51
+ if [ $NGX_TEST_BUILD_RTSIG = YES ]; then
52
+ have=NGX_HAVE_RTSIG . auto/have
53
+ have=NGX_TEST_BUILD_RTSIG . auto/have
54
+ EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
55
+ CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
56
+ fi
57
+
58
+ if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then
59
+ have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have
60
+ CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
61
+ fi
62
+
63
+
64
+ if [ $HTTP != YES ]; then
65
+ have=NGX_CRYPT . auto/nohave
66
+ CRYPT_LIB=
67
+ fi
68
+
69
+
70
+ if [ $HTTP_CACHE = YES ]; then
71
+ USE_MD5=YES
72
+ have=NGX_HTTP_CACHE . auto/have
73
+ HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
74
+ fi
75
+
76
+
77
+ if [ $HTTP_SSI = YES ]; then
78
+ HTTP_POSTPONE=YES
79
+ fi
80
+
81
+
82
+ if [ $HTTP_ADDITION = YES ]; then
83
+ HTTP_POSTPONE=YES
84
+ fi
85
+
86
+
87
+ # the module order is important
88
+ # ngx_http_static_module
89
+ # ngx_http_gzip_static_module
90
+ # ngx_http_dav_module
91
+ # ngx_http_autoindex_module
92
+ # ngx_http_index_module
93
+ # ngx_http_random_index_module
94
+ #
95
+ # ngx_http_access_module
96
+ # ngx_http_realip_module
97
+ #
98
+ #
99
+ # the filter order is important
100
+ # ngx_http_write_filter
101
+ # ngx_http_header_filter
102
+ # ngx_http_chunked_filter
103
+ # ngx_http_range_header_filter
104
+ # ngx_http_gzip_filter
105
+ # ngx_http_postpone_filter
106
+ # ngx_http_ssi_filter
107
+ # ngx_http_charset_filter
108
+ # ngx_http_xslt_filter
109
+ # ngx_http_image_filter
110
+ # ngx_http_sub_filter
111
+ # ngx_http_addition_filter
112
+ # ngx_http_userid_filter
113
+ # ngx_http_headers_filter
114
+ # ngx_http_copy_filter
115
+ # ngx_http_range_body_filter
116
+ # ngx_http_not_modified_filter
117
+
118
+ HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \
119
+ $HTTP_HEADER_FILTER_MODULE \
120
+ $HTTP_CHUNKED_FILTER_MODULE \
121
+ $HTTP_RANGE_HEADER_FILTER_MODULE"
122
+
123
+ if [ $HTTP_GZIP = YES ]; then
124
+ have=NGX_HTTP_GZIP . auto/have
125
+ USE_ZLIB=YES
126
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
127
+ HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_SRCS"
128
+ fi
129
+
130
+ if [ $HTTP_POSTPONE = YES ]; then
131
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_POSTPONE_FILTER_MODULE"
132
+ HTTP_SRCS="$HTTP_SRCS $HTTP_POSTPONE_FILTER_SRCS"
133
+ fi
134
+
135
+ if [ $HTTP_SSI = YES ]; then
136
+ have=NGX_HTTP_SSI . auto/have
137
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE"
138
+ HTTP_DEPS="$HTTP_DEPS $HTTP_SSI_DEPS"
139
+ HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS"
140
+ fi
141
+
142
+ if [ $HTTP_CHARSET = YES ]; then
143
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_CHARSET_FILTER_MODULE"
144
+ HTTP_SRCS="$HTTP_SRCS $HTTP_CHARSET_SRCS"
145
+ fi
146
+
147
+ if [ $HTTP_XSLT = YES ]; then
148
+ USE_LIBXSLT=YES
149
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_XSLT_FILTER_MODULE"
150
+ HTTP_SRCS="$HTTP_SRCS $HTTP_XSLT_SRCS"
151
+ fi
152
+
153
+ if [ $HTTP_IMAGE_FILTER = YES ]; then
154
+ USE_LIBGD=YES
155
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_IMAGE_FILTER_MODULE"
156
+ HTTP_SRCS="$HTTP_SRCS $HTTP_IMAGE_SRCS"
157
+ fi
158
+
159
+ if [ $HTTP_SUB = YES ]; then
160
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SUB_FILTER_MODULE"
161
+ HTTP_SRCS="$HTTP_SRCS $HTTP_SUB_SRCS"
162
+ fi
163
+
164
+ if [ $HTTP_ADDITION = YES ]; then
165
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_ADDITION_FILTER_MODULE"
166
+ HTTP_SRCS="$HTTP_SRCS $HTTP_ADDITION_SRCS"
167
+ fi
168
+
169
+ if [ $HTTP_USERID = YES ]; then
170
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_USERID_FILTER_MODULE"
171
+ HTTP_SRCS="$HTTP_SRCS $HTTP_USERID_SRCS"
172
+ fi
173
+
174
+ HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE"
175
+
176
+ if [ $HTTP_GZIP_STATIC = YES ]; then
177
+ have=NGX_HTTP_GZIP . auto/have
178
+ HTTP_MODULES="$HTTP_MODULES $HTTP_GZIP_STATIC_MODULE"
179
+ HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_STATIC_SRCS"
180
+ fi
181
+
182
+ if [ $HTTP_DAV = YES ]; then
183
+ have=NGX_HTTP_DAV . auto/have
184
+ HTTP_MODULES="$HTTP_MODULES $HTTP_DAV_MODULE"
185
+ HTTP_SRCS="$HTTP_SRCS $HTTP_DAV_SRCS"
186
+ fi
187
+
188
+ if [ $HTTP_AUTOINDEX = YES ]; then
189
+ HTTP_MODULES="$HTTP_MODULES $HTTP_AUTOINDEX_MODULE"
190
+ HTTP_SRCS="$HTTP_SRCS $HTTP_AUTOINDEX_SRCS"
191
+ fi
192
+
193
+ HTTP_MODULES="$HTTP_MODULES $HTTP_INDEX_MODULE"
194
+
195
+ if [ $HTTP_RANDOM_INDEX = YES ]; then
196
+ HTTP_MODULES="$HTTP_MODULES $HTTP_RANDOM_INDEX_MODULE"
197
+ HTTP_SRCS="$HTTP_SRCS $HTTP_RANDOM_INDEX_SRCS"
198
+ fi
199
+
200
+ if [ $HTTP_AUTH_BASIC = YES ]; then
201
+ USE_MD5=YES
202
+ USE_SHA1=YES
203
+ have=NGX_CRYPT . auto/have
204
+ HTTP_MODULES="$HTTP_MODULES $HTTP_AUTH_BASIC_MODULE"
205
+ HTTP_SRCS="$HTTP_SRCS $HTTP_AUTH_BASIC_SRCS"
206
+ CORE_LIBS="$CORE_LIBS $CRYPT_LIB"
207
+ fi
208
+
209
+ if [ $HTTP_ACCESS = YES ]; then
210
+ HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESS_MODULE"
211
+ HTTP_SRCS="$HTTP_SRCS $HTTP_ACCESS_SRCS"
212
+ fi
213
+
214
+ if [ $HTTP_LIMIT_ZONE = YES ]; then
215
+ HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_ZONE_MODULE"
216
+ HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_ZONE_SRCS"
217
+ fi
218
+
219
+ if [ $HTTP_LIMIT_REQ = YES ]; then
220
+ HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_REQ_MODULE"
221
+ HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_REQ_SRCS"
222
+ fi
223
+
224
+ if [ $HTTP_REALIP = YES ]; then
225
+ have=NGX_HTTP_REALIP . auto/have
226
+ HTTP_MODULES="$HTTP_MODULES $HTTP_REALIP_MODULE"
227
+ HTTP_SRCS="$HTTP_SRCS $HTTP_REALIP_SRCS"
228
+ fi
229
+
230
+ if [ $HTTP_STATUS = YES ]; then
231
+ HTTP_MODULES="$HTTP_MODULES $HTTP_STATUS_MODULE"
232
+ HTTP_SRCS="$HTTP_SRCS $HTTP_STATUS_SRCS"
233
+ fi
234
+
235
+ if [ $HTTP_GEO = YES ]; then
236
+ have=NGX_HTTP_GEO . auto/have
237
+ HTTP_MODULES="$HTTP_MODULES $HTTP_GEO_MODULE"
238
+ HTTP_SRCS="$HTTP_SRCS $HTTP_GEO_SRCS"
239
+ fi
240
+
241
+ if [ $HTTP_GEOIP = YES ]; then
242
+ HTTP_MODULES="$HTTP_MODULES $HTTP_GEOIP_MODULE"
243
+ HTTP_SRCS="$HTTP_SRCS $HTTP_GEOIP_SRCS"
244
+ fi
245
+
246
+ if [ $HTTP_MAP = YES ]; then
247
+ HTTP_MODULES="$HTTP_MODULES $HTTP_MAP_MODULE"
248
+ HTTP_SRCS="$HTTP_SRCS $HTTP_MAP_SRCS"
249
+ fi
250
+
251
+ if [ $HTTP_SPLIT_CLIENTS = YES ]; then
252
+ HTTP_MODULES="$HTTP_MODULES $HTTP_SPLIT_CLIENTS_MODULE"
253
+ HTTP_SRCS="$HTTP_SRCS $HTTP_SPLIT_CLIENTS_SRCS"
254
+ fi
255
+
256
+ if [ $HTTP_REFERER = YES ]; then
257
+ HTTP_MODULES="$HTTP_MODULES $HTTP_REFERER_MODULE"
258
+ HTTP_SRCS="$HTTP_SRCS $HTTP_REFERER_SRCS"
259
+ fi
260
+
261
+ if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
262
+ USE_PCRE=YES
263
+ HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
264
+ HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
265
+ fi
266
+
267
+ if [ $HTTP_SSL = YES ]; then
268
+ USE_OPENSSL=YES
269
+ have=NGX_HTTP_SSL . auto/have
270
+ HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
271
+ HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
272
+ HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
273
+ fi
274
+
275
+ if [ $HTTP_PROXY = YES ]; then
276
+ have=NGX_HTTP_PROXY . auto/have
277
+ #USE_MD5=YES
278
+ HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
279
+ HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
280
+ HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
281
+ fi
282
+
283
+ if [ $HTTP_FASTCGI = YES ]; then
284
+ HTTP_MODULES="$HTTP_MODULES $HTTP_FASTCGI_MODULE"
285
+ HTTP_SRCS="$HTTP_SRCS $HTTP_FASTCGI_SRCS"
286
+ fi
287
+
288
+ if [ $HTTP_UWSGI = YES ]; then
289
+ HTTP_MODULES="$HTTP_MODULES $HTTP_UWSGI_MODULE"
290
+ HTTP_SRCS="$HTTP_SRCS $HTTP_UWSGI_SRCS"
291
+ fi
292
+
293
+ if [ $HTTP_SCGI = YES ]; then
294
+ HTTP_MODULES="$HTTP_MODULES $HTTP_SCGI_MODULE"
295
+ HTTP_SRCS="$HTTP_SRCS $HTTP_SCGI_SRCS"
296
+ fi
297
+
298
+ if [ $HTTP_PERL = YES ]; then
299
+ USE_PERL=YES
300
+ HTTP_MODULES="$HTTP_MODULES $HTTP_PERL_MODULE"
301
+ HTTP_INCS="$HTTP_INCS $HTTP_PERL_INCS"
302
+ HTTP_DEPS="$HTTP_DEPS $HTTP_PERL_DEPS"
303
+ HTTP_SRCS="$HTTP_SRCS $HTTP_PERL_SRCS"
304
+ fi
305
+
306
+ if [ $HTTP_MEMCACHED = YES ]; then
307
+ HTTP_MODULES="$HTTP_MODULES $HTTP_MEMCACHED_MODULE"
308
+ HTTP_SRCS="$HTTP_SRCS $HTTP_MEMCACHED_SRCS"
309
+ fi
310
+
311
+ if [ $HTTP_EMPTY_GIF = YES ]; then
312
+ HTTP_MODULES="$HTTP_MODULES $HTTP_EMPTY_GIF_MODULE"
313
+ HTTP_SRCS="$HTTP_SRCS $HTTP_EMPTY_GIF_SRCS"
314
+ fi
315
+
316
+ if [ $HTTP_BROWSER = YES ]; then
317
+ HTTP_MODULES="$HTTP_MODULES $HTTP_BROWSER_MODULE"
318
+ HTTP_SRCS="$HTTP_SRCS $HTTP_BROWSER_SRCS"
319
+ fi
320
+
321
+ if [ $HTTP_SECURE_LINK = YES ]; then
322
+ USE_MD5=YES
323
+ HTTP_MODULES="$HTTP_MODULES $HTTP_SECURE_LINK_MODULE"
324
+ HTTP_SRCS="$HTTP_SRCS $HTTP_SECURE_LINK_SRCS"
325
+ fi
326
+
327
+ if [ $HTTP_DEGRADATION = YES ]; then
328
+ have=NGX_HTTP_DEGRADATION . auto/have
329
+ HTTP_MODULES="$HTTP_MODULES $HTTP_DEGRADATION_MODULE"
330
+ HTTP_SRCS="$HTTP_SRCS $HTTP_DEGRADATION_SRCS"
331
+ fi
332
+
333
+ if [ $HTTP_FLV = YES ]; then
334
+ HTTP_MODULES="$HTTP_MODULES $HTTP_FLV_MODULE"
335
+ HTTP_SRCS="$HTTP_SRCS $HTTP_FLV_SRCS"
336
+ fi
337
+
338
+ if [ $HTTP_MP4 = YES ]; then
339
+ HTTP_MODULES="$HTTP_MODULES $HTTP_MP4_MODULE"
340
+ HTTP_SRCS="$HTTP_SRCS $HTTP_MP4_SRCS"
341
+ fi
342
+
343
+ if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
344
+ HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_IP_HASH_MODULE"
345
+ HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_IP_HASH_SRCS"
346
+ fi
347
+
348
+ if [ $HTTP_STUB_STATUS = YES ]; then
349
+ have=NGX_STAT_STUB . auto/have
350
+ HTTP_MODULES="$HTTP_MODULES ngx_http_stub_status_module"
351
+ HTTP_SRCS="$HTTP_SRCS src/http/modules/ngx_http_stub_status_module.c"
352
+ fi
353
+
354
+ #if [ -r $NGX_OBJS/auto ]; then
355
+ # . $NGX_OBJS/auto
356
+ #fi
357
+
358
+
359
+ if test -n "$NGX_ADDONS"; then
360
+
361
+ echo configuring additional modules
362
+
363
+ for ngx_addon_dir in $NGX_ADDONS
364
+ do
365
+ echo "adding module in $ngx_addon_dir"
366
+
367
+ if test -f $ngx_addon_dir/config; then
368
+ . $ngx_addon_dir/config
369
+
370
+ echo " + $ngx_addon_name was configured"
371
+
372
+ else
373
+ echo "$0: error: no $ngx_addon_dir/config was found"
374
+ exit 1
375
+ fi
376
+ done
377
+ fi
378
+
379
+
380
+ if [ $MAIL_SSL = YES ]; then
381
+ have=NGX_MAIL_SSL . auto/have
382
+ USE_OPENSSL=YES
383
+ fi
384
+
385
+
386
+ modules="$CORE_MODULES $EVENT_MODULES"
387
+
388
+
389
+ if [ $USE_OPENSSL = YES ]; then
390
+ modules="$modules $OPENSSL_MODULE"
391
+ CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
392
+ CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
393
+ fi
394
+
395
+ if [ $HTTP = YES ]; then
396
+ modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
397
+ $HTTP_HEADERS_FILTER_MODULE \
398
+ $HTTP_AUX_FILTER_MODULES \
399
+ $HTTP_COPY_FILTER_MODULE \
400
+ $HTTP_RANGE_BODY_FILTER_MODULE \
401
+ $HTTP_NOT_MODIFIED_FILTER_MODULE"
402
+
403
+ NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
404
+ fi
405
+
406
+
407
+ if [ $MAIL = YES ]; then
408
+ modules="$modules $MAIL_MODULES"
409
+
410
+ if [ $MAIL_SSL = YES ]; then
411
+ modules="$modules $MAIL_SSL_MODULE"
412
+ MAIL_DEPS="$MAIL_DEPS $MAIL_SSL_DEPS"
413
+ MAIL_SRCS="$MAIL_SRCS $MAIL_SSL_SRCS"
414
+ fi
415
+
416
+ if [ $MAIL_POP3 = YES ]; then
417
+ modules="$modules $MAIL_POP3_MODULE"
418
+ MAIL_DEPS="$MAIL_DEPS $MAIL_POP3_DEPS"
419
+ MAIL_SRCS="$MAIL_SRCS $MAIL_POP3_SRCS"
420
+ fi
421
+
422
+ if [ $MAIL_IMAP = YES ]; then
423
+ modules="$modules $MAIL_IMAP_MODULE"
424
+ MAIL_DEPS="$MAIL_DEPS $MAIL_IMAP_DEPS"
425
+ MAIL_SRCS="$MAIL_SRCS $MAIL_IMAP_SRCS"
426
+ fi
427
+
428
+ if [ $MAIL_SMTP = YES ]; then
429
+ modules="$modules $MAIL_SMTP_MODULE"
430
+ MAIL_DEPS="$MAIL_DEPS $MAIL_SMTP_DEPS"
431
+ MAIL_SRCS="$MAIL_SRCS $MAIL_SMTP_SRCS"
432
+ fi
433
+
434
+ modules="$modules $MAIL_AUTH_HTTP_MODULE"
435
+ MAIL_SRCS="$MAIL_SRCS $MAIL_AUTH_HTTP_SRCS"
436
+
437
+ modules="$modules $MAIL_PROXY_MODULE"
438
+ MAIL_SRCS="$MAIL_SRCS $MAIL_PROXY_SRCS"
439
+ fi
440
+
441
+
442
+ if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
443
+ modules="$modules $NGX_GOOGLE_PERFTOOLS_MODULE"
444
+ NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_GOOGLE_PERFTOOLS_SRCS"
445
+ fi
446
+
447
+
448
+ if [ $NGX_CPP_TEST = YES ]; then
449
+ NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_CPP_TEST_SRCS"
450
+ fi
451
+
452
+
453
+ cat << END > $NGX_MODULES_C
454
+
455
+ #include <ngx_config.h>
456
+ #include <ngx_core.h>
457
+
458
+ $NGX_PRAGMA
459
+
460
+ END
461
+
462
+ for mod in $modules
463
+ do
464
+ echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
465
+ done
466
+
467
+ echo >> $NGX_MODULES_C
468
+ echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
469
+
470
+ for mod in $modules
471
+ do
472
+ echo " &$mod," >> $NGX_MODULES_C
473
+ done
474
+
475
+ cat << END >> $NGX_MODULES_C
476
+ NULL
477
+ };
478
+
479
+ END