modules 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532
  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 ngx_openssl_cache_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_cache.c
  1054. src/event/ngx_event_openssl_stapling.c"
  1055. ngx_module_libs=
  1056. ngx_module_link=YES
  1057. ngx_module_order=
  1058. . auto/module
  1059. fi
  1060. if [ $USE_OPENSSL_QUIC = YES ]; then
  1061. ngx_module_type=CORE
  1062. ngx_module_name=ngx_quic_module
  1063. ngx_module_incs=
  1064. ngx_module_deps="src/event/quic/ngx_event_quic.h \
  1065. src/event/quic/ngx_event_quic_transport.h \
  1066. src/event/quic/ngx_event_quic_protection.h \
  1067. src/event/quic/ngx_event_quic_connection.h \
  1068. src/event/quic/ngx_event_quic_frames.h \
  1069. src/event/quic/ngx_event_quic_connid.h \
  1070. src/event/quic/ngx_event_quic_migration.h \
  1071. src/event/quic/ngx_event_quic_streams.h \
  1072. src/event/quic/ngx_event_quic_ssl.h \
  1073. src/event/quic/ngx_event_quic_tokens.h \
  1074. src/event/quic/ngx_event_quic_ack.h \
  1075. src/event/quic/ngx_event_quic_output.h \
  1076. src/event/quic/ngx_event_quic_socket.h \
  1077. src/event/quic/ngx_event_quic_openssl_compat.h"
  1078. ngx_module_srcs="src/event/quic/ngx_event_quic.c \
  1079. src/event/quic/ngx_event_quic_udp.c \
  1080. src/event/quic/ngx_event_quic_transport.c \
  1081. src/event/quic/ngx_event_quic_protection.c \
  1082. src/event/quic/ngx_event_quic_frames.c \
  1083. src/event/quic/ngx_event_quic_connid.c \
  1084. src/event/quic/ngx_event_quic_migration.c \
  1085. src/event/quic/ngx_event_quic_streams.c \
  1086. src/event/quic/ngx_event_quic_ssl.c \
  1087. src/event/quic/ngx_event_quic_tokens.c \
  1088. src/event/quic/ngx_event_quic_ack.c \
  1089. src/event/quic/ngx_event_quic_output.c \
  1090. src/event/quic/ngx_event_quic_socket.c \
  1091. src/event/quic/ngx_event_quic_openssl_compat.c"
  1092. ngx_module_libs=
  1093. ngx_module_link=YES
  1094. ngx_module_order=
  1095. . auto/module
  1096. if [ $QUIC_BPF = YES -a $SO_COOKIE_FOUND = YES ]; then
  1097. ngx_module_type=CORE
  1098. ngx_module_name=ngx_quic_bpf_module
  1099. ngx_module_incs=
  1100. ngx_module_deps=
  1101. ngx_module_srcs="src/event/quic/ngx_event_quic_bpf.c \
  1102. src/event/quic/ngx_event_quic_bpf_code.c"
  1103. ngx_module_libs=
  1104. ngx_module_link=YES
  1105. ngx_module_order=
  1106. . auto/module
  1107. have=NGX_QUIC_BPF . auto/have
  1108. fi
  1109. fi
  1110. if [ $USE_PCRE = YES ]; then
  1111. ngx_module_type=CORE
  1112. ngx_module_name=ngx_regex_module
  1113. ngx_module_incs=
  1114. ngx_module_deps=src/core/ngx_regex.h
  1115. ngx_module_srcs=src/core/ngx_regex.c
  1116. ngx_module_libs=
  1117. ngx_module_link=YES
  1118. ngx_module_order=
  1119. . auto/module
  1120. fi
  1121. modules="$CORE_MODULES $EVENT_MODULES"
  1122. # thread pool module should be initialized after events
  1123. if [ $USE_THREADS = YES ]; then
  1124. modules="$modules $THREAD_POOL_MODULE"
  1125. fi
  1126. if [ $HTTP = YES ]; then
  1127. modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
  1128. $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES"
  1129. NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
  1130. fi
  1131. if [ $MAIL != NO ]; then
  1132. if [ $MAIL = YES ]; then
  1133. modules="$modules $MAIL_MODULES"
  1134. elif [ $MAIL = DYNAMIC ]; then
  1135. ngx_module_name=$MAIL_MODULES
  1136. ngx_module_incs=
  1137. ngx_module_deps=
  1138. ngx_module_srcs=$MAIL_SRCS
  1139. ngx_module_libs=
  1140. ngx_module_link=DYNAMIC
  1141. . auto/module
  1142. fi
  1143. NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)"
  1144. fi
  1145. if [ $STREAM != NO ]; then
  1146. if [ $STREAM = YES ]; then
  1147. modules="$modules $STREAM_MODULES"
  1148. elif [ $STREAM = DYNAMIC ]; then
  1149. ngx_module_name=$STREAM_MODULES
  1150. ngx_module_incs=
  1151. ngx_module_deps=
  1152. ngx_module_srcs=$STREAM_SRCS
  1153. ngx_module_libs=
  1154. ngx_module_link=DYNAMIC
  1155. . auto/module
  1156. fi
  1157. NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)"
  1158. fi
  1159. ngx_module_type=MISC
  1160. MISC_MODULES=
  1161. if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
  1162. ngx_module_name=ngx_google_perftools_module
  1163. ngx_module_incs=
  1164. ngx_module_deps=
  1165. ngx_module_srcs=src/misc/ngx_google_perftools_module.c
  1166. ngx_module_libs=
  1167. ngx_module_link=$NGX_GOOGLE_PERFTOOLS
  1168. . auto/module
  1169. fi
  1170. if [ $NGX_CPP_TEST = YES ]; then
  1171. ngx_module_name=
  1172. ngx_module_incs=
  1173. ngx_module_deps=
  1174. ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp
  1175. ngx_module_libs=-lstdc++
  1176. ngx_module_link=$NGX_CPP_TEST
  1177. . auto/module
  1178. fi
  1179. modules="$modules $MISC_MODULES"
  1180. if [ $NGX_COMPAT = YES ]; then
  1181. have=NGX_COMPAT . auto/have
  1182. have=NGX_HTTP_GZIP . auto/have
  1183. have=NGX_HTTP_DAV . auto/have
  1184. have=NGX_HTTP_REALIP . auto/have
  1185. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  1186. have=NGX_HTTP_HEADERS . auto/have
  1187. have=NGX_HTTP_UPSTREAM_ZONE . auto/have
  1188. have=NGX_STREAM_UPSTREAM_ZONE . auto/have
  1189. fi
  1190. cat << END > $NGX_MODULES_C
  1191. #include <ngx_config.h>
  1192. #include <ngx_core.h>
  1193. $NGX_PRAGMA
  1194. END
  1195. for mod in $modules
  1196. do
  1197. echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
  1198. done
  1199. echo >> $NGX_MODULES_C
  1200. echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
  1201. for mod in $modules
  1202. do
  1203. echo " &$mod," >> $NGX_MODULES_C
  1204. done
  1205. cat << END >> $NGX_MODULES_C
  1206. NULL
  1207. };
  1208. END
  1209. echo 'char *ngx_module_names[] = {' >> $NGX_MODULES_C
  1210. for mod in $modules
  1211. do
  1212. echo " \"$mod\"," >> $NGX_MODULES_C
  1213. done
  1214. cat << END >> $NGX_MODULES_C
  1215. NULL
  1216. };
  1217. END