Mercurial > hg > nginx-quic
annotate auto/lib/pcre/conf @ 8369:2ed5d03c2d90
Events: fixed expiration of timers in the past.
If, at the start of an event loop iteration, there are any timers
in the past (including timers expiring now), the ngx_process_events()
function is called with zero timeout, and returns immediately even
if there are no events. But the following code only calls
ngx_event_expire_timers() if time actually changed, so this results
in nginx spinning in the event loop till current time changes.
While such timers are not expected to appear under normal conditions,
as all such timers should be removed on previous event loop iterations,
they still can appear due to bugs, zero timeouts set in the configuration
(if this is not explicitly handled by the code), or due to external
time changes on systems without clock_gettime(CLOCK_MONOTONIC).
Fix is to call ngx_event_expire_timers() unconditionally. Calling
it on each event loop iteration is not expected to be significant from
performance point of view, especially compared to a syscall in
ngx_process_events().
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 26 Mar 2021 01:44:59 +0300 |
parents | 78f8ac479735 |
children | 8007ea138d6a |
rev | line source |
---|---|
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
320
diff
changeset
|
1 |
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
320
diff
changeset
|
2 # Copyright (C) Igor Sysoev |
4412 | 3 # Copyright (C) Nginx, Inc. |
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
320
diff
changeset
|
4 |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
5 |
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
6 if [ $PCRE != NONE ]; then |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
295
diff
changeset
|
7 CORE_INCS="$CORE_INCS $PCRE" |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 |
455 | 9 case "$NGX_CC_NAME" in |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
10 |
6397
78f8ac479735
Win32: simplified and improved handling of MSVC versions.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5360
diff
changeset
|
11 msvc | owc | bcc) |
455 | 12 have=NGX_PCRE . auto/have |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
13 have=PCRE_STATIC . auto/have |
288
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
14 CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" |
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
15 LINK_DEPS="$LINK_DEPS $PCRE/pcre.lib" |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
16 CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib" |
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
17 ;; |
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
18 |
6397
78f8ac479735
Win32: simplified and improved handling of MSVC versions.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5360
diff
changeset
|
19 icc) |
455 | 20 have=NGX_PCRE . auto/have |
288
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
21 CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" |
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
22 |
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
23 LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a" |
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
24 |
523 | 25 echo $ngx_n "checking for PCRE library ...$ngx_c" |
26 | |
1306 | 27 if [ -f $PCRE/pcre.h ]; then |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
28 ngx_pcre_ver=`grep PCRE_MAJOR $PCRE/pcre.h \ |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
29 | sed -e 's/^.*PCRE_MAJOR.* \(.*\)$/\1/'` |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
30 |
1321 | 31 else if [ -f $PCRE/configure.in ]; then |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
32 ngx_pcre_ver=`grep PCRE_MAJOR= $PCRE/configure.in \ |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
33 | sed -e 's/^.*=\(.*\)$/\1/'` |
1305
1476d32c66a7
icc/sunc and PCRE-7.1+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
1085
diff
changeset
|
34 |
1476d32c66a7
icc/sunc and PCRE-7.1+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
1085
diff
changeset
|
35 else |
1476d32c66a7
icc/sunc and PCRE-7.1+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
1085
diff
changeset
|
36 ngx_pcre_ver=`grep pcre_major, $PCRE/configure.ac \ |
1476d32c66a7
icc/sunc and PCRE-7.1+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
1085
diff
changeset
|
37 | sed -e 's/^.*pcre_major,.*\[\(.*\)\].*$/\1/'` |
1476d32c66a7
icc/sunc and PCRE-7.1+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
1085
diff
changeset
|
38 fi |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
39 fi |
523 | 40 |
41 echo " $ngx_pcre_ver major version found" | |
42 | |
288
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
43 # to allow -ipo optimization we link with the *.o but not library |
523 | 44 |
45 case "$ngx_pcre_ver" in | |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
46 4|5) |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
47 CORE_LIBS="$CORE_LIBS $PCRE/pcre.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
48 ;; |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
49 |
523 | 50 6) |
51 CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o" | |
52 CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o" | |
53 CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o" | |
54 CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o" | |
55 CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o" | |
56 CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o" | |
57 CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o" | |
58 ;; | |
59 | |
60 *) | |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
61 CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
62 CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
63 CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
64 CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
65 CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
66 CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
67 CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
68 CORE_LIBS="$CORE_LIBS $PCRE/pcre_newline.o" |
523 | 69 ;; |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
70 |
523 | 71 esac |
288
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
72 ;; |
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
73 |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
74 *) |
455 | 75 have=NGX_PCRE . auto/have |
5360
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4960
diff
changeset
|
76 |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4960
diff
changeset
|
77 if [ "$NGX_PLATFORM" = win32 ]; then |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4960
diff
changeset
|
78 have=PCRE_STATIC . auto/have |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4960
diff
changeset
|
79 fi |
3d2d3e1cf427
Win32: MinGW GCC compatibility.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4960
diff
changeset
|
80 |
286
fc8dc489247e
nginx-0.0.2-2004-03-12-00:34:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
282
diff
changeset
|
81 CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" |
fc8dc489247e
nginx-0.0.2-2004-03-12-00:34:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
282
diff
changeset
|
82 LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a" |
306
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
83 CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre.a" |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
84 ;; |
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
85 |
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
86 esac |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
87 |
4388
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
88 |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
89 if [ $PCRE_JIT = YES ]; then |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
90 have=NGX_HAVE_PCRE_JIT . auto/have |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
91 PCRE_CONF_OPT="$PCRE_CONF_OPT --enable-jit" |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
92 fi |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
93 |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
94 else |
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
95 |
493 | 96 if [ "$NGX_PLATFORM" != win32 ]; then |
2010
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
97 |
455 | 98 PCRE=NO |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
99 |
455 | 100 ngx_feature="PCRE library" |
469 | 101 ngx_feature_name="NGX_PCRE" |
455 | 102 ngx_feature_run=no |
103 ngx_feature_incs="#include <pcre.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
104 ngx_feature_path= |
455 | 105 ngx_feature_libs="-lpcre" |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
106 ngx_feature_test="pcre *re; |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
107 re = pcre_compile(NULL, 0, NULL, 0, NULL); |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
108 if (re == NULL) return 1" |
455 | 109 . auto/feature |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
110 |
2010
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
111 if [ $ngx_found = no ]; then |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
112 |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
113 # FreeBSD port |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
114 |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
115 ngx_feature="PCRE library in /usr/local/" |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
116 ngx_feature_path="/usr/local/include" |
1490 | 117 |
118 if [ $NGX_RPATH = YES ]; then | |
119 ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpcre" | |
120 else | |
121 ngx_feature_libs="-L/usr/local/lib -lpcre" | |
122 fi | |
123 | |
2010
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
124 . auto/feature |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
125 fi |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
126 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
127 if [ $ngx_found = no ]; then |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
128 |
2141 | 129 # RedHat RPM, Solaris package |
2010
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
130 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
131 ngx_feature="PCRE library in /usr/include/pcre/" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
132 ngx_feature_path="/usr/include/pcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
133 ngx_feature_libs="-lpcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
134 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
135 . auto/feature |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
136 fi |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
137 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
138 if [ $ngx_found = no ]; then |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
139 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
140 # NetBSD port |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
141 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
142 ngx_feature="PCRE library in /usr/pkg/" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
143 ngx_feature_path="/usr/pkg/include" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
144 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
145 if [ $NGX_RPATH = YES ]; then |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
146 ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lpcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
147 else |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
148 ngx_feature_libs="-L/usr/pkg/lib -lpcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
149 fi |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
150 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
151 . auto/feature |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
152 fi |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
153 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
154 if [ $ngx_found = no ]; then |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
155 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
156 # MacPorts |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
157 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
158 ngx_feature="PCRE library in /opt/local/" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
159 ngx_feature_path="/opt/local/include" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
160 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
161 if [ $NGX_RPATH = YES ]; then |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
162 ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lpcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
163 else |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
164 ngx_feature_libs="-L/opt/local/lib -lpcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
165 fi |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
166 |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
167 . auto/feature |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
168 fi |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
169 |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
170 if [ $ngx_found = yes ]; then |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
171 CORE_INCS="$CORE_INCS $ngx_feature_path" |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
172 CORE_LIBS="$CORE_LIBS $ngx_feature_libs" |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
173 PCRE=YES |
3684
4d47a0658e7d
stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
174 fi |
4388
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
175 |
4396
eaace502bdf6
Fixed configure with system PCRE library on Solaris.
Valentin Bartenev <vbart@nginx.com>
parents:
4388
diff
changeset
|
176 if [ $PCRE = YES ]; then |
4388
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
177 ngx_feature="PCRE JIT support" |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
178 ngx_feature_name="NGX_HAVE_PCRE_JIT" |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
179 ngx_feature_test="int jit = 0; |
4960
b39d947fcb82
Configure: better check for PCRE JIT.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4559
diff
changeset
|
180 pcre_free_study(NULL); |
4388
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
181 pcre_config(PCRE_CONFIG_JIT, &jit); |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
182 if (jit != 1) return 1;" |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
183 . auto/feature |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
184 |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
185 if [ $ngx_found = yes ]; then |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
186 PCRE_JIT=YES |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
187 fi |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
188 fi |
3684
4d47a0658e7d
stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
189 fi |
2893
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
190 |
3684
4d47a0658e7d
stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
191 if [ $PCRE != YES ]; then |
2893
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
192 cat << END |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
193 |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
194 $0: error: the HTTP rewrite module requires the PCRE library. |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
195 You can either disable the module by using --without-http_rewrite_module |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
196 option, or install the PCRE library into the system, or build the PCRE library |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
197 statically from the source with nginx by using --with-pcre=<path> option. |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
198 |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
199 END |
3684
4d47a0658e7d
stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
200 exit 1 |
4d47a0658e7d
stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
201 fi |
2893
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
202 |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
203 fi |