modules 38 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426
  1. # Copyright (C) Igor Sysoev
  2. # Copyright (C) Nginx, Inc.
  3. if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then
  4. EVENT_SELECT=YES
  5. fi
  6. if [ $EVENT_SELECT = YES ]; then
  7. have=NGX_HAVE_SELECT . auto/have
  8. CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
  9. EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
  10. fi
  11. if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then
  12. EVENT_POLL=YES
  13. fi
  14. if [ $EVENT_POLL = YES ]; then
  15. have=NGX_HAVE_POLL . auto/have
  16. CORE_SRCS="$CORE_SRCS $POLL_SRCS"
  17. EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
  18. fi
  19. if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then
  20. have=NGX_HAVE_DEVPOLL . auto/have
  21. have=NGX_TEST_BUILD_DEVPOLL . auto/have
  22. EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
  23. CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
  24. fi
  25. if [ $NGX_TEST_BUILD_EVENTPORT = YES ]; then
  26. have=NGX_HAVE_EVENTPORT . auto/have
  27. have=NGX_TEST_BUILD_EVENTPORT . auto/have
  28. EVENT_MODULES="$EVENT_MODULES $EVENTPORT_MODULE"
  29. CORE_SRCS="$CORE_SRCS $EVENTPORT_SRCS"
  30. fi
  31. if [ $NGX_TEST_BUILD_EPOLL = YES ]; then
  32. have=NGX_HAVE_EPOLL . auto/have
  33. have=NGX_HAVE_EPOLLRDHUP . auto/have
  34. have=NGX_HAVE_EPOLLEXCLUSIVE . auto/have
  35. have=NGX_HAVE_EVENTFD . auto/have
  36. have=NGX_TEST_BUILD_EPOLL . auto/have
  37. EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
  38. CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
  39. fi
  40. if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then
  41. have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have
  42. CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
  43. fi
  44. if [ $HTTP = YES ]; then
  45. HTTP_MODULES=
  46. HTTP_DEPS=
  47. HTTP_INCS=
  48. ngx_module_type=HTTP
  49. if :; then
  50. ngx_module_name="ngx_http_module \
  51. ngx_http_core_module \
  52. ngx_http_log_module \
  53. ngx_http_upstream_module"
  54. ngx_module_incs="src/http src/http/modules"
  55. ngx_module_deps="src/http/ngx_http.h \
  56. src/http/ngx_http_request.h \
  57. src/http/ngx_http_config.h \
  58. src/http/ngx_http_core_module.h \
  59. src/http/ngx_http_cache.h \
  60. src/http/ngx_http_variables.h \
  61. src/http/ngx_http_script.h \
  62. src/http/ngx_http_upstream.h \
  63. src/http/ngx_http_upstream_round_robin.h"
  64. ngx_module_srcs="src/http/ngx_http.c \
  65. src/http/ngx_http_core_module.c \
  66. src/http/ngx_http_special_response.c \
  67. src/http/ngx_http_request.c \
  68. src/http/ngx_http_parse.c \
  69. src/http/modules/ngx_http_log_module.c \
  70. src/http/ngx_http_request_body.c \
  71. src/http/ngx_http_variables.c \
  72. src/http/ngx_http_script.c \
  73. src/http/ngx_http_upstream.c \
  74. src/http/ngx_http_upstream_round_robin.c"
  75. ngx_module_libs=
  76. ngx_module_link=YES
  77. . auto/module
  78. fi
  79. if [ $HTTP_CACHE = YES ]; then
  80. have=NGX_HTTP_CACHE . auto/have
  81. HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
  82. fi
  83. if [ $HTTP_V2 = YES ]; then
  84. HTTP_SRCS="$HTTP_SRCS $HTTP_HUFF_SRCS"
  85. fi
  86. # the module order is important
  87. # ngx_http_static_module
  88. # ngx_http_gzip_static_module
  89. # ngx_http_dav_module
  90. # ngx_http_autoindex_module
  91. # ngx_http_index_module
  92. # ngx_http_random_index_module
  93. #
  94. # ngx_http_access_module
  95. # ngx_http_realip_module
  96. #
  97. #
  98. # the filter order is important
  99. # ngx_http_write_filter
  100. # ngx_http_header_filter
  101. # ngx_http_chunked_filter
  102. # ngx_http_v2_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_gunzip_filter
  113. # ngx_http_userid_filter
  114. # ngx_http_headers_filter
  115. # ngx_http_copy_filter
  116. # ngx_http_range_body_filter
  117. # ngx_http_not_modified_filter
  118. # ngx_http_slice_filter
  119. ngx_module_type=HTTP_FILTER
  120. HTTP_FILTER_MODULES=
  121. ngx_module_order="ngx_http_static_module \
  122. ngx_http_gzip_static_module \
  123. ngx_http_dav_module \
  124. ngx_http_autoindex_module \
  125. ngx_http_index_module \
  126. ngx_http_random_index_module \
  127. ngx_http_access_module \
  128. ngx_http_realip_module \
  129. ngx_http_write_filter_module \
  130. ngx_http_header_filter_module \
  131. ngx_http_chunked_filter_module \
  132. ngx_http_v2_filter_module \
  133. ngx_http_range_header_filter_module \
  134. ngx_http_gzip_filter_module \
  135. ngx_http_postpone_filter_module \
  136. ngx_http_ssi_filter_module \
  137. ngx_http_charset_filter_module \
  138. ngx_http_xslt_filter_module \
  139. ngx_http_image_filter_module \
  140. ngx_http_sub_filter_module \
  141. ngx_http_addition_filter_module \
  142. ngx_http_gunzip_filter_module \
  143. ngx_http_userid_filter_module \
  144. ngx_http_headers_filter_module \
  145. ngx_http_copy_filter_module \
  146. ngx_http_range_body_filter_module \
  147. ngx_http_not_modified_filter_module \
  148. ngx_http_slice_filter_module"
  149. if :; then
  150. ngx_module_name=ngx_http_write_filter_module
  151. ngx_module_incs=
  152. ngx_module_deps=
  153. ngx_module_srcs=src/http/ngx_http_write_filter_module.c
  154. ngx_module_libs=
  155. ngx_module_link=YES
  156. . auto/module
  157. fi
  158. if :; then
  159. ngx_module_name=ngx_http_header_filter_module
  160. ngx_module_incs=
  161. ngx_module_deps=
  162. ngx_module_srcs=src/http/ngx_http_header_filter_module.c
  163. ngx_module_libs=
  164. ngx_module_link=YES
  165. . auto/module
  166. fi
  167. if :; then
  168. ngx_module_name=ngx_http_chunked_filter_module
  169. ngx_module_incs=
  170. ngx_module_deps=
  171. ngx_module_srcs=src/http/modules/ngx_http_chunked_filter_module.c
  172. ngx_module_libs=
  173. ngx_module_link=YES
  174. . auto/module
  175. fi
  176. if [ $HTTP_V2 = YES ]; then
  177. ngx_module_name=ngx_http_v2_filter_module
  178. ngx_module_incs=
  179. ngx_module_deps=
  180. ngx_module_srcs=src/http/v2/ngx_http_v2_filter_module.c
  181. ngx_module_libs=
  182. ngx_module_link=$HTTP_V2
  183. . auto/module
  184. fi
  185. if :; then
  186. ngx_module_name=ngx_http_range_header_filter_module
  187. ngx_module_incs=
  188. ngx_module_deps=
  189. ngx_module_srcs=src/http/modules/ngx_http_range_filter_module.c
  190. ngx_module_libs=
  191. ngx_module_link=YES
  192. . auto/module
  193. fi
  194. if [ $HTTP_GZIP = YES ]; then
  195. have=NGX_HTTP_GZIP . auto/have
  196. USE_ZLIB=YES
  197. ngx_module_name=ngx_http_gzip_filter_module
  198. ngx_module_incs=
  199. ngx_module_deps=
  200. ngx_module_srcs=src/http/modules/ngx_http_gzip_filter_module.c
  201. ngx_module_libs=
  202. ngx_module_link=$HTTP_GZIP
  203. . auto/module
  204. fi
  205. if :; then
  206. ngx_module_name=ngx_http_postpone_filter_module
  207. ngx_module_incs=
  208. ngx_module_deps=
  209. ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c
  210. ngx_module_libs=
  211. ngx_module_link=YES
  212. . auto/module
  213. fi
  214. if [ $HTTP_SSI = YES ]; then
  215. have=NGX_HTTP_SSI . auto/have
  216. ngx_module_name=ngx_http_ssi_filter_module
  217. ngx_module_incs=
  218. ngx_module_deps=src/http/modules/ngx_http_ssi_filter_module.h
  219. ngx_module_srcs=src/http/modules/ngx_http_ssi_filter_module.c
  220. ngx_module_libs=
  221. ngx_module_link=$HTTP_SSI
  222. . auto/module
  223. fi
  224. if [ $HTTP_CHARSET = YES ]; then
  225. ngx_module_name=ngx_http_charset_filter_module
  226. ngx_module_incs=
  227. ngx_module_deps=
  228. ngx_module_srcs=src/http/modules/ngx_http_charset_filter_module.c
  229. ngx_module_libs=
  230. ngx_module_link=$HTTP_CHARSET
  231. . auto/module
  232. fi
  233. if [ $HTTP_XSLT != NO ]; then
  234. ngx_module_name=ngx_http_xslt_filter_module
  235. ngx_module_incs=
  236. ngx_module_deps=
  237. ngx_module_srcs=src/http/modules/ngx_http_xslt_filter_module.c
  238. ngx_module_libs=LIBXSLT
  239. ngx_module_link=$HTTP_XSLT
  240. . auto/module
  241. fi
  242. if [ $HTTP_IMAGE_FILTER != NO ]; then
  243. ngx_module_name=ngx_http_image_filter_module
  244. ngx_module_incs=
  245. ngx_module_deps=
  246. ngx_module_srcs=src/http/modules/ngx_http_image_filter_module.c
  247. ngx_module_libs=LIBGD
  248. ngx_module_link=$HTTP_IMAGE_FILTER
  249. . auto/module
  250. fi
  251. if [ $HTTP_SUB = YES ]; then
  252. ngx_module_name=ngx_http_sub_filter_module
  253. ngx_module_incs=
  254. ngx_module_deps=
  255. ngx_module_srcs=src/http/modules/ngx_http_sub_filter_module.c
  256. ngx_module_libs=
  257. ngx_module_link=$HTTP_SUB
  258. . auto/module
  259. fi
  260. if [ $HTTP_ADDITION = YES ]; then
  261. ngx_module_name=ngx_http_addition_filter_module
  262. ngx_module_incs=
  263. ngx_module_deps=
  264. ngx_module_srcs=src/http/modules/ngx_http_addition_filter_module.c
  265. ngx_module_libs=
  266. ngx_module_link=$HTTP_ADDITION
  267. . auto/module
  268. fi
  269. if [ $HTTP_GUNZIP = YES ]; then
  270. have=NGX_HTTP_GZIP . auto/have
  271. USE_ZLIB=YES
  272. ngx_module_name=ngx_http_gunzip_filter_module
  273. ngx_module_incs=
  274. ngx_module_deps=
  275. ngx_module_srcs=src/http/modules/ngx_http_gunzip_filter_module.c
  276. ngx_module_libs=
  277. ngx_module_link=$HTTP_GUNZIP
  278. . auto/module
  279. fi
  280. if [ $HTTP_USERID = YES ]; then
  281. ngx_module_name=ngx_http_userid_filter_module
  282. ngx_module_incs=
  283. ngx_module_deps=
  284. ngx_module_srcs=src/http/modules/ngx_http_userid_filter_module.c
  285. ngx_module_libs=
  286. ngx_module_link=$HTTP_USERID
  287. . auto/module
  288. fi
  289. if :; then
  290. ngx_module_name=ngx_http_headers_filter_module
  291. ngx_module_incs=
  292. ngx_module_deps=
  293. ngx_module_srcs=src/http/modules/ngx_http_headers_filter_module.c
  294. ngx_module_libs=
  295. ngx_module_link=YES
  296. . auto/module
  297. fi
  298. ngx_module_type=HTTP_INIT_FILTER
  299. HTTP_INIT_FILTER_MODULES=
  300. if :; then
  301. ngx_module_name=ngx_http_copy_filter_module
  302. ngx_module_incs=
  303. ngx_module_deps=
  304. ngx_module_srcs=src/http/ngx_http_copy_filter_module.c
  305. ngx_module_libs=
  306. ngx_module_link=YES
  307. . auto/module
  308. fi
  309. if :; then
  310. ngx_module_name=ngx_http_range_body_filter_module
  311. ngx_module_incs=
  312. ngx_module_deps=
  313. ngx_module_srcs=
  314. ngx_module_libs=
  315. ngx_module_link=YES
  316. . auto/module
  317. fi
  318. if :; then
  319. ngx_module_name=ngx_http_not_modified_filter_module
  320. ngx_module_incs=
  321. ngx_module_deps=
  322. ngx_module_srcs=src/http/modules/ngx_http_not_modified_filter_module.c
  323. ngx_module_libs=
  324. ngx_module_link=YES
  325. . auto/module
  326. fi
  327. if [ $HTTP_SLICE = YES ]; then
  328. ngx_module_name=ngx_http_slice_filter_module
  329. ngx_module_incs=
  330. ngx_module_deps=
  331. ngx_module_srcs=src/http/modules/ngx_http_slice_filter_module.c
  332. ngx_module_libs=
  333. ngx_module_link=$HTTP_SLICE
  334. . auto/module
  335. fi
  336. ngx_module_type=HTTP
  337. if [ $HTTP_V2 = YES ]; then
  338. have=NGX_HTTP_V2 . auto/have
  339. have=NGX_HTTP_HEADERS . auto/have
  340. ngx_module_name=ngx_http_v2_module
  341. ngx_module_incs=src/http/v2
  342. ngx_module_deps="src/http/v2/ngx_http_v2.h \
  343. src/http/v2/ngx_http_v2_module.h"
  344. ngx_module_srcs="src/http/v2/ngx_http_v2.c \
  345. src/http/v2/ngx_http_v2_table.c \
  346. src/http/v2/ngx_http_v2_encode.c \
  347. src/http/v2/ngx_http_v2_module.c"
  348. ngx_module_libs=
  349. ngx_module_link=$HTTP_V2
  350. . auto/module
  351. fi
  352. if :; then
  353. ngx_module_name=ngx_http_static_module
  354. ngx_module_incs=
  355. ngx_module_deps=
  356. ngx_module_srcs=src/http/modules/ngx_http_static_module.c
  357. ngx_module_libs=
  358. ngx_module_link=YES
  359. . auto/module
  360. fi
  361. if [ $HTTP_GZIP_STATIC = YES ]; then
  362. have=NGX_HTTP_GZIP . auto/have
  363. ngx_module_name=ngx_http_gzip_static_module
  364. ngx_module_incs=
  365. ngx_module_deps=
  366. ngx_module_srcs=src/http/modules/ngx_http_gzip_static_module.c
  367. ngx_module_libs=
  368. ngx_module_link=$HTTP_GZIP_STATIC
  369. . auto/module
  370. fi
  371. if [ $HTTP_DAV = YES ]; then
  372. have=NGX_HTTP_DAV . auto/have
  373. ngx_module_name=ngx_http_dav_module
  374. ngx_module_incs=
  375. ngx_module_deps=
  376. ngx_module_srcs=src/http/modules/ngx_http_dav_module.c
  377. ngx_module_libs=
  378. ngx_module_link=$HTTP_DAV
  379. . auto/module
  380. fi
  381. if [ $HTTP_AUTOINDEX = YES ]; then
  382. ngx_module_name=ngx_http_autoindex_module
  383. ngx_module_incs=
  384. ngx_module_deps=
  385. ngx_module_srcs=src/http/modules/ngx_http_autoindex_module.c
  386. ngx_module_libs=
  387. ngx_module_link=$HTTP_AUTOINDEX
  388. . auto/module
  389. fi
  390. if :; then
  391. ngx_module_name=ngx_http_index_module
  392. ngx_module_incs=
  393. ngx_module_deps=
  394. ngx_module_srcs=src/http/modules/ngx_http_index_module.c
  395. ngx_module_libs=
  396. ngx_module_link=YES
  397. . auto/module
  398. fi
  399. if [ $HTTP_RANDOM_INDEX = YES ]; then
  400. ngx_module_name=ngx_http_random_index_module
  401. ngx_module_incs=
  402. ngx_module_deps=
  403. ngx_module_srcs=src/http/modules/ngx_http_random_index_module.c
  404. ngx_module_libs=
  405. ngx_module_link=$HTTP_RANDOM_INDEX
  406. . auto/module
  407. fi
  408. if [ $HTTP_MIRROR = YES ]; then
  409. ngx_module_name=ngx_http_mirror_module
  410. ngx_module_incs=
  411. ngx_module_deps=
  412. ngx_module_srcs=src/http/modules/ngx_http_mirror_module.c
  413. ngx_module_libs=
  414. ngx_module_link=$HTTP_MIRROR
  415. . auto/module
  416. fi
  417. if :; then
  418. ngx_module_name=ngx_http_try_files_module
  419. ngx_module_incs=
  420. ngx_module_deps=
  421. ngx_module_srcs=src/http/modules/ngx_http_try_files_module.c
  422. ngx_module_libs=
  423. ngx_module_link=YES
  424. . auto/module
  425. fi
  426. if [ $HTTP_AUTH_REQUEST = YES ]; then
  427. ngx_module_name=ngx_http_auth_request_module
  428. ngx_module_incs=
  429. ngx_module_deps=
  430. ngx_module_srcs=src/http/modules/ngx_http_auth_request_module.c
  431. ngx_module_libs=
  432. ngx_module_link=$HTTP_AUTH_REQUEST
  433. . auto/module
  434. fi
  435. if [ $HTTP_AUTH_BASIC = YES ]; then
  436. have=NGX_CRYPT . auto/have
  437. ngx_module_name=ngx_http_auth_basic_module
  438. ngx_module_incs=
  439. ngx_module_deps=
  440. ngx_module_srcs=src/http/modules/ngx_http_auth_basic_module.c
  441. ngx_module_libs=$CRYPT_LIB
  442. ngx_module_link=$HTTP_AUTH_BASIC
  443. . auto/module
  444. fi
  445. if [ $HTTP_ACCESS = YES ]; then
  446. ngx_module_name=ngx_http_access_module
  447. ngx_module_incs=
  448. ngx_module_deps=
  449. ngx_module_srcs=src/http/modules/ngx_http_access_module.c
  450. ngx_module_libs=
  451. ngx_module_link=$HTTP_ACCESS
  452. . auto/module
  453. fi
  454. if [ $HTTP_LIMIT_CONN = YES ]; then
  455. ngx_module_name=ngx_http_limit_conn_module
  456. ngx_module_incs=
  457. ngx_module_deps=
  458. ngx_module_srcs=src/http/modules/ngx_http_limit_conn_module.c
  459. ngx_module_libs=
  460. ngx_module_link=$HTTP_LIMIT_CONN
  461. . auto/module
  462. fi
  463. if [ $HTTP_LIMIT_REQ = YES ]; then
  464. ngx_module_name=ngx_http_limit_req_module
  465. ngx_module_incs=
  466. ngx_module_deps=
  467. ngx_module_srcs=src/http/modules/ngx_http_limit_req_module.c
  468. ngx_module_libs=
  469. ngx_module_link=$HTTP_LIMIT_REQ
  470. . auto/module
  471. fi
  472. if [ $HTTP_REALIP = YES ]; then
  473. have=NGX_HTTP_REALIP . auto/have
  474. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  475. ngx_module_name=ngx_http_realip_module
  476. ngx_module_incs=
  477. ngx_module_deps=
  478. ngx_module_srcs=src/http/modules/ngx_http_realip_module.c
  479. ngx_module_libs=
  480. ngx_module_link=$HTTP_REALIP
  481. . auto/module
  482. fi
  483. if [ $HTTP_STATUS = YES ]; then
  484. ngx_module_name=ngx_http_status_module
  485. ngx_module_incs=
  486. ngx_module_deps=
  487. ngx_module_srcs=src/http/modules/ngx_http_status_module.c
  488. ngx_module_libs=
  489. ngx_module_link=$HTTP_STATUS
  490. . auto/module
  491. fi
  492. if [ $HTTP_GEO = YES ]; then
  493. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  494. ngx_module_name=ngx_http_geo_module
  495. ngx_module_incs=
  496. ngx_module_deps=
  497. ngx_module_srcs=src/http/modules/ngx_http_geo_module.c
  498. ngx_module_libs=
  499. ngx_module_link=$HTTP_GEO
  500. . auto/module
  501. fi
  502. if [ $HTTP_GEOIP != NO ]; then
  503. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  504. ngx_module_name=ngx_http_geoip_module
  505. ngx_module_incs=
  506. ngx_module_deps=
  507. ngx_module_srcs=src/http/modules/ngx_http_geoip_module.c
  508. ngx_module_libs=GEOIP
  509. ngx_module_link=$HTTP_GEOIP
  510. . auto/module
  511. fi
  512. if [ $HTTP_MAP = YES ]; then
  513. ngx_module_name=ngx_http_map_module
  514. ngx_module_incs=
  515. ngx_module_deps=
  516. ngx_module_srcs=src/http/modules/ngx_http_map_module.c
  517. ngx_module_libs=
  518. ngx_module_link=$HTTP_MAP
  519. . auto/module
  520. fi
  521. if [ $HTTP_SPLIT_CLIENTS = YES ]; then
  522. ngx_module_name=ngx_http_split_clients_module
  523. ngx_module_incs=
  524. ngx_module_deps=
  525. ngx_module_srcs=src/http/modules/ngx_http_split_clients_module.c
  526. ngx_module_libs=
  527. ngx_module_link=$HTTP_SPLIT_CLIENTS
  528. . auto/module
  529. fi
  530. if [ $HTTP_REFERER = YES ]; then
  531. ngx_module_name=ngx_http_referer_module
  532. ngx_module_incs=
  533. ngx_module_deps=
  534. ngx_module_srcs=src/http/modules/ngx_http_referer_module.c
  535. ngx_module_libs=
  536. ngx_module_link=$HTTP_REFERER
  537. . auto/module
  538. fi
  539. if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
  540. USE_PCRE=YES
  541. ngx_module_name=ngx_http_rewrite_module
  542. ngx_module_incs=
  543. ngx_module_deps=
  544. ngx_module_srcs=src/http/modules/ngx_http_rewrite_module.c
  545. ngx_module_libs=
  546. ngx_module_link=$HTTP_REWRITE
  547. . auto/module
  548. fi
  549. if [ $HTTP_SSL = YES ]; then
  550. USE_OPENSSL=YES
  551. have=NGX_HTTP_SSL . auto/have
  552. ngx_module_name=ngx_http_ssl_module
  553. ngx_module_incs=
  554. ngx_module_deps=src/http/modules/ngx_http_ssl_module.h
  555. ngx_module_srcs=src/http/modules/ngx_http_ssl_module.c
  556. ngx_module_libs=
  557. ngx_module_link=$HTTP_SSL
  558. . auto/module
  559. fi
  560. if [ $HTTP_PROXY = YES ]; then
  561. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  562. ngx_module_name=ngx_http_proxy_module
  563. ngx_module_incs=
  564. ngx_module_deps=
  565. ngx_module_srcs=src/http/modules/ngx_http_proxy_module.c
  566. ngx_module_libs=
  567. ngx_module_link=$HTTP_PROXY
  568. . auto/module
  569. fi
  570. if [ $HTTP_FASTCGI = YES ]; then
  571. ngx_module_name=ngx_http_fastcgi_module
  572. ngx_module_incs=
  573. ngx_module_deps=
  574. ngx_module_srcs=src/http/modules/ngx_http_fastcgi_module.c
  575. ngx_module_libs=
  576. ngx_module_link=$HTTP_FASTCGI
  577. . auto/module
  578. fi
  579. if [ $HTTP_UWSGI = YES ]; then
  580. ngx_module_name=ngx_http_uwsgi_module
  581. ngx_module_incs=
  582. ngx_module_deps=
  583. ngx_module_srcs=src/http/modules/ngx_http_uwsgi_module.c
  584. ngx_module_libs=
  585. ngx_module_link=$HTTP_UWSGI
  586. . auto/module
  587. fi
  588. if [ $HTTP_SCGI = YES ]; then
  589. ngx_module_name=ngx_http_scgi_module
  590. ngx_module_incs=
  591. ngx_module_deps=
  592. ngx_module_srcs=src/http/modules/ngx_http_scgi_module.c
  593. ngx_module_libs=
  594. ngx_module_link=$HTTP_SCGI
  595. . auto/module
  596. fi
  597. if [ $HTTP_GRPC = YES -a $HTTP_V2 = YES ]; then
  598. ngx_module_name=ngx_http_grpc_module
  599. ngx_module_incs=
  600. ngx_module_deps=
  601. ngx_module_srcs=src/http/modules/ngx_http_grpc_module.c
  602. ngx_module_libs=
  603. ngx_module_link=$HTTP_GRPC
  604. . auto/module
  605. fi
  606. if [ $HTTP_PERL != NO ]; then
  607. ngx_module_name=ngx_http_perl_module
  608. ngx_module_incs=src/http/modules/perl
  609. ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h
  610. ngx_module_srcs=src/http/modules/perl/ngx_http_perl_module.c
  611. ngx_module_libs=PERL
  612. ngx_module_link=$HTTP_PERL
  613. . auto/module
  614. fi
  615. if [ $HTTP_MEMCACHED = YES ]; then
  616. ngx_module_name=ngx_http_memcached_module
  617. ngx_module_incs=
  618. ngx_module_deps=
  619. ngx_module_srcs=src/http/modules/ngx_http_memcached_module.c
  620. ngx_module_libs=
  621. ngx_module_link=$HTTP_MEMCACHED
  622. . auto/module
  623. fi
  624. if [ $HTTP_EMPTY_GIF = YES ]; then
  625. ngx_module_name=ngx_http_empty_gif_module
  626. ngx_module_incs=
  627. ngx_module_deps=
  628. ngx_module_srcs=src/http/modules/ngx_http_empty_gif_module.c
  629. ngx_module_libs=
  630. ngx_module_link=$HTTP_EMPTY_GIF
  631. . auto/module
  632. fi
  633. if [ $HTTP_BROWSER = YES ]; then
  634. ngx_module_name=ngx_http_browser_module
  635. ngx_module_incs=
  636. ngx_module_deps=
  637. ngx_module_srcs=src/http/modules/ngx_http_browser_module.c
  638. ngx_module_libs=
  639. ngx_module_link=$HTTP_BROWSER
  640. . auto/module
  641. fi
  642. if [ $HTTP_SECURE_LINK = YES ]; then
  643. ngx_module_name=ngx_http_secure_link_module
  644. ngx_module_incs=
  645. ngx_module_deps=
  646. ngx_module_srcs=src/http/modules/ngx_http_secure_link_module.c
  647. ngx_module_libs=
  648. ngx_module_link=$HTTP_SECURE_LINK
  649. . auto/module
  650. fi
  651. if [ $HTTP_DEGRADATION = YES ]; then
  652. have=NGX_HTTP_DEGRADATION . auto/have
  653. ngx_module_name=ngx_http_degradation_module
  654. ngx_module_incs=
  655. ngx_module_deps=
  656. ngx_module_srcs=src/http/modules/ngx_http_degradation_module.c
  657. ngx_module_libs=
  658. ngx_module_link=$HTTP_DEGRADATION
  659. . auto/module
  660. fi
  661. if [ $HTTP_FLV = YES ]; then
  662. ngx_module_name=ngx_http_flv_module
  663. ngx_module_incs=
  664. ngx_module_deps=
  665. ngx_module_srcs=src/http/modules/ngx_http_flv_module.c
  666. ngx_module_libs=
  667. ngx_module_link=$HTTP_FLV
  668. . auto/module
  669. fi
  670. if [ $HTTP_MP4 = YES ]; then
  671. ngx_module_name=ngx_http_mp4_module
  672. ngx_module_incs=
  673. ngx_module_deps=
  674. ngx_module_srcs=src/http/modules/ngx_http_mp4_module.c
  675. ngx_module_libs=
  676. ngx_module_link=$HTTP_MP4
  677. . auto/module
  678. fi
  679. if [ $HTTP_UPSTREAM_HASH = YES ]; then
  680. ngx_module_name=ngx_http_upstream_hash_module
  681. ngx_module_incs=
  682. ngx_module_deps=
  683. ngx_module_srcs=src/http/modules/ngx_http_upstream_hash_module.c
  684. ngx_module_libs=
  685. ngx_module_link=$HTTP_UPSTREAM_HASH
  686. . auto/module
  687. fi
  688. if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
  689. ngx_module_name=ngx_http_upstream_ip_hash_module
  690. ngx_module_incs=
  691. ngx_module_deps=
  692. ngx_module_srcs=src/http/modules/ngx_http_upstream_ip_hash_module.c
  693. ngx_module_libs=
  694. ngx_module_link=$HTTP_UPSTREAM_IP_HASH
  695. . auto/module
  696. fi
  697. if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
  698. ngx_module_name=ngx_http_upstream_least_conn_module
  699. ngx_module_incs=
  700. ngx_module_deps=
  701. ngx_module_srcs=src/http/modules/ngx_http_upstream_least_conn_module.c
  702. ngx_module_libs=
  703. ngx_module_link=$HTTP_UPSTREAM_LEAST_CONN
  704. . auto/module
  705. fi
  706. if [ $HTTP_UPSTREAM_RANDOM = YES ]; then
  707. ngx_module_name=ngx_http_upstream_random_module
  708. ngx_module_incs=
  709. ngx_module_deps=
  710. ngx_module_srcs=src/http/modules/ngx_http_upstream_random_module.c
  711. ngx_module_libs=
  712. ngx_module_link=$HTTP_UPSTREAM_RANDOM
  713. . auto/module
  714. fi
  715. if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
  716. ngx_module_name=ngx_http_upstream_keepalive_module
  717. ngx_module_incs=
  718. ngx_module_deps=
  719. ngx_module_srcs=src/http/modules/ngx_http_upstream_keepalive_module.c
  720. ngx_module_libs=
  721. ngx_module_link=$HTTP_UPSTREAM_KEEPALIVE
  722. . auto/module
  723. fi
  724. if [ $HTTP_UPSTREAM_ZONE = YES ]; then
  725. have=NGX_HTTP_UPSTREAM_ZONE . auto/have
  726. ngx_module_name=ngx_http_upstream_zone_module
  727. ngx_module_incs=
  728. ngx_module_deps=
  729. ngx_module_srcs=src/http/modules/ngx_http_upstream_zone_module.c
  730. ngx_module_libs=
  731. ngx_module_link=$HTTP_UPSTREAM_ZONE
  732. . auto/module
  733. fi
  734. if [ $HTTP_STUB_STATUS = YES ]; then
  735. have=NGX_STAT_STUB . auto/have
  736. ngx_module_name=ngx_http_stub_status_module
  737. ngx_module_incs=
  738. ngx_module_deps=
  739. ngx_module_srcs=src/http/modules/ngx_http_stub_status_module.c
  740. ngx_module_libs=
  741. ngx_module_link=$HTTP_STUB_STATUS
  742. . auto/module
  743. fi
  744. fi
  745. if [ $MAIL != NO ]; then
  746. MAIL_MODULES=
  747. MAIL_DEPS=
  748. MAIL_INCS=
  749. ngx_module_type=MAIL
  750. ngx_module_libs=
  751. ngx_module_link=YES
  752. ngx_module_order=
  753. ngx_module_name="ngx_mail_module ngx_mail_core_module"
  754. ngx_module_incs="src/mail"
  755. ngx_module_deps="src/mail/ngx_mail.h"
  756. ngx_module_srcs="src/mail/ngx_mail.c \
  757. src/mail/ngx_mail_core_module.c \
  758. src/mail/ngx_mail_handler.c \
  759. src/mail/ngx_mail_parse.c"
  760. . auto/module
  761. ngx_module_incs=
  762. if [ $MAIL_SSL = YES ]; then
  763. USE_OPENSSL=YES
  764. have=NGX_MAIL_SSL . auto/have
  765. ngx_module_name=ngx_mail_ssl_module
  766. ngx_module_deps=src/mail/ngx_mail_ssl_module.h
  767. ngx_module_srcs=src/mail/ngx_mail_ssl_module.c
  768. . auto/module
  769. fi
  770. if [ $MAIL_POP3 = YES ]; then
  771. ngx_module_name=ngx_mail_pop3_module
  772. ngx_module_deps=src/mail/ngx_mail_pop3_module.h
  773. ngx_module_srcs="src/mail/ngx_mail_pop3_module.c \
  774. src/mail/ngx_mail_pop3_handler.c"
  775. . auto/module
  776. fi
  777. if [ $MAIL_IMAP = YES ]; then
  778. ngx_module_name=ngx_mail_imap_module
  779. ngx_module_deps=src/mail/ngx_mail_imap_module.h
  780. ngx_module_srcs="src/mail/ngx_mail_imap_module.c \
  781. src/mail/ngx_mail_imap_handler.c"
  782. . auto/module
  783. fi
  784. if [ $MAIL_SMTP = YES ]; then
  785. ngx_module_name=ngx_mail_smtp_module
  786. ngx_module_deps=src/mail/ngx_mail_smtp_module.h
  787. ngx_module_srcs="src/mail/ngx_mail_smtp_module.c \
  788. src/mail/ngx_mail_smtp_handler.c"
  789. . auto/module
  790. fi
  791. ngx_module_name=ngx_mail_auth_http_module
  792. ngx_module_deps=
  793. ngx_module_srcs=src/mail/ngx_mail_auth_http_module.c
  794. . auto/module
  795. ngx_module_name=ngx_mail_proxy_module
  796. ngx_module_deps=
  797. ngx_module_srcs=src/mail/ngx_mail_proxy_module.c
  798. . auto/module
  799. ngx_module_name=ngx_mail_realip_module
  800. ngx_module_deps=
  801. ngx_module_srcs=src/mail/ngx_mail_realip_module.c
  802. . auto/module
  803. fi
  804. if [ $STREAM != NO ]; then
  805. STREAM_MODULES=
  806. STREAM_DEPS=
  807. STREAM_INCS=
  808. ngx_module_type=STREAM
  809. ngx_module_libs=
  810. ngx_module_link=YES
  811. ngx_module_order=
  812. ngx_module_name="ngx_stream_module \
  813. ngx_stream_core_module \
  814. ngx_stream_log_module \
  815. ngx_stream_proxy_module \
  816. ngx_stream_upstream_module \
  817. ngx_stream_write_filter_module"
  818. ngx_module_incs="src/stream"
  819. ngx_module_deps="src/stream/ngx_stream.h \
  820. src/stream/ngx_stream_variables.h \
  821. src/stream/ngx_stream_script.h \
  822. src/stream/ngx_stream_upstream.h \
  823. src/stream/ngx_stream_upstream_round_robin.h"
  824. ngx_module_srcs="src/stream/ngx_stream.c \
  825. src/stream/ngx_stream_variables.c \
  826. src/stream/ngx_stream_script.c \
  827. src/stream/ngx_stream_handler.c \
  828. src/stream/ngx_stream_core_module.c \
  829. src/stream/ngx_stream_log_module.c \
  830. src/stream/ngx_stream_proxy_module.c \
  831. src/stream/ngx_stream_upstream.c \
  832. src/stream/ngx_stream_upstream_round_robin.c \
  833. src/stream/ngx_stream_write_filter_module.c"
  834. . auto/module
  835. ngx_module_incs=
  836. if [ $STREAM_SSL = YES ]; then
  837. USE_OPENSSL=YES
  838. have=NGX_STREAM_SSL . auto/have
  839. ngx_module_name=ngx_stream_ssl_module
  840. ngx_module_deps=src/stream/ngx_stream_ssl_module.h
  841. ngx_module_srcs=src/stream/ngx_stream_ssl_module.c
  842. ngx_module_libs=
  843. ngx_module_link=$STREAM_SSL
  844. . auto/module
  845. fi
  846. if [ $STREAM_REALIP = YES ]; then
  847. ngx_module_name=ngx_stream_realip_module
  848. ngx_module_deps=
  849. ngx_module_srcs=src/stream/ngx_stream_realip_module.c
  850. ngx_module_libs=
  851. ngx_module_link=$STREAM_REALIP
  852. . auto/module
  853. fi
  854. if [ $STREAM_LIMIT_CONN = YES ]; then
  855. ngx_module_name=ngx_stream_limit_conn_module
  856. ngx_module_deps=
  857. ngx_module_srcs=src/stream/ngx_stream_limit_conn_module.c
  858. ngx_module_libs=
  859. ngx_module_link=$STREAM_LIMIT_CONN
  860. . auto/module
  861. fi
  862. if [ $STREAM_ACCESS = YES ]; then
  863. ngx_module_name=ngx_stream_access_module
  864. ngx_module_deps=
  865. ngx_module_srcs=src/stream/ngx_stream_access_module.c
  866. ngx_module_libs=
  867. ngx_module_link=$STREAM_ACCESS
  868. . auto/module
  869. fi
  870. if [ $STREAM_GEO = YES ]; then
  871. ngx_module_name=ngx_stream_geo_module
  872. ngx_module_deps=
  873. ngx_module_srcs=src/stream/ngx_stream_geo_module.c
  874. ngx_module_libs=
  875. ngx_module_link=$STREAM_GEO
  876. . auto/module
  877. fi
  878. if [ $STREAM_GEOIP != NO ]; then
  879. ngx_module_name=ngx_stream_geoip_module
  880. ngx_module_deps=
  881. ngx_module_srcs=src/stream/ngx_stream_geoip_module.c
  882. ngx_module_libs=GEOIP
  883. ngx_module_link=$STREAM_GEOIP
  884. . auto/module
  885. fi
  886. if [ $STREAM_MAP = YES ]; then
  887. ngx_module_name=ngx_stream_map_module
  888. ngx_module_deps=
  889. ngx_module_srcs=src/stream/ngx_stream_map_module.c
  890. ngx_module_libs=
  891. ngx_module_link=$STREAM_MAP
  892. . auto/module
  893. fi
  894. if [ $STREAM_SPLIT_CLIENTS = YES ]; then
  895. ngx_module_name=ngx_stream_split_clients_module
  896. ngx_module_deps=
  897. ngx_module_srcs=src/stream/ngx_stream_split_clients_module.c
  898. ngx_module_libs=
  899. ngx_module_link=$STREAM_SPLIT_CLIENTS
  900. . auto/module
  901. fi
  902. if [ $STREAM_RETURN = YES ]; then
  903. ngx_module_name=ngx_stream_return_module
  904. ngx_module_deps=
  905. ngx_module_srcs=src/stream/ngx_stream_return_module.c
  906. ngx_module_libs=
  907. ngx_module_link=$STREAM_RETURN
  908. . auto/module
  909. fi
  910. if [ $STREAM_SET = YES ]; then
  911. ngx_module_name=ngx_stream_set_module
  912. ngx_module_deps=
  913. ngx_module_srcs=src/stream/ngx_stream_set_module.c
  914. ngx_module_libs=
  915. ngx_module_link=$STREAM_SET
  916. . auto/module
  917. fi
  918. if [ $STREAM_UPSTREAM_HASH = YES ]; then
  919. ngx_module_name=ngx_stream_upstream_hash_module
  920. ngx_module_deps=
  921. ngx_module_srcs=src/stream/ngx_stream_upstream_hash_module.c
  922. ngx_module_libs=
  923. ngx_module_link=$STREAM_UPSTREAM_HASH
  924. . auto/module
  925. fi
  926. if [ $STREAM_UPSTREAM_LEAST_CONN = YES ]; then
  927. ngx_module_name=ngx_stream_upstream_least_conn_module
  928. ngx_module_deps=
  929. ngx_module_srcs=src/stream/ngx_stream_upstream_least_conn_module.c
  930. ngx_module_libs=
  931. ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN
  932. . auto/module
  933. fi
  934. if [ $STREAM_UPSTREAM_RANDOM = YES ]; then
  935. ngx_module_name=ngx_stream_upstream_random_module
  936. ngx_module_deps=
  937. ngx_module_srcs=src/stream/ngx_stream_upstream_random_module.c
  938. ngx_module_libs=
  939. ngx_module_link=$STREAM_UPSTREAM_RANDOM
  940. . auto/module
  941. fi
  942. if [ $STREAM_UPSTREAM_ZONE = YES ]; then
  943. have=NGX_STREAM_UPSTREAM_ZONE . auto/have
  944. ngx_module_name=ngx_stream_upstream_zone_module
  945. ngx_module_deps=
  946. ngx_module_srcs=src/stream/ngx_stream_upstream_zone_module.c
  947. ngx_module_libs=
  948. ngx_module_link=$STREAM_UPSTREAM_ZONE
  949. . auto/module
  950. fi
  951. if [ $STREAM_SSL_PREREAD = YES ]; then
  952. ngx_module_name=ngx_stream_ssl_preread_module
  953. ngx_module_deps=
  954. ngx_module_srcs=src/stream/ngx_stream_ssl_preread_module.c
  955. ngx_module_libs=
  956. ngx_module_link=$STREAM_SSL_PREREAD
  957. . auto/module
  958. fi
  959. fi
  960. #if [ -r $NGX_OBJS/auto ]; then
  961. # . $NGX_OBJS/auto
  962. #fi
  963. if test -n "$NGX_ADDONS"; then
  964. echo configuring additional modules
  965. for ngx_addon_dir in $NGX_ADDONS
  966. do
  967. echo "adding module in $ngx_addon_dir"
  968. ngx_module_type=
  969. ngx_module_name=
  970. ngx_module_incs=
  971. ngx_module_deps=
  972. ngx_module_srcs=
  973. ngx_module_libs=
  974. ngx_module_order=
  975. ngx_module_link=ADDON
  976. if test -f $ngx_addon_dir/config; then
  977. . $ngx_addon_dir/config
  978. echo " + $ngx_addon_name was configured"
  979. else
  980. echo "$0: error: no $ngx_addon_dir/config was found"
  981. exit 1
  982. fi
  983. done
  984. fi
  985. if test -n "$DYNAMIC_ADDONS"; then
  986. echo configuring additional dynamic modules
  987. for ngx_addon_dir in $DYNAMIC_ADDONS
  988. do
  989. echo "adding module in $ngx_addon_dir"
  990. ngx_module_type=
  991. ngx_module_name=
  992. ngx_module_incs=
  993. ngx_module_deps=
  994. ngx_module_srcs=
  995. ngx_module_libs=
  996. ngx_module_order=
  997. ngx_module_link=DYNAMIC
  998. if test -f $ngx_addon_dir/config; then
  999. . $ngx_addon_dir/config
  1000. echo " + $ngx_addon_name was configured"
  1001. else
  1002. echo "$0: error: no $ngx_addon_dir/config was found"
  1003. exit 1
  1004. fi
  1005. done
  1006. fi
  1007. if [ $USE_OPENSSL = YES ]; then
  1008. ngx_module_type=CORE
  1009. ngx_module_name=ngx_openssl_module
  1010. ngx_module_incs=
  1011. ngx_module_deps=src/event/ngx_event_openssl.h
  1012. ngx_module_srcs="src/event/ngx_event_openssl.c
  1013. src/event/ngx_event_openssl_stapling.c"
  1014. ngx_module_libs=
  1015. ngx_module_link=YES
  1016. ngx_module_order=
  1017. . auto/module
  1018. fi
  1019. if [ $USE_PCRE = YES ]; then
  1020. ngx_module_type=CORE
  1021. ngx_module_name=ngx_regex_module
  1022. ngx_module_incs=
  1023. ngx_module_deps=src/core/ngx_regex.h
  1024. ngx_module_srcs=src/core/ngx_regex.c
  1025. ngx_module_libs=
  1026. ngx_module_link=YES
  1027. ngx_module_order=
  1028. . auto/module
  1029. fi
  1030. modules="$CORE_MODULES $EVENT_MODULES"
  1031. # thread pool module should be initialized after events
  1032. if [ $USE_THREADS = YES ]; then
  1033. modules="$modules $THREAD_POOL_MODULE"
  1034. fi
  1035. if [ $HTTP = YES ]; then
  1036. modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
  1037. $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES"
  1038. NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
  1039. fi
  1040. if [ $MAIL != NO ]; then
  1041. if [ $MAIL = YES ]; then
  1042. modules="$modules $MAIL_MODULES"
  1043. elif [ $MAIL = DYNAMIC ]; then
  1044. ngx_module_name=$MAIL_MODULES
  1045. ngx_module_incs=
  1046. ngx_module_deps=
  1047. ngx_module_srcs=$MAIL_SRCS
  1048. ngx_module_libs=
  1049. ngx_module_link=DYNAMIC
  1050. . auto/module
  1051. fi
  1052. NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)"
  1053. fi
  1054. if [ $STREAM != NO ]; then
  1055. if [ $STREAM = YES ]; then
  1056. modules="$modules $STREAM_MODULES"
  1057. elif [ $STREAM = DYNAMIC ]; then
  1058. ngx_module_name=$STREAM_MODULES
  1059. ngx_module_incs=
  1060. ngx_module_deps=
  1061. ngx_module_srcs=$STREAM_SRCS
  1062. ngx_module_libs=
  1063. ngx_module_link=DYNAMIC
  1064. . auto/module
  1065. fi
  1066. NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)"
  1067. fi
  1068. ngx_module_type=MISC
  1069. MISC_MODULES=
  1070. if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
  1071. ngx_module_name=ngx_google_perftools_module
  1072. ngx_module_incs=
  1073. ngx_module_deps=
  1074. ngx_module_srcs=src/misc/ngx_google_perftools_module.c
  1075. ngx_module_libs=
  1076. ngx_module_link=$NGX_GOOGLE_PERFTOOLS
  1077. . auto/module
  1078. fi
  1079. if [ $NGX_CPP_TEST = YES ]; then
  1080. ngx_module_name=
  1081. ngx_module_incs=
  1082. ngx_module_deps=
  1083. ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp
  1084. ngx_module_libs=-lstdc++
  1085. ngx_module_link=$NGX_CPP_TEST
  1086. . auto/module
  1087. fi
  1088. modules="$modules $MISC_MODULES"
  1089. if [ $NGX_COMPAT = YES ]; then
  1090. have=NGX_COMPAT . auto/have
  1091. have=NGX_HTTP_GZIP . auto/have
  1092. have=NGX_HTTP_DAV . auto/have
  1093. have=NGX_HTTP_REALIP . auto/have
  1094. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  1095. have=NGX_HTTP_HEADERS . auto/have
  1096. have=NGX_HTTP_UPSTREAM_ZONE . auto/have
  1097. have=NGX_STREAM_UPSTREAM_ZONE . auto/have
  1098. fi
  1099. cat << END > $NGX_MODULES_C
  1100. #include <ngx_config.h>
  1101. #include <ngx_core.h>
  1102. $NGX_PRAGMA
  1103. END
  1104. for mod in $modules
  1105. do
  1106. echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
  1107. done
  1108. echo >> $NGX_MODULES_C
  1109. echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
  1110. for mod in $modules
  1111. do
  1112. echo " &$mod," >> $NGX_MODULES_C
  1113. done
  1114. cat << END >> $NGX_MODULES_C
  1115. NULL
  1116. };
  1117. END
  1118. echo 'char *ngx_module_names[] = {' >> $NGX_MODULES_C
  1119. for mod in $modules
  1120. do
  1121. echo " \"$mod\"," >> $NGX_MODULES_C
  1122. done
  1123. cat << END >> $NGX_MODULES_C
  1124. NULL
  1125. };
  1126. END