modules 42 KB

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