blob: bfbab158e0945028b84f3c662581ba6eb68d3c77 [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 Sysoeva7c4a2a2004-08-29 03:55:41 +000082if [ $HTTP_USERID = YES ]; then
83 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_USERID_FILTER_MODULE"
84 HTTP_SRCS="$HTTP_SRCS $HTTP_USERID_SRCS"
85fi
86
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +000087HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE $HTTP_INDEX_MODULE"
88
Igor Sysoev59f3aa32004-06-24 16:07:04 +000089if [ $HTTP_ACCESS = YES ]; then
90 have=NGX_HTTP_ACCESS . auto/have
91 HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESS_MODULE"
92 HTTP_SRCS="$HTTP_SRCS $HTTP_ACCESS_SRCS"
93fi
94
Igor Sysoevc83f6832004-06-24 07:53:37 +000095if [ $HTTP_STATUS = YES ]; then
96 have=NGX_HTTP_STATUS . auto/have
97 HTTP_MODULES="$HTTP_MODULES $HTTP_STATUS_MODULE"
98 HTTP_SRCS="$HTTP_SRCS $HTTP_STATUS_SRCS"
99fi
100
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000101if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
102 have=NGX_HTTP_REWRITE . auto/have
103 USE_PCRE=YES
104 HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
105 HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
106fi
107
Igor Sysoevf38e0462004-07-16 17:11:43 +0000108if [ $HTTP_SSL = YES ]; then
Igor Sysoev0599b112004-07-25 18:34:14 +0000109 USE_OPENSSL=YES
110 have=NGX_HTTP_SSL . auto/have
Igor Sysoevf38e0462004-07-16 17:11:43 +0000111 HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
112 HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
113 HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
Igor Sysoevf38e0462004-07-16 17:11:43 +0000114fi
115
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000116if [ $HTTP_PROXY = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +0000117 have=NGX_HTTP_PROXY . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000118 USE_MD5=YES
119 HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
120 HTTP_INCS="$HTTP_INCS $HTTP_PROXY_INCS"
121 HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
122 HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
123fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000124
Igor Sysoevab517d52004-05-18 15:29:08 +0000125if [ -r $OBJS/auto ]; then
126 . $OBJS/auto
127fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000128
Igor Sysoev980a9242004-09-05 19:54:02 +0000129modules="$CORE_MODULES $EVENT_MODULES"
130
131if [ $HTTP = YES ]; then
132 modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
133 $HTTP_HEADERS_FILTER_MODULE \
134 $HTTP_COPY_FILTER_MODULE \
135 $HTTP_RANGE_BODY_FILTER_MODULE \
136 $HTTP_NOT_MODIFIED_FILTER_MODULE"
137fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000138
Igor Sysoev59cf56c2004-09-07 15:29:22 +0000139IMAP_MODULES=$IMAP_MODULE
140
141if [ $IMAP = YES ]; then
142 modules="$modules $IMAP_MODULES"
143fi
144
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000145
146echo "#include <ngx_config.h>" > $NGX_MODULES_C
147echo "#include <ngx_core.h>" >> $NGX_MODULES_C
148echo >> $NGX_MODULES_C
149
150for mod in $modules
151do
152 echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
153done
154
155echo >> $NGX_MODULES_C
156echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
157
158for mod in $modules
159do
160 echo " &$mod," >> $NGX_MODULES_C
161done
162
163echo " NULL" >> $NGX_MODULES_C
164echo "};" >> $NGX_MODULES_C