blob: 7bb1eb9a303a16663e3a2fd80b8a75f91a0e984e [file] [log] [blame]
Igor Sysoeva4b16df2004-02-02 21:19:52 +00001
Igor Sysoevff8da912004-09-29 16:00:49 +00002# Copyright (C) Igor Sysoev
3
4
Igor Sysoeve9b2cb12004-02-09 20:47:18 +00005if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then
6 EVENT_SELECT=YES
7fi
8
9if [ $EVENT_SELECT = YES ]; then
10 CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
11 EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
12fi
13
14
15if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then
16 EVENT_POLL=YES
17fi
18
19if [ $EVENT_POLL = YES ]; then
20 CORE_SRCS="$CORE_SRCS $POLL_SRCS"
21 EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
22fi
23
24
25if [ $TEST_BUILD_DEVPOLL = YES ]; then
Igor Sysoev9139cd22004-02-17 17:53:12 +000026 have=HAVE_DEVPOLL . auto/have
27 have=TEST_BUILD_DEVPOLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000028 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
29 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
30fi
31
32if [ $TEST_BUILD_EPOLL = YES ]; then
Igor Sysoev9139cd22004-02-17 17:53:12 +000033 have=HAVE_EPOLL . auto/have
34 have=TEST_BUILD_EPOLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000035 EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
36 CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
37fi
38
Igor Sysoev9139cd22004-02-17 17:53:12 +000039if [ $TEST_BUILD_RTSIG = YES ]; then
40 have=HAVE_RTSIG . auto/have
41 have=TEST_BUILD_RTSIG . auto/have
42 EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
43 CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000044fi
45
46
Igor Sysoev7823cc32004-07-14 16:01:42 +000047# the filter order is important
48# ngx_http_write_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +000049# ngx_http_header_filter
50# ngx_http_chunked_filter
51# ngx_http_range_header_filter
Igor Sysoev4aa88882004-07-14 20:07:58 +000052# ngx_http_ssl_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +000053# ngx_http_gzip_filter
54# ngx_http_charset_filter
55# ngx_http_ssi_filter
56# ngx_http_headers_filter
57# ngx_http_copy_filter
58# ngx_http_range_body_filter
59# ngx_http_not_modified_filter
60
Igor Sysoev4aa88882004-07-14 20:07:58 +000061HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \
62 $HTTP_HEADER_FILTER_MODULE \
63 $HTTP_CHUNKED_FILTER_MODULE \
64 $HTTP_RANGE_HEADER_FILTER_MODULE"
Igor Sysoev7823cc32004-07-14 16:01:42 +000065
Igor Sysoeva4b16df2004-02-02 21:19:52 +000066if [ $HTTP_GZIP = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +000067 have=NGX_HTTP_GZIP . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +000068 USE_ZLIB=YES
69 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
70 HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_SRCS"
71fi
72
Igor Sysoev5e150a02004-07-12 15:30:22 +000073if [ $HTTP_CHARSET = YES ]; then
74 have=NGX_HTTP_CHARSET . auto/have
75 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_CHARSET_FILTER_MODULE"
76 HTTP_SRCS="$HTTP_SRCS $HTTP_CHARSET_SRCS"
77fi
78
Igor Sysoeva4b16df2004-02-02 21:19:52 +000079if [ $HTTP_SSI = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +000080 have=NGX_HTTP_SSI . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +000081 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE"
82 HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS"
83fi
84
Igor Sysoeva7c4a2a2004-08-29 03:55:41 +000085if [ $HTTP_USERID = YES ]; then
86 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_USERID_FILTER_MODULE"
87 HTTP_SRCS="$HTTP_SRCS $HTTP_USERID_SRCS"
88fi
89
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +000090HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE $HTTP_INDEX_MODULE"
91
Igor Sysoev59f3aa32004-06-24 16:07:04 +000092if [ $HTTP_ACCESS = YES ]; then
93 have=NGX_HTTP_ACCESS . auto/have
94 HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESS_MODULE"
95 HTTP_SRCS="$HTTP_SRCS $HTTP_ACCESS_SRCS"
96fi
97
Igor Sysoevc83f6832004-06-24 07:53:37 +000098if [ $HTTP_STATUS = YES ]; then
99 have=NGX_HTTP_STATUS . auto/have
100 HTTP_MODULES="$HTTP_MODULES $HTTP_STATUS_MODULE"
101 HTTP_SRCS="$HTTP_SRCS $HTTP_STATUS_SRCS"
102fi
103
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000104if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
105 have=NGX_HTTP_REWRITE . auto/have
106 USE_PCRE=YES
107 HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
108 HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
109fi
110
Igor Sysoevf38e0462004-07-16 17:11:43 +0000111if [ $HTTP_SSL = YES ]; then
Igor Sysoev0599b112004-07-25 18:34:14 +0000112 USE_OPENSSL=YES
113 have=NGX_HTTP_SSL . auto/have
Igor Sysoevf38e0462004-07-16 17:11:43 +0000114 HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
115 HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
116 HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
Igor Sysoevf38e0462004-07-16 17:11:43 +0000117fi
118
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000119if [ $HTTP_PROXY = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +0000120 have=NGX_HTTP_PROXY . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000121 USE_MD5=YES
122 HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
123 HTTP_INCS="$HTTP_INCS $HTTP_PROXY_INCS"
124 HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
125 HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
126fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000127
Igor Sysoevab517d52004-05-18 15:29:08 +0000128if [ -r $OBJS/auto ]; then
129 . $OBJS/auto
130fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000131
Igor Sysoev980a9242004-09-05 19:54:02 +0000132modules="$CORE_MODULES $EVENT_MODULES"
133
134if [ $HTTP = YES ]; then
135 modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
136 $HTTP_HEADERS_FILTER_MODULE \
137 $HTTP_COPY_FILTER_MODULE \
138 $HTTP_RANGE_BODY_FILTER_MODULE \
139 $HTTP_NOT_MODIFIED_FILTER_MODULE"
140fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000141
Igor Sysoev59cf56c2004-09-07 15:29:22 +0000142IMAP_MODULES=$IMAP_MODULE
143
144if [ $IMAP = YES ]; then
145 modules="$modules $IMAP_MODULES"
146fi
147
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000148
149echo "#include <ngx_config.h>" > $NGX_MODULES_C
150echo "#include <ngx_core.h>" >> $NGX_MODULES_C
151echo >> $NGX_MODULES_C
152
153for mod in $modules
154do
155 echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
156done
157
158echo >> $NGX_MODULES_C
159echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
160
161for mod in $modules
162do
163 echo " &$mod," >> $NGX_MODULES_C
164done
165
166echo " NULL" >> $NGX_MODULES_C
167echo "};" >> $NGX_MODULES_C