modules 38 KB

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