modules 37 KB

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