modules 41 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523
  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. have=NGX_HTTP_HEADERS . auto/have
  351. ngx_module_name=ngx_http_v2_module
  352. ngx_module_incs=src/http/v2
  353. ngx_module_deps="src/http/v2/ngx_http_v2.h \
  354. src/http/v2/ngx_http_v2_module.h"
  355. ngx_module_srcs="src/http/v2/ngx_http_v2.c \
  356. src/http/v2/ngx_http_v2_table.c \
  357. src/http/v2/ngx_http_v2_encode.c \
  358. src/http/v2/ngx_http_v2_module.c"
  359. ngx_module_libs=
  360. ngx_module_link=$HTTP_V2
  361. . auto/module
  362. fi
  363. if [ $HTTP_V3 = YES ]; then
  364. USE_OPENSSL_QUIC=YES
  365. HTTP_SSL=YES
  366. have=NGX_HTTP_V3 . auto/have
  367. have=NGX_HTTP_HEADERS . auto/have
  368. ngx_module_name=ngx_http_v3_module
  369. ngx_module_incs=src/http/v3
  370. ngx_module_deps="src/http/v3/ngx_http_v3.h \
  371. src/http/v3/ngx_http_v3_encode.h \
  372. src/http/v3/ngx_http_v3_parse.h \
  373. src/http/v3/ngx_http_v3_table.h \
  374. src/http/v3/ngx_http_v3_uni.h"
  375. ngx_module_srcs="src/http/v3/ngx_http_v3.c \
  376. src/http/v3/ngx_http_v3_encode.c \
  377. src/http/v3/ngx_http_v3_parse.c \
  378. src/http/v3/ngx_http_v3_table.c \
  379. src/http/v3/ngx_http_v3_uni.c \
  380. src/http/v3/ngx_http_v3_request.c \
  381. src/http/v3/ngx_http_v3_module.c"
  382. ngx_module_libs=
  383. ngx_module_link=$HTTP_V3
  384. . auto/module
  385. fi
  386. if :; then
  387. ngx_module_name=ngx_http_static_module
  388. ngx_module_incs=
  389. ngx_module_deps=
  390. ngx_module_srcs=src/http/modules/ngx_http_static_module.c
  391. ngx_module_libs=
  392. ngx_module_link=YES
  393. . auto/module
  394. fi
  395. if [ $HTTP_GZIP_STATIC = YES ]; then
  396. have=NGX_HTTP_GZIP . auto/have
  397. ngx_module_name=ngx_http_gzip_static_module
  398. ngx_module_incs=
  399. ngx_module_deps=
  400. ngx_module_srcs=src/http/modules/ngx_http_gzip_static_module.c
  401. ngx_module_libs=
  402. ngx_module_link=$HTTP_GZIP_STATIC
  403. . auto/module
  404. fi
  405. if [ $HTTP_DAV = YES ]; then
  406. have=NGX_HTTP_DAV . auto/have
  407. ngx_module_name=ngx_http_dav_module
  408. ngx_module_incs=
  409. ngx_module_deps=
  410. ngx_module_srcs=src/http/modules/ngx_http_dav_module.c
  411. ngx_module_libs=
  412. ngx_module_link=$HTTP_DAV
  413. . auto/module
  414. fi
  415. if [ $HTTP_AUTOINDEX = YES ]; then
  416. ngx_module_name=ngx_http_autoindex_module
  417. ngx_module_incs=
  418. ngx_module_deps=
  419. ngx_module_srcs=src/http/modules/ngx_http_autoindex_module.c
  420. ngx_module_libs=
  421. ngx_module_link=$HTTP_AUTOINDEX
  422. . auto/module
  423. fi
  424. if :; then
  425. ngx_module_name=ngx_http_index_module
  426. ngx_module_incs=
  427. ngx_module_deps=
  428. ngx_module_srcs=src/http/modules/ngx_http_index_module.c
  429. ngx_module_libs=
  430. ngx_module_link=YES
  431. . auto/module
  432. fi
  433. if [ $HTTP_RANDOM_INDEX = YES ]; then
  434. ngx_module_name=ngx_http_random_index_module
  435. ngx_module_incs=
  436. ngx_module_deps=
  437. ngx_module_srcs=src/http/modules/ngx_http_random_index_module.c
  438. ngx_module_libs=
  439. ngx_module_link=$HTTP_RANDOM_INDEX
  440. . auto/module
  441. fi
  442. if [ $HTTP_MIRROR = YES ]; then
  443. ngx_module_name=ngx_http_mirror_module
  444. ngx_module_incs=
  445. ngx_module_deps=
  446. ngx_module_srcs=src/http/modules/ngx_http_mirror_module.c
  447. ngx_module_libs=
  448. ngx_module_link=$HTTP_MIRROR
  449. . auto/module
  450. fi
  451. if :; then
  452. ngx_module_name=ngx_http_try_files_module
  453. ngx_module_incs=
  454. ngx_module_deps=
  455. ngx_module_srcs=src/http/modules/ngx_http_try_files_module.c
  456. ngx_module_libs=
  457. ngx_module_link=YES
  458. . auto/module
  459. fi
  460. if [ $HTTP_AUTH_REQUEST = YES ]; then
  461. ngx_module_name=ngx_http_auth_request_module
  462. ngx_module_incs=
  463. ngx_module_deps=
  464. ngx_module_srcs=src/http/modules/ngx_http_auth_request_module.c
  465. ngx_module_libs=
  466. ngx_module_link=$HTTP_AUTH_REQUEST
  467. . auto/module
  468. fi
  469. if [ $HTTP_AUTH_BASIC = YES ]; then
  470. have=NGX_CRYPT . auto/have
  471. ngx_module_name=ngx_http_auth_basic_module
  472. ngx_module_incs=
  473. ngx_module_deps=
  474. ngx_module_srcs=src/http/modules/ngx_http_auth_basic_module.c
  475. ngx_module_libs=$CRYPT_LIB
  476. ngx_module_link=$HTTP_AUTH_BASIC
  477. . auto/module
  478. fi
  479. if [ $HTTP_ACCESS = YES ]; then
  480. ngx_module_name=ngx_http_access_module
  481. ngx_module_incs=
  482. ngx_module_deps=
  483. ngx_module_srcs=src/http/modules/ngx_http_access_module.c
  484. ngx_module_libs=
  485. ngx_module_link=$HTTP_ACCESS
  486. . auto/module
  487. fi
  488. if [ $HTTP_LIMIT_CONN = YES ]; then
  489. ngx_module_name=ngx_http_limit_conn_module
  490. ngx_module_incs=
  491. ngx_module_deps=
  492. ngx_module_srcs=src/http/modules/ngx_http_limit_conn_module.c
  493. ngx_module_libs=
  494. ngx_module_link=$HTTP_LIMIT_CONN
  495. . auto/module
  496. fi
  497. if [ $HTTP_LIMIT_REQ = YES ]; then
  498. ngx_module_name=ngx_http_limit_req_module
  499. ngx_module_incs=
  500. ngx_module_deps=
  501. ngx_module_srcs=src/http/modules/ngx_http_limit_req_module.c
  502. ngx_module_libs=
  503. ngx_module_link=$HTTP_LIMIT_REQ
  504. . auto/module
  505. fi
  506. if [ $HTTP_REALIP = YES ]; then
  507. have=NGX_HTTP_REALIP . auto/have
  508. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  509. ngx_module_name=ngx_http_realip_module
  510. ngx_module_incs=
  511. ngx_module_deps=
  512. ngx_module_srcs=src/http/modules/ngx_http_realip_module.c
  513. ngx_module_libs=
  514. ngx_module_link=$HTTP_REALIP
  515. . auto/module
  516. fi
  517. if [ $HTTP_STATUS = YES ]; then
  518. ngx_module_name=ngx_http_status_module
  519. ngx_module_incs=
  520. ngx_module_deps=
  521. ngx_module_srcs=src/http/modules/ngx_http_status_module.c
  522. ngx_module_libs=
  523. ngx_module_link=$HTTP_STATUS
  524. . auto/module
  525. fi
  526. if [ $HTTP_GEO = YES ]; then
  527. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  528. ngx_module_name=ngx_http_geo_module
  529. ngx_module_incs=
  530. ngx_module_deps=
  531. ngx_module_srcs=src/http/modules/ngx_http_geo_module.c
  532. ngx_module_libs=
  533. ngx_module_link=$HTTP_GEO
  534. . auto/module
  535. fi
  536. if [ $HTTP_GEOIP != NO ]; then
  537. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  538. ngx_module_name=ngx_http_geoip_module
  539. ngx_module_incs=
  540. ngx_module_deps=
  541. ngx_module_srcs=src/http/modules/ngx_http_geoip_module.c
  542. ngx_module_libs=GEOIP
  543. ngx_module_link=$HTTP_GEOIP
  544. . auto/module
  545. fi
  546. if [ $HTTP_MAP = YES ]; then
  547. ngx_module_name=ngx_http_map_module
  548. ngx_module_incs=
  549. ngx_module_deps=
  550. ngx_module_srcs=src/http/modules/ngx_http_map_module.c
  551. ngx_module_libs=
  552. ngx_module_link=$HTTP_MAP
  553. . auto/module
  554. fi
  555. if [ $HTTP_SPLIT_CLIENTS = YES ]; then
  556. ngx_module_name=ngx_http_split_clients_module
  557. ngx_module_incs=
  558. ngx_module_deps=
  559. ngx_module_srcs=src/http/modules/ngx_http_split_clients_module.c
  560. ngx_module_libs=
  561. ngx_module_link=$HTTP_SPLIT_CLIENTS
  562. . auto/module
  563. fi
  564. if [ $HTTP_REFERER = YES ]; then
  565. ngx_module_name=ngx_http_referer_module
  566. ngx_module_incs=
  567. ngx_module_deps=
  568. ngx_module_srcs=src/http/modules/ngx_http_referer_module.c
  569. ngx_module_libs=
  570. ngx_module_link=$HTTP_REFERER
  571. . auto/module
  572. fi
  573. if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
  574. USE_PCRE=YES
  575. ngx_module_name=ngx_http_rewrite_module
  576. ngx_module_incs=
  577. ngx_module_deps=
  578. ngx_module_srcs=src/http/modules/ngx_http_rewrite_module.c
  579. ngx_module_libs=
  580. ngx_module_link=$HTTP_REWRITE
  581. . auto/module
  582. fi
  583. if [ $HTTP_SSL = YES ]; then
  584. USE_OPENSSL=YES
  585. have=NGX_HTTP_SSL . auto/have
  586. ngx_module_name=ngx_http_ssl_module
  587. ngx_module_incs=
  588. ngx_module_deps=src/http/modules/ngx_http_ssl_module.h
  589. ngx_module_srcs=src/http/modules/ngx_http_ssl_module.c
  590. ngx_module_libs=
  591. ngx_module_link=$HTTP_SSL
  592. . auto/module
  593. fi
  594. if [ $HTTP_PROXY = YES ]; then
  595. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  596. ngx_module_name=ngx_http_proxy_module
  597. ngx_module_incs=
  598. ngx_module_deps=
  599. ngx_module_srcs=src/http/modules/ngx_http_proxy_module.c
  600. ngx_module_libs=
  601. ngx_module_link=$HTTP_PROXY
  602. . auto/module
  603. fi
  604. if [ $HTTP_FASTCGI = YES ]; then
  605. ngx_module_name=ngx_http_fastcgi_module
  606. ngx_module_incs=
  607. ngx_module_deps=
  608. ngx_module_srcs=src/http/modules/ngx_http_fastcgi_module.c
  609. ngx_module_libs=
  610. ngx_module_link=$HTTP_FASTCGI
  611. . auto/module
  612. fi
  613. if [ $HTTP_UWSGI = YES ]; then
  614. ngx_module_name=ngx_http_uwsgi_module
  615. ngx_module_incs=
  616. ngx_module_deps=
  617. ngx_module_srcs=src/http/modules/ngx_http_uwsgi_module.c
  618. ngx_module_libs=
  619. ngx_module_link=$HTTP_UWSGI
  620. . auto/module
  621. fi
  622. if [ $HTTP_SCGI = YES ]; then
  623. ngx_module_name=ngx_http_scgi_module
  624. ngx_module_incs=
  625. ngx_module_deps=
  626. ngx_module_srcs=src/http/modules/ngx_http_scgi_module.c
  627. ngx_module_libs=
  628. ngx_module_link=$HTTP_SCGI
  629. . auto/module
  630. fi
  631. if [ $HTTP_GRPC = YES -a $HTTP_V2 = YES ]; then
  632. ngx_module_name=ngx_http_grpc_module
  633. ngx_module_incs=
  634. ngx_module_deps=
  635. ngx_module_srcs=src/http/modules/ngx_http_grpc_module.c
  636. ngx_module_libs=
  637. ngx_module_link=$HTTP_GRPC
  638. . auto/module
  639. fi
  640. if [ $HTTP_PERL != NO ]; then
  641. ngx_module_name=ngx_http_perl_module
  642. ngx_module_incs=src/http/modules/perl
  643. ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h
  644. ngx_module_srcs=src/http/modules/perl/ngx_http_perl_module.c
  645. ngx_module_libs=PERL
  646. ngx_module_link=$HTTP_PERL
  647. . auto/module
  648. fi
  649. if [ $HTTP_MEMCACHED = YES ]; then
  650. ngx_module_name=ngx_http_memcached_module
  651. ngx_module_incs=
  652. ngx_module_deps=
  653. ngx_module_srcs=src/http/modules/ngx_http_memcached_module.c
  654. ngx_module_libs=
  655. ngx_module_link=$HTTP_MEMCACHED
  656. . auto/module
  657. fi
  658. if [ $HTTP_EMPTY_GIF = YES ]; then
  659. ngx_module_name=ngx_http_empty_gif_module
  660. ngx_module_incs=
  661. ngx_module_deps=
  662. ngx_module_srcs=src/http/modules/ngx_http_empty_gif_module.c
  663. ngx_module_libs=
  664. ngx_module_link=$HTTP_EMPTY_GIF
  665. . auto/module
  666. fi
  667. if [ $HTTP_BROWSER = YES ]; then
  668. ngx_module_name=ngx_http_browser_module
  669. ngx_module_incs=
  670. ngx_module_deps=
  671. ngx_module_srcs=src/http/modules/ngx_http_browser_module.c
  672. ngx_module_libs=
  673. ngx_module_link=$HTTP_BROWSER
  674. . auto/module
  675. fi
  676. if [ $HTTP_SECURE_LINK = YES ]; then
  677. ngx_module_name=ngx_http_secure_link_module
  678. ngx_module_incs=
  679. ngx_module_deps=
  680. ngx_module_srcs=src/http/modules/ngx_http_secure_link_module.c
  681. ngx_module_libs=
  682. ngx_module_link=$HTTP_SECURE_LINK
  683. . auto/module
  684. fi
  685. if [ $HTTP_DEGRADATION = YES ]; then
  686. have=NGX_HTTP_DEGRADATION . auto/have
  687. ngx_module_name=ngx_http_degradation_module
  688. ngx_module_incs=
  689. ngx_module_deps=
  690. ngx_module_srcs=src/http/modules/ngx_http_degradation_module.c
  691. ngx_module_libs=
  692. ngx_module_link=$HTTP_DEGRADATION
  693. . auto/module
  694. fi
  695. if [ $HTTP_FLV = YES ]; then
  696. ngx_module_name=ngx_http_flv_module
  697. ngx_module_incs=
  698. ngx_module_deps=
  699. ngx_module_srcs=src/http/modules/ngx_http_flv_module.c
  700. ngx_module_libs=
  701. ngx_module_link=$HTTP_FLV
  702. . auto/module
  703. fi
  704. if [ $HTTP_MP4 = YES ]; then
  705. ngx_module_name=ngx_http_mp4_module
  706. ngx_module_incs=
  707. ngx_module_deps=
  708. ngx_module_srcs=src/http/modules/ngx_http_mp4_module.c
  709. ngx_module_libs=
  710. ngx_module_link=$HTTP_MP4
  711. . auto/module
  712. fi
  713. if [ $HTTP_UPSTREAM_HASH = YES ]; then
  714. ngx_module_name=ngx_http_upstream_hash_module
  715. ngx_module_incs=
  716. ngx_module_deps=
  717. ngx_module_srcs=src/http/modules/ngx_http_upstream_hash_module.c
  718. ngx_module_libs=
  719. ngx_module_link=$HTTP_UPSTREAM_HASH
  720. . auto/module
  721. fi
  722. if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
  723. ngx_module_name=ngx_http_upstream_ip_hash_module
  724. ngx_module_incs=
  725. ngx_module_deps=
  726. ngx_module_srcs=src/http/modules/ngx_http_upstream_ip_hash_module.c
  727. ngx_module_libs=
  728. ngx_module_link=$HTTP_UPSTREAM_IP_HASH
  729. . auto/module
  730. fi
  731. if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
  732. ngx_module_name=ngx_http_upstream_least_conn_module
  733. ngx_module_incs=
  734. ngx_module_deps=
  735. ngx_module_srcs=src/http/modules/ngx_http_upstream_least_conn_module.c
  736. ngx_module_libs=
  737. ngx_module_link=$HTTP_UPSTREAM_LEAST_CONN
  738. . auto/module
  739. fi
  740. if [ $HTTP_UPSTREAM_RANDOM = YES ]; then
  741. ngx_module_name=ngx_http_upstream_random_module
  742. ngx_module_incs=
  743. ngx_module_deps=
  744. ngx_module_srcs=src/http/modules/ngx_http_upstream_random_module.c
  745. ngx_module_libs=
  746. ngx_module_link=$HTTP_UPSTREAM_RANDOM
  747. . auto/module
  748. fi
  749. if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
  750. ngx_module_name=ngx_http_upstream_keepalive_module
  751. ngx_module_incs=
  752. ngx_module_deps=
  753. ngx_module_srcs=src/http/modules/ngx_http_upstream_keepalive_module.c
  754. ngx_module_libs=
  755. ngx_module_link=$HTTP_UPSTREAM_KEEPALIVE
  756. . auto/module
  757. fi
  758. if [ $HTTP_UPSTREAM_ZONE = YES ]; then
  759. have=NGX_HTTP_UPSTREAM_ZONE . auto/have
  760. ngx_module_name=ngx_http_upstream_zone_module
  761. ngx_module_incs=
  762. ngx_module_deps=
  763. ngx_module_srcs=src/http/modules/ngx_http_upstream_zone_module.c
  764. ngx_module_libs=
  765. ngx_module_link=$HTTP_UPSTREAM_ZONE
  766. . auto/module
  767. fi
  768. if [ $HTTP_STUB_STATUS = YES ]; then
  769. have=NGX_STAT_STUB . auto/have
  770. ngx_module_name=ngx_http_stub_status_module
  771. ngx_module_incs=
  772. ngx_module_deps=
  773. ngx_module_srcs=src/http/modules/ngx_http_stub_status_module.c
  774. ngx_module_libs=
  775. ngx_module_link=$HTTP_STUB_STATUS
  776. . auto/module
  777. fi
  778. fi
  779. if [ $MAIL != NO ]; then
  780. MAIL_MODULES=
  781. MAIL_DEPS=
  782. MAIL_INCS=
  783. ngx_module_type=MAIL
  784. ngx_module_libs=
  785. ngx_module_link=YES
  786. ngx_module_order=
  787. ngx_module_name="ngx_mail_module ngx_mail_core_module"
  788. ngx_module_incs="src/mail"
  789. ngx_module_deps="src/mail/ngx_mail.h"
  790. ngx_module_srcs="src/mail/ngx_mail.c \
  791. src/mail/ngx_mail_core_module.c \
  792. src/mail/ngx_mail_handler.c \
  793. src/mail/ngx_mail_parse.c"
  794. . auto/module
  795. ngx_module_incs=
  796. if [ $MAIL_SSL = YES ]; then
  797. USE_OPENSSL=YES
  798. have=NGX_MAIL_SSL . auto/have
  799. ngx_module_name=ngx_mail_ssl_module
  800. ngx_module_deps=src/mail/ngx_mail_ssl_module.h
  801. ngx_module_srcs=src/mail/ngx_mail_ssl_module.c
  802. . auto/module
  803. fi
  804. if [ $MAIL_POP3 = YES ]; then
  805. ngx_module_name=ngx_mail_pop3_module
  806. ngx_module_deps=src/mail/ngx_mail_pop3_module.h
  807. ngx_module_srcs="src/mail/ngx_mail_pop3_module.c \
  808. src/mail/ngx_mail_pop3_handler.c"
  809. . auto/module
  810. fi
  811. if [ $MAIL_IMAP = YES ]; then
  812. ngx_module_name=ngx_mail_imap_module
  813. ngx_module_deps=src/mail/ngx_mail_imap_module.h
  814. ngx_module_srcs="src/mail/ngx_mail_imap_module.c \
  815. src/mail/ngx_mail_imap_handler.c"
  816. . auto/module
  817. fi
  818. if [ $MAIL_SMTP = YES ]; then
  819. ngx_module_name=ngx_mail_smtp_module
  820. ngx_module_deps=src/mail/ngx_mail_smtp_module.h
  821. ngx_module_srcs="src/mail/ngx_mail_smtp_module.c \
  822. src/mail/ngx_mail_smtp_handler.c"
  823. . auto/module
  824. fi
  825. ngx_module_name=ngx_mail_auth_http_module
  826. ngx_module_deps=
  827. ngx_module_srcs=src/mail/ngx_mail_auth_http_module.c
  828. . auto/module
  829. ngx_module_name=ngx_mail_proxy_module
  830. ngx_module_deps=
  831. ngx_module_srcs=src/mail/ngx_mail_proxy_module.c
  832. . auto/module
  833. ngx_module_name=ngx_mail_realip_module
  834. ngx_module_deps=
  835. ngx_module_srcs=src/mail/ngx_mail_realip_module.c
  836. . auto/module
  837. fi
  838. if [ $STREAM != NO ]; then
  839. STREAM_MODULES=
  840. STREAM_DEPS=
  841. STREAM_INCS=
  842. ngx_module_type=STREAM
  843. ngx_module_libs=
  844. ngx_module_link=YES
  845. ngx_module_order=
  846. ngx_module_name="ngx_stream_module \
  847. ngx_stream_core_module \
  848. ngx_stream_log_module \
  849. ngx_stream_proxy_module \
  850. ngx_stream_upstream_module \
  851. ngx_stream_write_filter_module"
  852. ngx_module_incs="src/stream"
  853. ngx_module_deps="src/stream/ngx_stream.h \
  854. src/stream/ngx_stream_variables.h \
  855. src/stream/ngx_stream_script.h \
  856. src/stream/ngx_stream_upstream.h \
  857. src/stream/ngx_stream_upstream_round_robin.h"
  858. ngx_module_srcs="src/stream/ngx_stream.c \
  859. src/stream/ngx_stream_variables.c \
  860. src/stream/ngx_stream_script.c \
  861. src/stream/ngx_stream_handler.c \
  862. src/stream/ngx_stream_core_module.c \
  863. src/stream/ngx_stream_log_module.c \
  864. src/stream/ngx_stream_proxy_module.c \
  865. src/stream/ngx_stream_upstream.c \
  866. src/stream/ngx_stream_upstream_round_robin.c \
  867. src/stream/ngx_stream_write_filter_module.c"
  868. . auto/module
  869. ngx_module_incs=
  870. if [ $STREAM_SSL = YES ]; then
  871. USE_OPENSSL=YES
  872. have=NGX_STREAM_SSL . auto/have
  873. ngx_module_name=ngx_stream_ssl_module
  874. ngx_module_deps=src/stream/ngx_stream_ssl_module.h
  875. ngx_module_srcs=src/stream/ngx_stream_ssl_module.c
  876. ngx_module_libs=
  877. ngx_module_link=$STREAM_SSL
  878. . auto/module
  879. fi
  880. if [ $STREAM_REALIP = YES ]; then
  881. ngx_module_name=ngx_stream_realip_module
  882. ngx_module_deps=
  883. ngx_module_srcs=src/stream/ngx_stream_realip_module.c
  884. ngx_module_libs=
  885. ngx_module_link=$STREAM_REALIP
  886. . auto/module
  887. fi
  888. if [ $STREAM_LIMIT_CONN = YES ]; then
  889. ngx_module_name=ngx_stream_limit_conn_module
  890. ngx_module_deps=
  891. ngx_module_srcs=src/stream/ngx_stream_limit_conn_module.c
  892. ngx_module_libs=
  893. ngx_module_link=$STREAM_LIMIT_CONN
  894. . auto/module
  895. fi
  896. if [ $STREAM_ACCESS = YES ]; then
  897. ngx_module_name=ngx_stream_access_module
  898. ngx_module_deps=
  899. ngx_module_srcs=src/stream/ngx_stream_access_module.c
  900. ngx_module_libs=
  901. ngx_module_link=$STREAM_ACCESS
  902. . auto/module
  903. fi
  904. if [ $STREAM_GEO = YES ]; then
  905. ngx_module_name=ngx_stream_geo_module
  906. ngx_module_deps=
  907. ngx_module_srcs=src/stream/ngx_stream_geo_module.c
  908. ngx_module_libs=
  909. ngx_module_link=$STREAM_GEO
  910. . auto/module
  911. fi
  912. if [ $STREAM_GEOIP != NO ]; then
  913. ngx_module_name=ngx_stream_geoip_module
  914. ngx_module_deps=
  915. ngx_module_srcs=src/stream/ngx_stream_geoip_module.c
  916. ngx_module_libs=GEOIP
  917. ngx_module_link=$STREAM_GEOIP
  918. . auto/module
  919. fi
  920. if [ $STREAM_MAP = YES ]; then
  921. ngx_module_name=ngx_stream_map_module
  922. ngx_module_deps=
  923. ngx_module_srcs=src/stream/ngx_stream_map_module.c
  924. ngx_module_libs=
  925. ngx_module_link=$STREAM_MAP
  926. . auto/module
  927. fi
  928. if [ $STREAM_SPLIT_CLIENTS = YES ]; then
  929. ngx_module_name=ngx_stream_split_clients_module
  930. ngx_module_deps=
  931. ngx_module_srcs=src/stream/ngx_stream_split_clients_module.c
  932. ngx_module_libs=
  933. ngx_module_link=$STREAM_SPLIT_CLIENTS
  934. . auto/module
  935. fi
  936. if [ $STREAM_RETURN = YES ]; then
  937. ngx_module_name=ngx_stream_return_module
  938. ngx_module_deps=
  939. ngx_module_srcs=src/stream/ngx_stream_return_module.c
  940. ngx_module_libs=
  941. ngx_module_link=$STREAM_RETURN
  942. . auto/module
  943. fi
  944. if [ $STREAM_SET = YES ]; then
  945. ngx_module_name=ngx_stream_set_module
  946. ngx_module_deps=
  947. ngx_module_srcs=src/stream/ngx_stream_set_module.c
  948. ngx_module_libs=
  949. ngx_module_link=$STREAM_SET
  950. . auto/module
  951. fi
  952. if [ $STREAM_UPSTREAM_HASH = YES ]; then
  953. ngx_module_name=ngx_stream_upstream_hash_module
  954. ngx_module_deps=
  955. ngx_module_srcs=src/stream/ngx_stream_upstream_hash_module.c
  956. ngx_module_libs=
  957. ngx_module_link=$STREAM_UPSTREAM_HASH
  958. . auto/module
  959. fi
  960. if [ $STREAM_UPSTREAM_LEAST_CONN = YES ]; then
  961. ngx_module_name=ngx_stream_upstream_least_conn_module
  962. ngx_module_deps=
  963. ngx_module_srcs=src/stream/ngx_stream_upstream_least_conn_module.c
  964. ngx_module_libs=
  965. ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN
  966. . auto/module
  967. fi
  968. if [ $STREAM_UPSTREAM_RANDOM = YES ]; then
  969. ngx_module_name=ngx_stream_upstream_random_module
  970. ngx_module_deps=
  971. ngx_module_srcs=src/stream/ngx_stream_upstream_random_module.c
  972. ngx_module_libs=
  973. ngx_module_link=$STREAM_UPSTREAM_RANDOM
  974. . auto/module
  975. fi
  976. if [ $STREAM_UPSTREAM_ZONE = YES ]; then
  977. have=NGX_STREAM_UPSTREAM_ZONE . auto/have
  978. ngx_module_name=ngx_stream_upstream_zone_module
  979. ngx_module_deps=
  980. ngx_module_srcs=src/stream/ngx_stream_upstream_zone_module.c
  981. ngx_module_libs=
  982. ngx_module_link=$STREAM_UPSTREAM_ZONE
  983. . auto/module
  984. fi
  985. if [ $STREAM_SSL_PREREAD = YES ]; then
  986. ngx_module_name=ngx_stream_ssl_preread_module
  987. ngx_module_deps=
  988. ngx_module_srcs=src/stream/ngx_stream_ssl_preread_module.c
  989. ngx_module_libs=
  990. ngx_module_link=$STREAM_SSL_PREREAD
  991. . auto/module
  992. fi
  993. fi
  994. #if [ -r $NGX_OBJS/auto ]; then
  995. # . $NGX_OBJS/auto
  996. #fi
  997. if test -n "$NGX_ADDONS"; then
  998. echo configuring additional modules
  999. for ngx_addon_dir in $NGX_ADDONS
  1000. do
  1001. echo "adding module in $ngx_addon_dir"
  1002. ngx_module_type=
  1003. ngx_module_name=
  1004. ngx_module_incs=
  1005. ngx_module_deps=
  1006. ngx_module_srcs=
  1007. ngx_module_libs=
  1008. ngx_module_order=
  1009. ngx_module_link=ADDON
  1010. if test -f $ngx_addon_dir/config; then
  1011. . $ngx_addon_dir/config
  1012. echo " + $ngx_addon_name was configured"
  1013. else
  1014. echo "$0: error: no $ngx_addon_dir/config was found"
  1015. exit 1
  1016. fi
  1017. done
  1018. fi
  1019. if test -n "$DYNAMIC_ADDONS"; then
  1020. echo configuring additional dynamic modules
  1021. for ngx_addon_dir in $DYNAMIC_ADDONS
  1022. do
  1023. echo "adding module in $ngx_addon_dir"
  1024. ngx_module_type=
  1025. ngx_module_name=
  1026. ngx_module_incs=
  1027. ngx_module_deps=
  1028. ngx_module_srcs=
  1029. ngx_module_libs=
  1030. ngx_module_order=
  1031. ngx_module_link=DYNAMIC
  1032. if test -f $ngx_addon_dir/config; then
  1033. . $ngx_addon_dir/config
  1034. echo " + $ngx_addon_name was configured"
  1035. else
  1036. echo "$0: error: no $ngx_addon_dir/config was found"
  1037. exit 1
  1038. fi
  1039. done
  1040. fi
  1041. if [ $USE_OPENSSL = YES ]; then
  1042. ngx_module_type=CORE
  1043. ngx_module_name=ngx_openssl_module
  1044. ngx_module_incs=
  1045. ngx_module_deps=src/event/ngx_event_openssl.h
  1046. ngx_module_srcs="src/event/ngx_event_openssl.c
  1047. src/event/ngx_event_openssl_stapling.c"
  1048. ngx_module_libs=
  1049. ngx_module_link=YES
  1050. ngx_module_order=
  1051. . auto/module
  1052. fi
  1053. if [ $USE_OPENSSL_QUIC = YES ]; then
  1054. ngx_module_type=CORE
  1055. ngx_module_name=ngx_quic_module
  1056. ngx_module_incs=
  1057. ngx_module_deps="src/event/quic/ngx_event_quic.h \
  1058. src/event/quic/ngx_event_quic_transport.h \
  1059. src/event/quic/ngx_event_quic_protection.h \
  1060. src/event/quic/ngx_event_quic_connection.h \
  1061. src/event/quic/ngx_event_quic_frames.h \
  1062. src/event/quic/ngx_event_quic_connid.h \
  1063. src/event/quic/ngx_event_quic_migration.h \
  1064. src/event/quic/ngx_event_quic_streams.h \
  1065. src/event/quic/ngx_event_quic_ssl.h \
  1066. src/event/quic/ngx_event_quic_tokens.h \
  1067. src/event/quic/ngx_event_quic_ack.h \
  1068. src/event/quic/ngx_event_quic_output.h \
  1069. src/event/quic/ngx_event_quic_socket.h \
  1070. src/event/quic/ngx_event_quic_openssl_compat.h"
  1071. ngx_module_srcs="src/event/quic/ngx_event_quic.c \
  1072. src/event/quic/ngx_event_quic_udp.c \
  1073. src/event/quic/ngx_event_quic_transport.c \
  1074. src/event/quic/ngx_event_quic_protection.c \
  1075. src/event/quic/ngx_event_quic_frames.c \
  1076. src/event/quic/ngx_event_quic_connid.c \
  1077. src/event/quic/ngx_event_quic_migration.c \
  1078. src/event/quic/ngx_event_quic_streams.c \
  1079. src/event/quic/ngx_event_quic_ssl.c \
  1080. src/event/quic/ngx_event_quic_tokens.c \
  1081. src/event/quic/ngx_event_quic_ack.c \
  1082. src/event/quic/ngx_event_quic_output.c \
  1083. src/event/quic/ngx_event_quic_socket.c \
  1084. src/event/quic/ngx_event_quic_openssl_compat.c"
  1085. ngx_module_libs=
  1086. ngx_module_link=YES
  1087. ngx_module_order=
  1088. . auto/module
  1089. if [ $QUIC_BPF = YES -a $SO_COOKIE_FOUND = YES ]; then
  1090. ngx_module_type=CORE
  1091. ngx_module_name=ngx_quic_bpf_module
  1092. ngx_module_incs=
  1093. ngx_module_deps=
  1094. ngx_module_srcs="src/event/quic/ngx_event_quic_bpf.c \
  1095. src/event/quic/ngx_event_quic_bpf_code.c"
  1096. ngx_module_libs=
  1097. ngx_module_link=YES
  1098. ngx_module_order=
  1099. . auto/module
  1100. have=NGX_QUIC_BPF . auto/have
  1101. fi
  1102. fi
  1103. if [ $USE_PCRE = YES ]; then
  1104. ngx_module_type=CORE
  1105. ngx_module_name=ngx_regex_module
  1106. ngx_module_incs=
  1107. ngx_module_deps=src/core/ngx_regex.h
  1108. ngx_module_srcs=src/core/ngx_regex.c
  1109. ngx_module_libs=
  1110. ngx_module_link=YES
  1111. ngx_module_order=
  1112. . auto/module
  1113. fi
  1114. modules="$CORE_MODULES $EVENT_MODULES"
  1115. # thread pool module should be initialized after events
  1116. if [ $USE_THREADS = YES ]; then
  1117. modules="$modules $THREAD_POOL_MODULE"
  1118. fi
  1119. if [ $HTTP = YES ]; then
  1120. modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
  1121. $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES"
  1122. NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
  1123. fi
  1124. if [ $MAIL != NO ]; then
  1125. if [ $MAIL = YES ]; then
  1126. modules="$modules $MAIL_MODULES"
  1127. elif [ $MAIL = DYNAMIC ]; then
  1128. ngx_module_name=$MAIL_MODULES
  1129. ngx_module_incs=
  1130. ngx_module_deps=
  1131. ngx_module_srcs=$MAIL_SRCS
  1132. ngx_module_libs=
  1133. ngx_module_link=DYNAMIC
  1134. . auto/module
  1135. fi
  1136. NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)"
  1137. fi
  1138. if [ $STREAM != NO ]; then
  1139. if [ $STREAM = YES ]; then
  1140. modules="$modules $STREAM_MODULES"
  1141. elif [ $STREAM = DYNAMIC ]; then
  1142. ngx_module_name=$STREAM_MODULES
  1143. ngx_module_incs=
  1144. ngx_module_deps=
  1145. ngx_module_srcs=$STREAM_SRCS
  1146. ngx_module_libs=
  1147. ngx_module_link=DYNAMIC
  1148. . auto/module
  1149. fi
  1150. NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)"
  1151. fi
  1152. ngx_module_type=MISC
  1153. MISC_MODULES=
  1154. if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
  1155. ngx_module_name=ngx_google_perftools_module
  1156. ngx_module_incs=
  1157. ngx_module_deps=
  1158. ngx_module_srcs=src/misc/ngx_google_perftools_module.c
  1159. ngx_module_libs=
  1160. ngx_module_link=$NGX_GOOGLE_PERFTOOLS
  1161. . auto/module
  1162. fi
  1163. if [ $NGX_CPP_TEST = YES ]; then
  1164. ngx_module_name=
  1165. ngx_module_incs=
  1166. ngx_module_deps=
  1167. ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp
  1168. ngx_module_libs=-lstdc++
  1169. ngx_module_link=$NGX_CPP_TEST
  1170. . auto/module
  1171. fi
  1172. modules="$modules $MISC_MODULES"
  1173. if [ $NGX_COMPAT = YES ]; then
  1174. have=NGX_COMPAT . auto/have
  1175. have=NGX_HTTP_GZIP . auto/have
  1176. have=NGX_HTTP_DAV . auto/have
  1177. have=NGX_HTTP_REALIP . auto/have
  1178. have=NGX_HTTP_X_FORWARDED_FOR . auto/have
  1179. have=NGX_HTTP_HEADERS . auto/have
  1180. have=NGX_HTTP_UPSTREAM_ZONE . auto/have
  1181. have=NGX_STREAM_UPSTREAM_ZONE . auto/have
  1182. fi
  1183. cat << END > $NGX_MODULES_C
  1184. #include <ngx_config.h>
  1185. #include <ngx_core.h>
  1186. $NGX_PRAGMA
  1187. END
  1188. for mod in $modules
  1189. do
  1190. echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
  1191. done
  1192. echo >> $NGX_MODULES_C
  1193. echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
  1194. for mod in $modules
  1195. do
  1196. echo " &$mod," >> $NGX_MODULES_C
  1197. done
  1198. cat << END >> $NGX_MODULES_C
  1199. NULL
  1200. };
  1201. END
  1202. echo 'char *ngx_module_names[] = {' >> $NGX_MODULES_C
  1203. for mod in $modules
  1204. do
  1205. echo " \"$mod\"," >> $NGX_MODULES_C
  1206. done
  1207. cat << END >> $NGX_MODULES_C
  1208. NULL
  1209. };
  1210. END