blob: 4dc9e1e664f89a7d6db060db8a805c50b8e6608e [file] [log] [blame]
Igor Sysoeva4b16df2004-02-02 21:19:52 +00001
Igor Sysoeve9b2cb12004-02-09 20:47:18 +00002if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then
3 EVENT_SELECT=YES
4fi
5
6if [ $EVENT_SELECT = YES ]; then
7 CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
8 EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
9fi
10
11
12if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then
13 EVENT_POLL=YES
14fi
15
16if [ $EVENT_POLL = YES ]; then
17 CORE_SRCS="$CORE_SRCS $POLL_SRCS"
18 EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
19fi
20
21
22if [ $TEST_BUILD_DEVPOLL = YES ]; then
Igor Sysoev9139cd22004-02-17 17:53:12 +000023 have=HAVE_DEVPOLL . auto/have
24 have=TEST_BUILD_DEVPOLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000025 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
26 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
27fi
28
29if [ $TEST_BUILD_EPOLL = YES ]; then
Igor Sysoev9139cd22004-02-17 17:53:12 +000030 have=HAVE_EPOLL . auto/have
31 have=TEST_BUILD_EPOLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000032 EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
33 CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
34fi
35
Igor Sysoev9139cd22004-02-17 17:53:12 +000036if [ $TEST_BUILD_RTSIG = YES ]; then
37 have=HAVE_RTSIG . auto/have
38 have=TEST_BUILD_RTSIG . auto/have
39 EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
40 CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000041fi
42
43
Igor Sysoev7823cc32004-07-14 16:01:42 +000044# the filter order is important
45# ngx_http_write_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +000046# ngx_http_header_filter
47# ngx_http_chunked_filter
48# ngx_http_range_header_filter
Igor Sysoev4aa88882004-07-14 20:07:58 +000049# ngx_http_ssl_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +000050# ngx_http_gzip_filter
51# ngx_http_charset_filter
52# ngx_http_ssi_filter
53# ngx_http_headers_filter
54# ngx_http_copy_filter
55# ngx_http_range_body_filter
56# ngx_http_not_modified_filter
57
Igor Sysoev4aa88882004-07-14 20:07:58 +000058HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \
59 $HTTP_HEADER_FILTER_MODULE \
60 $HTTP_CHUNKED_FILTER_MODULE \
61 $HTTP_RANGE_HEADER_FILTER_MODULE"
Igor Sysoev7823cc32004-07-14 16:01:42 +000062
Igor Sysoeva4b16df2004-02-02 21:19:52 +000063if [ $HTTP_GZIP = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +000064 have=NGX_HTTP_GZIP . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +000065 USE_ZLIB=YES
66 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
67 HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_SRCS"
68fi
69
Igor Sysoev5e150a02004-07-12 15:30:22 +000070if [ $HTTP_CHARSET = YES ]; then
71 have=NGX_HTTP_CHARSET . auto/have
72 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_CHARSET_FILTER_MODULE"
73 HTTP_SRCS="$HTTP_SRCS $HTTP_CHARSET_SRCS"
74fi
75
Igor Sysoeva4b16df2004-02-02 21:19:52 +000076if [ $HTTP_SSI = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +000077 have=NGX_HTTP_SSI . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +000078 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE"
79 HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS"
80fi
81
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +000082HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE $HTTP_INDEX_MODULE"
83
Igor Sysoev59f3aa32004-06-24 16:07:04 +000084if [ $HTTP_ACCESS = YES ]; then
85 have=NGX_HTTP_ACCESS . auto/have
86 HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESS_MODULE"
87 HTTP_SRCS="$HTTP_SRCS $HTTP_ACCESS_SRCS"
88fi
89
Igor Sysoevc83f6832004-06-24 07:53:37 +000090if [ $HTTP_STATUS = YES ]; then
91 have=NGX_HTTP_STATUS . auto/have
92 HTTP_MODULES="$HTTP_MODULES $HTTP_STATUS_MODULE"
93 HTTP_SRCS="$HTTP_SRCS $HTTP_STATUS_SRCS"
94fi
95
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +000096if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
97 have=NGX_HTTP_REWRITE . auto/have
98 USE_PCRE=YES
99 HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
100 HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
101fi
102
Igor Sysoevf38e0462004-07-16 17:11:43 +0000103if [ $HTTP_SSL = YES ]; then
Igor Sysoev0599b112004-07-25 18:34:14 +0000104 USE_OPENSSL=YES
105 have=NGX_HTTP_SSL . auto/have
Igor Sysoevf38e0462004-07-16 17:11:43 +0000106 HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
107 HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
108 HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
109
110 # STUB: move to auto/libs/ssl after md5
Igor Sysoev0599b112004-07-25 18:34:14 +0000111 #have=NGX_OPENSSL . auto/have
112 #CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
113 #CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
114 #CORE_LIBS="$CORE_LIBS -lssl -lcrypto"
Igor Sysoevf38e0462004-07-16 17:11:43 +0000115fi
116
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000117if [ $HTTP_PROXY = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +0000118 have=NGX_HTTP_PROXY . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000119 USE_MD5=YES
120 HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
121 HTTP_INCS="$HTTP_INCS $HTTP_PROXY_INCS"
122 HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
123 HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
124fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000125
Igor Sysoevab517d52004-05-18 15:29:08 +0000126if [ -r $OBJS/auto ]; then
127 . $OBJS/auto
128fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000129
Igor Sysoev3f4685f2004-04-25 20:13:21 +0000130modules="$CORE_MODULES $EVENT_MODULES $HTTP_MODULES $HTTP_FILTER_MODULES \
131 $HTTP_HEADERS_FILTER_MODULE \
Igor Sysoev31f7f6a2004-05-12 05:37:55 +0000132 $HTTP_COPY_FILTER_MODULE \
133 $HTTP_RANGE_BODY_FILTER_MODULE \
Igor Sysoev3f4685f2004-04-25 20:13:21 +0000134 $HTTP_NOT_MODIFIED_FILTER_MODULE"
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000135
136
137echo "#include <ngx_config.h>" > $NGX_MODULES_C
138echo "#include <ngx_core.h>" >> $NGX_MODULES_C
139echo >> $NGX_MODULES_C
140
141for mod in $modules
142do
143 echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
144done
145
146echo >> $NGX_MODULES_C
147echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
148
149for mod in $modules
150do
151 echo " &$mod," >> $NGX_MODULES_C
152done
153
154echo " NULL" >> $NGX_MODULES_C
155echo "};" >> $NGX_MODULES_C