
/*
 * Copyright (C) Google Inc.
 */


#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_modules.h>


extern ngx_module_t  ngx_core_module;
extern ngx_module_t  ngx_errlog_module;
extern ngx_module_t  ngx_conf_module;
#if (NGX_SSL)
extern ngx_module_t  ngx_openssl_module;
#endif
#if (NGX_PCRE)
extern ngx_module_t  ngx_regex_module;
#endif
extern ngx_module_t  ngx_events_module;
extern ngx_module_t  ngx_event_core_module;
#if (NGX_HAVE_EPOLL)
extern ngx_module_t  ngx_epoll_module;
#endif
#if (NGX_HAVE_KQUEUE)
extern ngx_module_t  ngx_kqueue_module;
#endif
#if (NGX_HAVE_SELECT)
extern ngx_module_t  ngx_select_module;
#endif
#if (NGX_HAVE_POLL)
extern ngx_module_t  ngx_poll_module;
#endif
#if (NGX_THREADS)
extern ngx_module_t  ngx_thread_pool_module;
#endif

#if (NGX_HTTP)
extern ngx_module_t  ngx_http_module;
extern ngx_module_t  ngx_http_core_module;
extern ngx_module_t  ngx_http_log_module;
extern ngx_module_t  ngx_http_upstream_module;
#endif
#if (NGX_HTTP_V2)
extern ngx_module_t  ngx_http_v2_module;
#endif
#if (NGX_HTTP)
extern ngx_module_t  ngx_http_static_module;
#endif
#if (NGX_HTTP_GZIP_STATIC)
extern ngx_module_t  ngx_http_gzip_static_module;
#endif
#if (NGX_HTTP_BROTLI_STATIC)
extern ngx_module_t  ngx_http_brotli_static_module;
#endif
#if (NGX_HTTP_DAV)
extern ngx_module_t  ngx_http_dav_module;
#endif
#if (NGX_HTTP_AUTOINDEX)
extern ngx_module_t  ngx_http_autoindex_module;
#endif
#if (NGX_HTTP)
extern ngx_module_t  ngx_http_index_module;
#endif
#if (NGX_HTTP_RANDOM_INDEX)
extern ngx_module_t  ngx_http_random_index_module;
#endif
#if (NGX_HTTP_MIRROR)
extern ngx_module_t  ngx_http_mirror_module;
#endif
#if (NGX_HTTP)
extern ngx_module_t  ngx_http_try_files_module;
#endif
#if (NGX_HTTP_AUTH_REQUEST)
extern ngx_module_t  ngx_http_auth_request_module;
#endif
#if (NGX_HTTP_AUTH_BASIC)
extern ngx_module_t  ngx_http_auth_basic_module;
#endif
#if (NGX_HTTP_ACCESS)
extern ngx_module_t  ngx_http_access_module;
#endif
#if (NGX_HTTP_LIMIT_CONN)
extern ngx_module_t  ngx_http_limit_conn_module;
#endif
#if (NGX_HTTP_LIMIT_REQ)
extern ngx_module_t  ngx_http_limit_req_module;
#endif
#if (NGX_HTTP_REALIP)
extern ngx_module_t  ngx_http_realip_module;
#endif
#if (NGX_HTTP_GEO)
extern ngx_module_t  ngx_http_geo_module;
#endif
#if 0
extern ngx_module_t  ngx_http_geoip_module;
#endif
#if (NGX_HTTP_MAP)
extern ngx_module_t  ngx_http_map_module;
#endif
#if (NGX_HTTP_SPLIT_CLIENTS)
extern ngx_module_t  ngx_http_split_clients_module;
#endif
#if (NGX_HTTP_REFERER)
extern ngx_module_t  ngx_http_referer_module;
#endif
#if (NGX_HTTP_REWRITE)
extern ngx_module_t  ngx_http_rewrite_module;
#endif
#if (NGX_HTTP_SSL)
extern ngx_module_t  ngx_http_ssl_module;
#endif
#if (NGX_HTTP_PROXY)
extern ngx_module_t  ngx_http_proxy_module;
#endif
#if (NGX_HTTP_FASTCGI)
extern ngx_module_t  ngx_http_fastcgi_module;
#endif
#if (NGX_HTTP_UWSGI)
extern ngx_module_t  ngx_http_uwsgi_module;
#endif
#if (NGX_HTTP_SCGI)
extern ngx_module_t  ngx_http_scgi_module;
#endif
#if (NGX_HTTP_GRPC)
extern ngx_module_t  ngx_http_grpc_module;
#endif
#if 0
extern ngx_module_t  ngx_http_perl_module;
#endif
#if (NGX_HTTP_MEMCACHED)
extern ngx_module_t  ngx_http_memcached_module;
#endif
#if (NGX_HTTP_EMPTY_GIF)
extern ngx_module_t  ngx_http_empty_gif_module;
#endif
#if (NGX_HTTP_BROWSER)
extern ngx_module_t  ngx_http_browser_module;
#endif
#if (NGX_HTTP_SECURE_LINK)
extern ngx_module_t  ngx_http_secure_link_module;
#endif
#if 0
extern ngx_module_t  ngx_http_degradation_module;
#endif
#if (NGX_HTTP_FLV)
extern ngx_module_t  ngx_http_flv_module;
#endif
#if (NGX_HTTP_MP4)
extern ngx_module_t  ngx_http_mp4_module;
#endif
#if (NGX_HTTP_UPSTREAM_HASH)
extern ngx_module_t  ngx_http_upstream_hash_module;
#endif
#if (NGX_HTTP_UPSTREAM_IP_HASH)
extern ngx_module_t  ngx_http_upstream_ip_hash_module;
#endif
#if (NGX_HTTP_UPSTREAM_LEAST_CONN)
extern ngx_module_t  ngx_http_upstream_least_conn_module;
#endif
#if (NGX_HTTP_UPSTREAM_RANDOM)
extern ngx_module_t  ngx_http_upstream_random_module;
#endif
#if (NGX_HTTP_UPSTREAM_KEEPALIVE)
extern ngx_module_t  ngx_http_upstream_keepalive_module;
#endif
#if (NGX_HTTP_UPSTREAM_ZONE)
extern ngx_module_t  ngx_http_upstream_zone_module;
#endif
#if (NGX_HTTP_STUB_STATUS)
extern ngx_module_t  ngx_http_stub_status_module;
#endif
#if (NGX_HTTP)
extern ngx_module_t  ngx_http_write_filter_module;
extern ngx_module_t  ngx_http_header_filter_module;
extern ngx_module_t  ngx_http_chunked_filter_module;
#endif
#if (NGX_HTTP_V2)
extern ngx_module_t  ngx_http_v2_filter_module;
#endif
#if (NGX_HTTP)
extern ngx_module_t  ngx_http_range_header_filter_module;
#endif
#if (NGX_HTTP_GZIP_FILTER)
extern ngx_module_t  ngx_http_gzip_filter_module;
#endif
#if (NGX_HTTP_BROTLI_FILTER)
extern ngx_module_t  ngx_http_brotli_filter_module;
#endif
#if (NGX_HTTP)
extern ngx_module_t  ngx_http_postpone_filter_module;
#endif
#if (NGX_HTTP_SSI)
extern ngx_module_t  ngx_http_ssi_filter_module;
#endif
#if (NGX_HTTP_CHARSET)
extern ngx_module_t  ngx_http_charset_filter_module;
#endif
#if 0
extern ngx_module_t  ngx_http_xslt_filter_module;
extern ngx_module_t  ngx_http_image_filter_module;
#endif
#if (NGX_HTTP_SUB)
extern ngx_module_t  ngx_http_sub_filter_module;
#endif
#if (NGX_HTTP_ADDITION)
extern ngx_module_t  ngx_http_addition_filter_module;
#endif
#if (NGX_HTTP_GUNZIP)
extern ngx_module_t  ngx_http_gunzip_filter_module;
#endif
#if (NGX_HTTP_USERID)
extern ngx_module_t  ngx_http_userid_filter_module;
#endif
#if (NGX_HTTP)
extern ngx_module_t  ngx_http_headers_filter_module;
extern ngx_module_t  ngx_http_copy_filter_module;
extern ngx_module_t  ngx_http_range_body_filter_module;
extern ngx_module_t  ngx_http_not_modified_filter_module;
#endif
#if (NGX_HTTP_SLICE)
extern ngx_module_t  ngx_http_slice_filter_module;
#endif

#if (NGX_MAIL)
extern ngx_module_t  ngx_mail_module;
extern ngx_module_t  ngx_mail_core_module;
#endif
#if (NGX_MAIL_SSL)
extern ngx_module_t  ngx_mail_ssl_module;
#endif
#if (NGX_MAIL_POP3)
extern ngx_module_t  ngx_mail_pop3_module;
#endif
#if (NGX_MAIL_IMAP)
extern ngx_module_t  ngx_mail_imap_module;
#endif
#if (NGX_MAIL_SMTP)
extern ngx_module_t  ngx_mail_smtp_module;
#endif
#if (NGX_MAIL)
extern ngx_module_t  ngx_mail_auth_http_module;
extern ngx_module_t  ngx_mail_proxy_module;
extern ngx_module_t  ngx_mail_realip_module;
#endif

#if (NGX_STREAM)
extern ngx_module_t  ngx_stream_module;
extern ngx_module_t  ngx_stream_core_module;
extern ngx_module_t  ngx_stream_log_module;
extern ngx_module_t  ngx_stream_proxy_module;
extern ngx_module_t  ngx_stream_upstream_module;
extern ngx_module_t  ngx_stream_write_filter_module;
#endif
#if (NGX_STREAM_SSL)
extern ngx_module_t  ngx_stream_ssl_module;
#endif
#if (NGX_STREAM_REALIP)
extern ngx_module_t  ngx_stream_realip_module;
#endif
#if (NGX_STREAM_LIMIT_CONN)
extern ngx_module_t  ngx_stream_limit_conn_module;
#endif
#if (NGX_STREAM_ACCESS)
extern ngx_module_t  ngx_stream_access_module;
#endif
#if (NGX_STREAM_GEO)
extern ngx_module_t  ngx_stream_geo_module;
#endif
#if (NGX_STREAM_MAP)
extern ngx_module_t  ngx_stream_map_module;
#endif
#if (NGX_STREAM_SPLIT_CLIENTS)
extern ngx_module_t  ngx_stream_split_clients_module;
#endif
#if (NGX_STREAM_RETURN)
extern ngx_module_t  ngx_stream_return_module;
#endif
#if (NGX_STREAM_SET)
extern ngx_module_t  ngx_stream_set_module;
#endif
#if (NGX_STREAM_UPSTREAM_HASH)
extern ngx_module_t  ngx_stream_upstream_hash_module;
#endif
#if (NGX_STREAM_UPSTREAM_LEAST_CONN)
extern ngx_module_t  ngx_stream_upstream_least_conn_module;
#endif
#if (NGX_STREAM_UPSTREAM_RANDOM)
extern ngx_module_t  ngx_stream_upstream_random_module;
#endif
#if (NGX_STREAM_UPSTREAM_ZONE)
extern ngx_module_t  ngx_stream_upstream_zone_module;
#endif
#if (NGX_STREAM_SSL_PREREAD)
extern ngx_module_t  ngx_stream_ssl_preread_module;
#endif

#if 0
extern ngx_module_t  ngx_google_perftools_module;
#endif


ngx_module_t *ngx_modules[] = {
    &ngx_core_module,
    &ngx_errlog_module,
    &ngx_conf_module,
#if (NGX_SSL)
    &ngx_openssl_module,
#endif
#if (NGX_PCRE)
    &ngx_regex_module,
#endif
    &ngx_events_module,
    &ngx_event_core_module,
#if (NGX_HAVE_EPOLL)
    &ngx_epoll_module,
#endif
#if (NGX_HAVE_KQUEUE)
    &ngx_kqueue_module,
#endif
#if (NGX_HAVE_SELECT)
    &ngx_select_module,
#endif
#if (NGX_HAVE_POLL)
    &ngx_poll_module,
#endif
#if (NGX_THREADS)
    &ngx_thread_pool_module,
#endif

#if (NGX_HTTP)
    &ngx_http_module,
    &ngx_http_core_module,
    &ngx_http_log_module,
    &ngx_http_upstream_module,
#endif
#if (NGX_HTTP_V2)
    &ngx_http_v2_module,
#endif
#if (NGX_HTTP)
    &ngx_http_static_module,
#endif
#if (NGX_HTTP_GZIP_STATIC)
    &ngx_http_gzip_static_module,
#endif
#if (NGX_HTTP_BROTLI_STATIC)
    &ngx_http_brotli_static_module,
#endif
#if (NGX_HTTP_DAV)
    &ngx_http_dav_module,
#endif
#if (NGX_HTTP_AUTOINDEX)
    &ngx_http_autoindex_module,
#endif
#if (NGX_HTTP)
    &ngx_http_index_module,
#endif
#if (NGX_HTTP_RANDOM_INDEX)
    &ngx_http_random_index_module,
#endif
#if (NGX_HTTP_MIRROR)
    &ngx_http_mirror_module,
#endif
#if (NGX_HTTP)
    &ngx_http_try_files_module,
#endif
#if (NGX_HTTP_AUTH_REQUEST)
    &ngx_http_auth_request_module,
#endif
#if (NGX_HTTP_AUTH_BASIC)
    &ngx_http_auth_basic_module,
#endif
#if (NGX_HTTP_ACCESS)
    &ngx_http_access_module,
#endif
#if (NGX_HTTP_LIMIT_CONN)
    &ngx_http_limit_conn_module,
#endif
#if (NGX_HTTP_LIMIT_REQ)
    &ngx_http_limit_req_module,
#endif
#if (NGX_HTTP_REALIP)
    &ngx_http_realip_module,
#endif
#if (NGX_HTTP_GEO)
    &ngx_http_geo_module,
#endif
#if 0
    &ngx_http_geoip_module,
#endif
#if (NGX_HTTP_MAP)
    &ngx_http_map_module,
#endif
#if (NGX_HTTP_SPLIT_CLIENTS)
    &ngx_http_split_clients_module,
#endif
#if (NGX_HTTP_REFERER)
    &ngx_http_referer_module,
#endif
#if (NGX_HTTP_REWRITE)
    &ngx_http_rewrite_module,
#endif
#if (NGX_HTTP_SSL)
    &ngx_http_ssl_module,
#endif
#if (NGX_HTTP_PROXY)
    &ngx_http_proxy_module,
#endif
#if (NGX_HTTP_FASTCGI)
    &ngx_http_fastcgi_module,
#endif
#if (NGX_HTTP_UWSGI)
    &ngx_http_uwsgi_module,
#endif
#if (NGX_HTTP_SCGI)
    &ngx_http_scgi_module,
#endif
#if (NGX_HTTP_GRPC)
    &ngx_http_grpc_module,
#endif
#if 0
    &ngx_http_perl_module,
#endif
#if (NGX_HTTP_MEMCACHED)
    &ngx_http_memcached_module,
#endif
#if (NGX_HTTP_EMPTY_GIF)
    &ngx_http_empty_gif_module,
#endif
#if (NGX_HTTP_BROWSER)
    &ngx_http_browser_module,
#endif
#if (NGX_HTTP_SECURE_LINK)
    &ngx_http_secure_link_module,
#endif
#if 0
    &ngx_http_degradation_module,
#endif
#if (NGX_HTTP_FLV)
    &ngx_http_flv_module,
#endif
#if (NGX_HTTP_MP4)
    &ngx_http_mp4_module,
#endif
#if (NGX_HTTP_UPSTREAM_HASH)
    &ngx_http_upstream_hash_module,
#endif
#if (NGX_HTTP_UPSTREAM_IP_HASH)
    &ngx_http_upstream_ip_hash_module,
#endif
#if (NGX_HTTP_UPSTREAM_LEAST_CONN)
    &ngx_http_upstream_least_conn_module,
#endif
#if (NGX_HTTP_UPSTREAM_RANDOM)
    &ngx_http_upstream_random_module,
#endif
#if (NGX_HTTP_UPSTREAM_KEEPALIVE)
    &ngx_http_upstream_keepalive_module,
#endif
#if (NGX_HTTP_UPSTREAM_ZONE)
    &ngx_http_upstream_zone_module,
#endif
#if (NGX_HTTP_STUB_STATUS)
    &ngx_http_stub_status_module,
#endif
#if (NGX_HTTP)
    &ngx_http_write_filter_module,
    &ngx_http_header_filter_module,
    &ngx_http_chunked_filter_module,
#endif
#if (NGX_HTTP_V2)
    &ngx_http_v2_filter_module,
#endif
#if (NGX_HTTP)
    &ngx_http_range_header_filter_module,
#endif
#if (NGX_HTTP_GZIP_FILTER)
    &ngx_http_gzip_filter_module,
#endif
#if (NGX_HTTP_BROTLI_FILTER)
    &ngx_http_brotli_filter_module,
#endif
#if (NGX_HTTP)
    &ngx_http_postpone_filter_module,
#endif
#if (NGX_HTTP_SSI)
    &ngx_http_ssi_filter_module,
#endif
#if (NGX_HTTP_CHARSET)
    &ngx_http_charset_filter_module,
#endif
#if 0
    &ngx_http_xslt_filter_module,
    &ngx_http_image_filter_module,
#endif
#if (NGX_HTTP_SUB)
    &ngx_http_sub_filter_module,
#endif
#if (NGX_HTTP_ADDITION)
    &ngx_http_addition_filter_module,
#endif
#if (NGX_HTTP_GUNZIP)
    &ngx_http_gunzip_filter_module,
#endif
#if (NGX_HTTP_USERID)
    &ngx_http_userid_filter_module,
#endif
#if (NGX_HTTP)
    &ngx_http_headers_filter_module,
    &ngx_http_copy_filter_module,
    &ngx_http_range_body_filter_module,
    &ngx_http_not_modified_filter_module,
#endif
#if (NGX_HTTP_SLICE)
    &ngx_http_slice_filter_module,
#endif

#if (NGX_MAIL)
    &ngx_mail_module,
    &ngx_mail_core_module,
#endif
#if (NGX_MAIL_SSL)
    &ngx_mail_ssl_module,
#endif
#if (NGX_MAIL_POP3)
    &ngx_mail_pop3_module,
#endif
#if (NGX_MAIL_IMAP)
    &ngx_mail_imap_module,
#endif
#if (NGX_MAIL_SMTP)
    &ngx_mail_smtp_module,
#endif
#if (NGX_MAIL)
    &ngx_mail_auth_http_module,
    &ngx_mail_proxy_module,
    &ngx_mail_realip_module,
#endif

#if (NGX_STREAM)
    &ngx_stream_module,
    &ngx_stream_core_module,
    &ngx_stream_log_module,
    &ngx_stream_proxy_module,
    &ngx_stream_upstream_module,
    &ngx_stream_write_filter_module,
#endif
#if (NGX_STREAM_SSL)
    &ngx_stream_ssl_module,
#endif
#if (NGX_STREAM_REALIP)
    &ngx_stream_realip_module,
#endif
#if (NGX_STREAM_LIMIT_CONN)
    &ngx_stream_limit_conn_module,
#endif
#if (NGX_STREAM_ACCESS)
    &ngx_stream_access_module,
#endif
#if (NGX_STREAM_GEO)
    &ngx_stream_geo_module,
#endif
#if (NGX_STREAM_MAP)
    &ngx_stream_map_module,
#endif
#if (NGX_STREAM_SPLIT_CLIENTS)
    &ngx_stream_split_clients_module,
#endif
#if (NGX_STREAM_RETURN)
    &ngx_stream_return_module,
#endif
#if (NGX_STREAM_SET)
    &ngx_stream_set_module,
#endif
#if (NGX_STREAM_UPSTREAM_HASH)
    &ngx_stream_upstream_hash_module,
#endif
#if (NGX_STREAM_UPSTREAM_LEAST_CONN)
    &ngx_stream_upstream_least_conn_module,
#endif
#if (NGX_STREAM_UPSTREAM_RANDOM)
    &ngx_stream_upstream_random_module,
#endif
#if (NGX_STREAM_UPSTREAM_ZONE)
    &ngx_stream_upstream_zone_module,
#endif
#if (NGX_STREAM_SSL_PREREAD)
    &ngx_stream_ssl_preread_module,
#endif

#if 0
    &ngx_google_perftools_module,
#endif
    NULL
};


char *ngx_module_names[] = {
    "ngx_core_module",
    "ngx_errlog_module",
    "ngx_conf_module",
#if (NGX_SSL)
    "ngx_openssl_module",
#endif
#if (NGX_PCRE)
    "ngx_regex_module",
#endif
    "ngx_events_module",
    "ngx_event_core_module",
#if (NGX_HAVE_EPOLL)
    "ngx_epoll_module",
#endif
#if (NGX_HAVE_KQUEUE)
    "ngx_kqueue_module",
#endif
#if (NGX_HAVE_SELECT)
    "ngx_select_module",
#endif
#if (NGX_HAVE_POLL)
    "ngx_poll_module",
#endif
#if (NGX_THREADS)
    "ngx_thread_pool_module",
#endif

#if (NGX_HTTP)
    "ngx_http_module",
    "ngx_http_core_module",
    "ngx_http_log_module",
    "ngx_http_upstream_module",
#endif
#if (NGX_HTTP_V2)
    "ngx_http_v2_module",
#endif
#if (NGX_HTTP)
    "ngx_http_static_module",
#endif
#if (NGX_HTTP_GZIP_STATIC)
    "ngx_http_gzip_static_module",
#endif
#if (NGX_HTTP_BROTLI_STATIC)
    "ngx_http_brotli_static_module",
#endif
#if (NGX_HTTP_DAV)
    "ngx_http_dav_module",
#endif
#if (NGX_HTTP_AUTOINDEX)
    "ngx_http_autoindex_module",
#endif
#if (NGX_HTTP)
    "ngx_http_index_module",
#endif
#if (NGX_HTTP_RANDOM_INDEX)
    "ngx_http_random_index_module",
#endif
#if (NGX_HTTP_MIRROR)
    "ngx_http_mirror_module",
#endif
#if (NGX_HTTP)
    "ngx_http_try_files_module",
#endif
#if (NGX_HTTP_AUTH_REQUEST)
    "ngx_http_auth_request_module",
#endif
#if (NGX_HTTP_AUTH_BASIC)
    "ngx_http_auth_basic_module",
#endif
#if (NGX_HTTP_ACCESS)
    "ngx_http_access_module",
#endif
#if (NGX_HTTP_LIMIT_CONN)
    "ngx_http_limit_conn_module",
#endif
#if (NGX_HTTP_LIMIT_REQ)
    "ngx_http_limit_req_module",
#endif
#if (NGX_HTTP_REALIP)
    "ngx_http_realip_module",
#endif
#if (NGX_HTTP_GEO)
    "ngx_http_geo_module",
#endif
#if 0
    "ngx_http_geoip_module",
#endif
#if (NGX_HTTP_MAP)
    "ngx_http_map_module",
#endif
#if (NGX_HTTP_SPLIT_CLIENTS)
    "ngx_http_split_clients_module",
#endif
#if (NGX_HTTP_REFERER)
    "ngx_http_referer_module",
#endif
#if (NGX_HTTP_REWRITE)
    "ngx_http_rewrite_module",
#endif
#if (NGX_HTTP_SSL)
    "ngx_http_ssl_module",
#endif
#if (NGX_HTTP_PROXY)
    "ngx_http_proxy_module",
#endif
#if (NGX_HTTP_FASTCGI)
    "ngx_http_fastcgi_module",
#endif
#if (NGX_HTTP_UWSGI)
    "ngx_http_uwsgi_module",
#endif
#if (NGX_HTTP_SCGI)
    "ngx_http_scgi_module",
#endif
#if (NGX_HTTP_GRPC)
    "ngx_http_grpc_module",
#endif
#if 0
    "ngx_http_perl_module",
#endif
#if (NGX_HTTP_MEMCACHED)
    "ngx_http_memcached_module",
#endif
#if (NGX_HTTP_EMPTY_GIF)
    "ngx_http_empty_gif_module",
#endif
#if (NGX_HTTP_BROWSER)
    "ngx_http_browser_module",
#endif
#if (NGX_HTTP_SECURE_LINK)
    "ngx_http_secure_link_module",
#endif
#if 0
    "ngx_http_degradation_module",
#endif
#if (NGX_HTTP_FLV)
    "ngx_http_flv_module",
#endif
#if (NGX_HTTP_MP4)
    "ngx_http_mp4_module",
#endif
#if (NGX_HTTP_UPSTREAM_HASH)
    "ngx_http_upstream_hash_module",
#endif
#if (NGX_HTTP_UPSTREAM_IP_HASH)
    "ngx_http_upstream_ip_hash_module",
#endif
#if (NGX_HTTP_UPSTREAM_LEAST_CONN)
    "ngx_http_upstream_least_conn_module",
#endif
#if (NGX_HTTP_UPSTREAM_RANDOM)
    "ngx_http_upstream_random_module",
#endif
#if (NGX_HTTP_UPSTREAM_KEEPALIVE)
    "ngx_http_upstream_keepalive_module",
#endif
#if (NGX_HTTP_UPSTREAM_ZONE)
    "ngx_http_upstream_zone_module",
#endif
#if (NGX_HTTP_STUB_STATUS)
    "ngx_http_stub_status_module",
#endif
#if (NGX_HTTP)
    "ngx_http_write_filter_module",
    "ngx_http_header_filter_module",
    "ngx_http_chunked_filter_module",
#endif
#if (NGX_HTTP_V2)
    "ngx_http_v2_filter_module",
#endif
#if (NGX_HTTP)
    "ngx_http_range_header_filter_module",
#endif
#if (NGX_HTTP_GZIP_FILTER)
    "ngx_http_gzip_filter_module",
#endif
#if (NGX_HTTP_BROTLI_FILTER)
    "ngx_http_brotli_filter_module",
#endif
#if (NGX_HTTP)
    "ngx_http_postpone_filter_module",
#endif
#if (NGX_HTTP_SSI)
    "ngx_http_ssi_filter_module",
#endif
#if (NGX_HTTP_CHARSET)
    "ngx_http_charset_filter_module",
#endif
#if 0
    "ngx_http_xslt_filter_module",
    "ngx_http_image_filter_module",
#endif
#if (NGX_HTTP_SUB)
    "ngx_http_sub_filter_module",
#endif
#if (NGX_HTTP_ADDITION)
    "ngx_http_addition_filter_module",
#endif
#if (NGX_HTTP_GUNZIP)
    "ngx_http_gunzip_filter_module",
#endif
#if (NGX_HTTP_USERID)
    "ngx_http_userid_filter_module",
#endif
#if (NGX_HTTP)
    "ngx_http_headers_filter_module",
    "ngx_http_copy_filter_module",
    "ngx_http_range_body_filter_module",
    "ngx_http_not_modified_filter_module",
#endif
#if (NGX_HTTP_SLICE)
    "ngx_http_slice_filter_module",
#endif

#if (NGX_MAIL)
    "ngx_mail_module",
    "ngx_mail_core_module",
#endif
#if (NGX_MAIL_SSL)
    "ngx_mail_ssl_module",
#endif
#if (NGX_MAIL_POP3)
    "ngx_mail_pop3_module",
#endif
#if (NGX_MAIL_IMAP)
    "ngx_mail_imap_module",
#endif
#if (NGX_MAIL_SMTP)
    "ngx_mail_smtp_module",
#endif
#if (NGX_MAIL)
    "ngx_mail_auth_http_module",
    "ngx_mail_proxy_module",
    "ngx_mail_realip_module",
#endif

#if (NGX_STREAM)
    "ngx_stream_module",
    "ngx_stream_core_module",
    "ngx_stream_log_module",
    "ngx_stream_proxy_module",
    "ngx_stream_upstream_module",
    "ngx_stream_write_filter_module",
#endif
#if (NGX_STREAM_SSL)
    "ngx_stream_ssl_module",
#endif
#if (NGX_STREAM_REALIP)
    "ngx_stream_realip_module",
#endif
#if (NGX_STREAM_LIMIT_CONN)
    "ngx_stream_limit_conn_module",
#endif
#if (NGX_STREAM_ACCESS)
    "ngx_stream_access_module",
#endif
#if (NGX_STREAM_GEO)
    "ngx_stream_geo_module",
#endif
#if (NGX_STREAM_MAP)
    "ngx_stream_map_module",
#endif
#if (NGX_STREAM_SPLIT_CLIENTS)
    "ngx_stream_split_clients_module",
#endif
#if (NGX_STREAM_RETURN)
    "ngx_stream_return_module",
#endif
#if (NGX_STREAM_SET)
    "ngx_stream_set_module",
#endif
#if (NGX_STREAM_UPSTREAM_HASH)
    "ngx_stream_upstream_hash_module",
#endif
#if (NGX_STREAM_UPSTREAM_LEAST_CONN)
    "ngx_stream_upstream_least_conn_module",
#endif
#if (NGX_STREAM_UPSTREAM_RANDOM)
    "ngx_stream_upstream_random_module",
#endif
#if (NGX_STREAM_UPSTREAM_ZONE)
    "ngx_stream_upstream_zone_module",
#endif
#if (NGX_STREAM_SSL_PREREAD)
    "ngx_stream_ssl_preread_module",
#endif

#if 0
    "ngx_google_perftools_module",
#endif
    NULL
};


void
ngx_show_configure_options(void)
{
    ngx_write_stderr("configure arguments:");

#ifdef NGX_PREFIX
    ngx_write_stderr(" --prefix=");
    (void) ngx_write_fd(ngx_stderr, NGX_PREFIX, ngx_strlen(NGX_PREFIX) - 1);
#endif
#ifdef NGX_CONF_PATH
    ngx_write_stderr(" --conf-path=" NGX_CONF_PATH);
#endif
#ifdef NGX_ERROR_LOG_PATH
    ngx_write_stderr(" --error-log-path=" NGX_ERROR_LOG_PATH);
#endif
#ifdef NGX_PID_PATH
    ngx_write_stderr(" --pid-path=" NGX_PID_PATH);
#endif
#ifdef NGX_LOCK_PATH
    ngx_write_stderr(" --lock-path=" NGX_LOCK_PATH);
#endif
#ifdef NGX_USER
    ngx_write_stderr(" --user=" NGX_USER);
#endif
#ifdef NGX_GROUP
    ngx_write_stderr(" --group=" NGX_GROUP);
#endif

#if (NGX_HTTP)
#ifdef NGX_HTTP_LOG_PATH
    ngx_write_stderr(" --http-log-path=" NGX_HTTP_LOG_PATH);
#endif
#ifdef NGX_HTTP_CLIENT_TEMP_PATH
    ngx_write_stderr(" --http-client-body-temp-path="
                     NGX_HTTP_CLIENT_TEMP_PATH);
#endif
#ifdef NGX_HTTP_FASTCGI_TEMP_PATH
    ngx_write_stderr(" --http-fastcgi-temp-path=" NGX_HTTP_FASTCGI_TEMP_PATH);
#endif
#ifdef NGX_HTTP_PROXY_TEMP_PATH
    ngx_write_stderr(" --http-proxy-temp-path=" NGX_HTTP_PROXY_TEMP_PATH);
#endif
#ifdef NGX_HTTP_SCGI_TEMP_PATH
    ngx_write_stderr(" --http-scgi-temp-path=" NGX_HTTP_SCGI_TEMP_PATH);
#endif
#ifdef NGX_HTTP_UWSGI_TEMP_PATH
    ngx_write_stderr(" --http-uwsgi-temp-path=" NGX_HTTP_UWSGI_TEMP_PATH);
#endif
#endif

#if (NGX_COMPAT)
    ngx_write_stderr(" --with-compat");
#endif
#if (NGX_DEBUG)
    ngx_write_stderr(" --with-debug");
#endif
#if (NGX_HAVE_FILE_AIO)
    ngx_write_stderr(" --with-file-aio");
#endif
#if (NGX_THREADS)
    ngx_write_stderr(" --with-threads");
#endif

#if (NGX_HAVE_POLL)
    ngx_write_stderr(" --with-poll_module");
#endif
#if (NGX_HAVE_SELECT)
    ngx_write_stderr(" --with-select_module");
#endif

#if (NGX_HTTP)
#if (NGX_HTTP_ADDITION)
    ngx_write_stderr(" --with-http_addition_module");
#endif
#if (NGX_HTTP_AUTH_REQUEST)
    ngx_write_stderr(" --with-http_auth_request_module");
#endif
#if (NGX_HTTP_DAV)
    ngx_write_stderr(" --with-http_dav_module");
#endif
#if 0
    ngx_write_stderr(" --with-http_degradation_module");
#endif
#if (NGX_HTTP_FLV)
    ngx_write_stderr(" --with-http_flv_module");
#endif
#if 0
    ngx_write_stderr(" --with-http_geoip_module");
#endif
#if (NGX_HTTP_GUNZIP)
    ngx_write_stderr(" --with-http_gunzip_module");
#endif
#if (NGX_HTTP_GZIP_STATIC)
    ngx_write_stderr(" --with-http_gzip_static_module");
#endif
#if 0
    ngx_write_stderr(" --with-http_image_filter_module");
#endif
#if (NGX_HTTP_MP4)
    ngx_write_stderr(" --with-http_mp4_module");
#endif
#if 0
    ngx_write_stderr(" --with-http_perl_module");
#endif
#if (NGX_HTTP_RANDOM_INDEX)
    ngx_write_stderr(" --with-http_random_index_module");
#endif
#if (NGX_HTTP_REALIP)
    ngx_write_stderr(" --with-http_realip_module");
#endif
#if (NGX_HTTP_SECURE_LINK)
    ngx_write_stderr(" --with-http_secure_link_module");
#endif
#if (NGX_HTTP_SLICE)
    ngx_write_stderr(" --with-http_slice_module");
#endif
#if (NGX_HTTP_SSL)
    ngx_write_stderr(" --with-http_ssl_module");
#endif
#if (NGX_HTTP_STUB_STATUS)
    ngx_write_stderr(" --with-http_stub_status_module");
#endif
#if (NGX_HTTP_SUB)
    ngx_write_stderr(" --with-http_sub_module");
#endif
#if (NGX_HTTP_V2)
    ngx_write_stderr(" --with-http_v2_module");
#endif
#if 0
    ngx_write_stderr(" --with-http_xslt_module");
#endif
#if !(NGX_HTTP_ACCESS)
    ngx_write_stderr(" --without-http_access_module");
#endif
#if !(NGX_HTTP_AUTH_BASIC)
    ngx_write_stderr(" --without-http_auth_basic_module");
#endif
#if !(NGX_HTTP_AUTOINDEX)
    ngx_write_stderr(" --without-http_autoindex_module");
#endif
#if !(NGX_HTTP_BROWSER)
    ngx_write_stderr(" --without-http_browser_module");
#endif
#if !(NGX_HTTP_CACHE)
    ngx_write_stderr(" --without-http-cache");
#endif
#if !(NGX_HTTP_CHARSET)
    ngx_write_stderr(" --without-http_charset_module");
#endif
#if !(NGX_HTTP_EMPTY_GIF)
    ngx_write_stderr(" --without-http_empty_gif_module");
#endif
#if !(NGX_HTTP_FASTCGI)
    ngx_write_stderr(" --without-http_fastcgi_module");
#endif
#if !(NGX_HTTP_GEO)
    ngx_write_stderr(" --without-http_geo_module");
#endif
#if !(NGX_HTTP_GRPC)
    ngx_write_stderr(" --without-http_grpc_module");
#endif
#if !(NGX_HTTP_GZIP_FILTER)
    ngx_write_stderr(" --without-http_gzip_module");
#endif
#if !(NGX_HTTP_LIMIT_CONN)
    ngx_write_stderr(" --without-http_limit_conn_module");
#endif
#if !(NGX_HTTP_LIMIT_REQ)
    ngx_write_stderr(" --without-http_limit_req_module");
#endif
#if !(NGX_HTTP_MAP)
    ngx_write_stderr(" --without-http_map_module");
#endif
#if !(NGX_HTTP_MEMCACHED)
    ngx_write_stderr(" --without-http_memcached_module");
#endif
#if !(NGX_HTTP_MIRROR)
    ngx_write_stderr(" --without-http_mirror_module");
#endif
#if !(NGX_HTTP_PROXY)
    ngx_write_stderr(" --without-http_proxy_module");
#endif
#if !(NGX_HTTP_REFERER)
    ngx_write_stderr(" --without-http_referer_module");
#endif
#if !(NGX_HTTP_REWRITE)
    ngx_write_stderr(" --without-http_rewrite_module");
#endif
#if !(NGX_HTTP_SCGI)
    ngx_write_stderr(" --without-http_scgi_module");
#endif
#if !(NGX_HTTP_SPLIT_CLIENTS)
    ngx_write_stderr(" --without-http_split_clients_module");
#endif
#if !(NGX_HTTP_SSI)
    ngx_write_stderr(" --without-http_ssi_module");
#endif
#if !(NGX_HTTP_UPSTREAM_HASH)
    ngx_write_stderr(" --without-http_upstream_hash_module");
#endif
#if !(NGX_HTTP_UPSTREAM_IP_HASH)
    ngx_write_stderr(" --without-http_upstream_ip_hash_module");
#endif
#if !(NGX_HTTP_UPSTREAM_KEEPALIVE)
    ngx_write_stderr(" --without-http_upstream_keepalive_module");
#endif
#if !(NGX_HTTP_UPSTREAM_LEAST_CONN)
    ngx_write_stderr(" --without-http_upstream_least_conn_module");
#endif
#if !(NGX_HTTP_UPSTREAM_RANDOM)
    ngx_write_stderr(" --without-http_upstream_random_module");
#endif
#if !(NGX_HTTP_UPSTREAM_ZONE)
    ngx_write_stderr(" --without-http_upstream_zone_module");
#endif
#if !(NGX_HTTP_USERID)
    ngx_write_stderr(" --without-http_userid_module");
#endif
#if !(NGX_HTTP_UWSGI)
    ngx_write_stderr(" --without-http_uwsgi_module");
#endif
#else
    ngx_write_stderr(" --without-http");
#endif

#if (NGX_MAIL)
    ngx_write_stderr(" --with-mail");
#if (NGX_MAIL_SSL)
    ngx_write_stderr(" --with-mail_ssl_module");
#endif
#if !(NGX_MAIL_IMAP)
    ngx_write_stderr(" --without-mail_imap_module");
#endif
#if !(NGX_MAIL_POP3)
    ngx_write_stderr(" --without-mail_pop3_module");
#endif
#if !(NGX_MAIL_SMTP)
    ngx_write_stderr(" --without-mail_smtp_module");
#endif
#endif

#if (NGX_STREAM)
    ngx_write_stderr(" --with-stream");
#if (NGX_STREAM_REALIP)
    ngx_write_stderr(" --with-stream_realip_module");
#endif
#if (NGX_STREAM_SSL)
    ngx_write_stderr(" --with-stream_ssl_module");
#endif
#if (NGX_STREAM_SSL_PREREAD)
    ngx_write_stderr(" --with-stream_ssl_preread_module");
#endif
#if !(NGX_STREAM_ACCESS)
    ngx_write_stderr(" --without-stream_access_module");
#endif
#if !(NGX_STREAM_GEO)
    ngx_write_stderr(" --without-stream_geo_module");
#endif
#if !(NGX_STREAM_LIMIT_CONN)
    ngx_write_stderr(" --without-stream_limit_conn_module");
#endif
#if !(NGX_STREAM_MAP)
    ngx_write_stderr(" --without-stream_map_module");
#endif
#if !(NGX_STREAM_RETURN)
    ngx_write_stderr(" --without-stream_return_module");
#endif
#if !(NGX_STREAM_SET)
    ngx_write_stderr(" --without-stream_set_module");
#endif
#if !(NGX_STREAM_SPLIT_CLIENTS)
    ngx_write_stderr(" --without-stream_split_clients_module");
#endif
#if !(NGX_STREAM_UPSTREAM_HASH)
    ngx_write_stderr(" --without-stream_upstream_hash_module");
#endif
#if !(NGX_STREAM_UPSTREAM_LEAST_CONN)
    ngx_write_stderr(" --without-stream_upstream_least_conn_module");
#endif
#if !(NGX_STREAM_UPSTREAM_RANDOM)
    ngx_write_stderr(" --without-stream_upstream_random_module");
#endif
#if !(NGX_STREAM_UPSTREAM_ZONE)
    ngx_write_stderr(" --without-stream_upstream_zone_module");
#endif
#endif

#if 0
    ngx_write_stderr(" --with-google_perftools_module");
#endif

#if (NGX_SSL)
    ngx_write_stderr(" --with-openssl=@boringssl");
#endif
#if (NGX_PCRE)
    ngx_write_stderr(" --with-pcre=@pcre");
#if (NGX_HAVE_PCRE_JIT)
    ngx_write_stderr(" --with-pcre-jit");
#endif
#if !(NGX_PCRE2)
    ngx_write_stderr(" --without-pcre2");
#endif
#endif
#if (NGX_ZLIB)
    ngx_write_stderr(" --with-zlib=@zlib");
#endif

#if (NGX_HTTP_BROTLI_FILTER)
    ngx_write_stderr(" --add-module=@ngx_brotli//:http_brotli_filter");
#endif
#if (NGX_HTTP_BROTLI_STATIC)
    ngx_write_stderr(" --add-module=@ngx_brotli//:http_brotli_static");
#endif

    ngx_write_stderr(NGX_LINEFEED);
}


#if !(NGX_NO_MAIN)

int ngx_cdecl
main(int argc, char *const *argv)
{
    return ngx_main(argc, argv);
}

#endif
