1menuconfig BR2_PACKAGE_NGINX
2	bool "nginx"
3	depends on BR2_USE_MMU # fork()
4	select BR2_PACKAGE_LIBATOMIC_OPS if BR2_sparc_v8 || BR2_sparc_leon3
5	select BR2_PACKAGE_LIBXCRYPT if BR2_TOOLCHAIN_USES_GLIBC
6	help
7	  nginx is an HTTP and reverse proxy server, as well as a mail
8	  proxy server.
9
10	  https://nginx.org/
11
12if BR2_PACKAGE_NGINX
13
14config BR2_PACKAGE_NGINX_FILE_AIO
15	bool "file AIO support"
16	# Does not build, because nginx hardcodes using SYS_eventfd,
17	# but it's available on neither AArch64 nor ARC where only
18	# eventfd() is available. See
19	# https://bugs.launchpad.net/linaro-aarch64/+bug/1160013
20	depends on !BR2_aarch64
21	depends on !BR2_arc
22
23config BR2_PACKAGE_NGINX_THREADS
24	bool "thread pool support"
25	depends on BR2_TOOLCHAIN_HAS_THREADS
26
27comment "thread pool support needs a toolchain w/ threads"
28	depends on !BR2_TOOLCHAIN_HAS_THREADS
29
30config BR2_PACKAGE_NGINX_HTTP
31	bool "http server"
32	default y
33
34if BR2_PACKAGE_NGINX_HTTP
35
36config BR2_PACKAGE_NGINX_HTTP_CACHE
37	bool "http cache support"
38	select BR2_PACKAGE_OPENSSL
39
40comment "http modules"
41
42config BR2_PACKAGE_NGINX_HTTP_SSL_MODULE
43	bool "ngx_http_ssl_module"
44	select BR2_PACKAGE_OPENSSL
45	help
46	  Enable ngx_http_ssl_module
47
48config BR2_PACKAGE_NGINX_HTTP_V2_MODULE
49	bool "ngx_http_v2_module"
50	select BR2_PACKAGE_ZLIB
51	help
52	  Enable ngx_http_spdy_module
53
54config BR2_PACKAGE_NGINX_HTTP_REALIP_MODULE
55	bool "ngx_http_realip_module"
56	help
57	  Enable ngx_http_realip_module
58
59config BR2_PACKAGE_NGINX_HTTP_ADDITION_MODULE
60	bool "ngx_http_addition_module"
61	help
62	  Enable ngx_http_addition_module
63
64config BR2_PACKAGE_NGINX_HTTP_XSLT_MODULE
65	bool "ngx_http_xslt_module"
66	select BR2_PACKAGE_LIBXML2
67	select BR2_PACKAGE_LIBXSLT
68	help
69	  Enable ngx_http_xslt_module
70
71config BR2_PACKAGE_NGINX_HTTP_IMAGE_FILTER_MODULE
72	bool "ngx_http_image_filter_module"
73	select BR2_PACKAGE_GD
74	select BR2_PACKAGE_JPEG
75	select BR2_PACKAGE_LIBPNG
76	help
77	  Enable ngx_http_image_filter_module
78
79config BR2_PACKAGE_NGINX_HTTP_GEOIP_MODULE
80	bool "ngx_http_geoip_module"
81	select BR2_PACKAGE_GEOIP
82	help
83	  Enable ngx_http_geoip_module
84
85config BR2_PACKAGE_NGINX_HTTP_SUB_MODULE
86	bool "ngx_http_sub_module"
87	help
88	  Enable ngx_http_sub_module
89
90config BR2_PACKAGE_NGINX_HTTP_DAV_MODULE
91	bool "ngx_http_dav_module"
92	help
93	  Enable ngx_http_dav_module
94
95config BR2_PACKAGE_NGINX_HTTP_FLV_MODULE
96	bool "ngx_http_flv_module"
97	help
98	  Enable ngx_http_flv_module
99
100config BR2_PACKAGE_NGINX_HTTP_MP4_MODULE
101	bool "ngx_http_mp4_module"
102	help
103	  Enable ngx_http_mp4_module
104
105config BR2_PACKAGE_NGINX_HTTP_GUNZIP_MODULE
106	bool "ngx_http_gunzip_module"
107	select BR2_PACKAGE_ZLIB
108	help
109	  Enable ngx_http_gunzip_module
110
111config BR2_PACKAGE_NGINX_HTTP_GZIP_STATIC_MODULE
112	bool "ngx_http_gzip_static_module"
113	select BR2_PACKAGE_ZLIB
114	help
115	  Enable ngx_http_gzip_static_module
116
117config BR2_PACKAGE_NGINX_HTTP_AUTH_REQUEST_MODULE
118	bool "ngx_http_auth_request_module"
119	help
120	  Enable ngx_http_auth_request_module
121
122config BR2_PACKAGE_NGINX_HTTP_RANDOM_INDEX_MODULE
123	bool "ngx_http_random_index_module"
124	help
125	  Enable ngx_http_random_index_module
126
127config BR2_PACKAGE_NGINX_HTTP_SECURE_LINK_MODULE
128	bool "ngx_http_secure_link_module"
129	select BR2_PACKAGE_OPENSSL
130	help
131	  Enable ngx_http_secure_link_module
132
133config BR2_PACKAGE_NGINX_HTTP_DEGRADATION_MODULE
134	bool "ngx_http_degradation_module"
135	help
136	  Enable ngx_http_degradation_module
137
138config BR2_PACKAGE_NGINX_HTTP_SLICE_MODULE
139	bool "ngx_http_slice_module"
140	help
141	  Enable ngx_http_slice_module
142
143config BR2_PACKAGE_NGINX_HTTP_STUB_STATUS_MODULE
144	bool "ngx_http_stub_status_module"
145	help
146	  Enable ngx_http_stub_status_module
147
148config BR2_PACKAGE_NGINX_HTTP_CHARSET_MODULE
149	bool "ngx_http_charset_module"
150	default y
151	help
152	  Enable ngx_http_charset_module
153
154config BR2_PACKAGE_NGINX_HTTP_GZIP_MODULE
155	bool "ngx_http_gzip_module"
156	default y
157	select BR2_PACKAGE_ZLIB
158	help
159	  Enable ngx_http_gzip_module
160
161config BR2_PACKAGE_NGINX_HTTP_SSI_MODULE
162	bool "ngx_http_ssi_module"
163	default y
164	help
165	  Enable ngx_http_ssi_module
166
167config BR2_PACKAGE_NGINX_HTTP_USERID_MODULE
168	bool "ngx_http_userid_module"
169	default y
170	help
171	  Enable ngx_http_userid_module
172
173config BR2_PACKAGE_NGINX_HTTP_ACCESS_MODULE
174	bool "ngx_http_access_module"
175	default y
176	help
177	  Enable ngx_http_access_module
178
179config BR2_PACKAGE_NGINX_HTTP_AUTH_BASIC_MODULE
180	bool "ngx_http_auth_basic_module"
181	default y
182	help
183	  Enable ngx_http_auth_basic_module
184
185config BR2_PACKAGE_NGINX_HTTP_AUTOINDEX_MODULE
186	bool "ngx_http_autoindex_module"
187	default y
188	help
189	  Enable ngx_http_autoindex_module
190
191config BR2_PACKAGE_NGINX_HTTP_GEO_MODULE
192	bool "ngx_http_geo_module"
193	default y
194	help
195	  Enable ngx_http_geo_module
196
197config BR2_PACKAGE_NGINX_HTTP_MAP_MODULE
198	bool "ngx_http_map_module"
199	default y
200	help
201	  Enable ngx_http_map_module
202
203config BR2_PACKAGE_NGINX_HTTP_SPLIT_CLIENTS_MODULE
204	bool "ngx_http_split_clients_module"
205	default y
206	help
207	  Enable ngx_http_split_clients_module
208
209config BR2_PACKAGE_NGINX_HTTP_REFERER_MODULE
210	bool "ngx_http_referer_module"
211	default y
212	help
213	  Enable ngx_http_referer_module
214
215config BR2_PACKAGE_NGINX_HTTP_REWRITE_MODULE
216	bool "ngx_http_rewrite_module"
217	default y
218	select BR2_PACKAGE_PCRE2
219	help
220	  Enable ngx_http_rewrite_module
221
222config BR2_PACKAGE_NGINX_HTTP_PROXY_MODULE
223	bool "ngx_http_proxy_module"
224	default y
225	help
226	  Enable ngx_http_proxy_module
227
228config BR2_PACKAGE_NGINX_HTTP_FASTCGI_MODULE
229	bool "ngx_http_fastcgi_module"
230	default y
231	help
232	  Enable ngx_http_fastcgi_module
233
234config BR2_PACKAGE_NGINX_HTTP_UWSGI_MODULE
235	bool "ngx_http_uwsgi_module"
236	default y
237	help
238	  Enable ngx_http_uwsgi_module
239
240config BR2_PACKAGE_NGINX_HTTP_SCGI_MODULE
241	bool "ngx_http_scgi_module"
242	default y
243	help
244	  Enable ngx_http_scgi_module
245
246config BR2_PACKAGE_NGINX_HTTP_MEMCACHED_MODULE
247	bool "ngx_http_memcached_module"
248	default y
249	help
250	  Enable ngx_http_memcached_module
251
252config BR2_PACKAGE_NGINX_HTTP_LIMIT_CONN_MODULE
253	bool "ngx_http_limit_conn_module"
254	default y
255	help
256	  Enable ngx_http_limit_conn_module
257
258config BR2_PACKAGE_NGINX_HTTP_LIMIT_REQ_MODULE
259	bool "ngx_http_limit_req_module"
260	default y
261	help
262	  Enable ngx_http_limit_req_module
263
264config BR2_PACKAGE_NGINX_HTTP_EMPTY_GIF_MODULE
265	bool "ngx_http_empty_gif_module"
266	default y
267	help
268	  Enable ngx_http_empty_gif_module
269
270config BR2_PACKAGE_NGINX_HTTP_BROWSER_MODULE
271	bool "ngx_http_browser_module"
272	default y
273	help
274	  Enable ngx_http_browser_module
275
276config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_IP_HASH_MODULE
277	bool "ngx_http_upstream_ip_hash_module"
278	default y
279	help
280	  Enable ngx_http_upstream_ip_hash_module
281
282config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_LEAST_CONN_MODULE
283	bool "ngx_http_upstream_least_conn_module"
284	default y
285	help
286	  Enable ngx_http_upstream_least_conn_module
287
288config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_KEEPALIVE_MODULE
289	bool "ngx_http_upstream_keepalive_module"
290	default y
291	help
292	  Enable ngx_http_upstream_keepalive_module
293
294config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_RANDOM_MODULE
295	bool "ngx_http_upstream_random_module"
296	default y
297	help
298	  Enable ngx_http_upstream_random_module
299
300config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_ZONE_MODULE
301	bool "ngx_http_upstream_zone_module"
302	default y
303	depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS
304	select BR2_PACKAGE_LIBATOMIC_OPS
305	help
306	  Enable ngx_http_upstream_zone_module
307
308endif #BR2_PACKAGE_NGINX_HTTP
309
310config BR2_PACKAGE_NGINX_MAIL
311	bool "mail proxy modules"
312
313if BR2_PACKAGE_NGINX_MAIL
314
315config BR2_PACKAGE_NGINX_MAIL_SSL_MODULE
316	bool "ngx_mail_ssl_module"
317	select BR2_PACKAGE_OPENSSL
318	help
319	  Enable ngx_mail_ssl_module
320
321config BR2_PACKAGE_NGINX_MAIL_POP3_MODULE
322	bool "ngx_mail_pop3_module"
323	default y
324	help
325	  Enable ngx_mail_pop3_module
326
327config BR2_PACKAGE_NGINX_MAIL_IMAP_MODULE
328	bool "ngx_mail_imap_module"
329	default y
330	help
331	  Enable ngx_mail_imap_module
332
333config BR2_PACKAGE_NGINX_MAIL_SMTP_MODULE
334	bool "ngx_mail_smtp_module"
335	default y
336	help
337	  Enable ngx_mail_smtp_module
338
339endif #BR2_PACKAGE_NGINX_MAIL
340
341config BR2_PACKAGE_NGINX_STREAM
342	bool "stream proxy modules"
343
344if BR2_PACKAGE_NGINX_STREAM
345
346config BR2_PACKAGE_NGINX_STREAM_REALIP_MODULE
347	bool "ngx_stream_realip_module"
348	help
349	  Enable ngx_stream_realip_module
350
351config BR2_PACKAGE_NGINX_STREAM_SET_MODULE
352	bool "ngx_stream_set_module"
353	default y
354	help
355	  Enable ngx_stream_set_module
356
357config BR2_PACKAGE_NGINX_STREAM_SSL_MODULE
358	bool "ngx_stream_ssl_module"
359	select BR2_PACKAGE_OPENSSL
360	help
361	  Enable ngx_stream_ssl_module
362
363config BR2_PACKAGE_NGINX_STREAM_GEOIP_MODULE
364	bool "ngx_stream_geoip_module"
365	select BR2_PACKAGE_GEOIP
366	help
367	  Enable ngx_stream_geoip_module
368
369config BR2_PACKAGE_NGINX_STREAM_SSL_PREREAD_MODULE
370	bool "ngx_stream_ssl_preread_module"
371	help
372	  Enable ngx_stream_ssl_preread_module
373
374config BR2_PACKAGE_NGINX_STREAM_LIMIT_CONN_MODULE
375	bool "ngx_stream_limit_conn_module"
376	default y
377	help
378	  Enable ngx_stream_limit_conn_module
379
380config BR2_PACKAGE_NGINX_STREAM_ACCESS_MODULE
381	bool "ngx_stream_access_module"
382	default y
383	help
384	  Enable ngx_stream_access_module
385
386config BR2_PACKAGE_NGINX_STREAM_GEO_MODULE
387	bool "ngx_stream_geo_module"
388	default y
389	help
390	  Enable ngx_stream_geo_module
391
392config BR2_PACKAGE_NGINX_STREAM_MAP_MODULE
393	bool "ngx_stream_map_module"
394	default y
395	help
396	  Enable ngx_stream_map_module
397
398config BR2_PACKAGE_NGINX_STREAM_SPLIT_CLIENTS_MODULE
399	bool "ngx_stream_split_clients_module"
400	default y
401	help
402	  Enable ngx_stream_split_clients_module
403
404config BR2_PACKAGE_NGINX_STREAM_RETURN_MODULE
405	bool "ngx_stream_return_module"
406	default y
407	help
408	  Enable ngx_stream_return_module
409
410config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_HASH_MODULE
411	bool "ngx_stream_upstream_hash_module"
412	default y
413	help
414	  Enable ngx_stream_upstream_hash_module
415
416config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_LEAST_CONN_MODULE
417	bool "ngx_stream_upstream_least_conn_module"
418	default y
419	help
420	  Enable ngx_stream_upstream_least_conn_module
421
422config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_RANDOM_MODULE
423	bool "ngx_stream_upstream_random_module"
424	default y
425	help
426	  Enable ngx_stream_upstream_random_module
427
428config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_ZONE_MODULE
429	bool "ngx_stream_upstream_zone_module"
430	default y
431	depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS
432	select BR2_PACKAGE_LIBATOMIC_OPS
433	help
434	  Enable ngx_stream_upstream_zone_module
435
436endif #BR2_PACKAGE_NGINX_STREAM
437
438config BR2_PACKAGE_NGINX_DEBUG
439	bool "debug logging"
440	help
441	  Enable debug logging. The debug level should be set with
442	  the error_log directive. For example
443
444	  error_log /var/log/nginx/error.log debug;
445
446comment "misc. modules"
447
448config BR2_PACKAGE_NGINX_SELECT_MODULE
449	bool "ngx_select_module"
450	help
451	  Enable ngx_select_module
452
453config BR2_PACKAGE_NGINX_POLL_MODULE
454	bool "ngx_poll_module"
455	help
456	  Enable ngx_poll_module
457
458config BR2_PACKAGE_NGINX_ADD_MODULES
459	string "additional modules"
460	help
461	  Space separated list of urls of the additional modules
462
463endif
464