@@ -53,10 +53,6 @@ AC_DEFUN([PHP_MBSTRING_EXTENSION], [
53
53
fi
54
54
fi
55
55
56
- if test "$PHP_MBSTRING_BUNDLED_ONIG" = "1"; then
57
- cp $ext_srcdir/oniguruma/src/oniguruma.h $ext_srcdir/oniguruma/oniguruma.h
58
- fi
59
-
60
56
for cfg in $PHP_MBSTRING_EXTRA_CONFIG_HEADERS; do
61
57
cat > $ext_builddir/$cfg <<EOF
62
58
#include "$out"
68
64
69
65
AC_DEFUN ( [ PHP_MBSTRING_SETUP_MBREGEX] , [
70
66
if test "$PHP_MBREGEX" = "yes"; then
71
- if test "$PHP_ONIG" = "yes" || test "$PHP_ONIG" = "no"; then
72
- dnl
73
- dnl Bundled oniguruma
74
- dnl
75
- PHP_MBSTRING_BUNDLED_ONIG=1
76
- if test "$PHP_MBREGEX_BACKTRACK" != "no"; then
77
- AC_DEFINE ( [ USE_COMBINATION_EXPLOSION_CHECK] ,1 ,[ whether to check multibyte regex backtrack] )
78
- fi
79
-
80
- AC_CHECK_HEADERS ( [ strings.h unistd.h sys/time.h sys/times.h limits.h] )
81
- AC_CHECK_SIZEOF ( int , 4 )
82
- AC_CHECK_SIZEOF ( short , 2 )
83
- AC_CHECK_SIZEOF ( long , 4 )
84
- AC_FUNC_ALLOCA
85
- AC_CHECK_HEADER ( [ stdarg.h] , [
86
- AC_DEFINE ( [ HAVE_STDARG_PROTOTYPES] , [ 1] , [ Define to 1 if you have the <stdarg.h> header file.] )
87
- ] , [ ] )
88
- AC_DEFINE ( [ PHP_ONIG_BUNDLED] , [ 1] , [ Define to 1 if the bundled oniguruma is used] )
89
- AC_DEFINE ( [ HAVE_ONIG] , [ 1] , [ Define to 1 if the oniguruma library is available] )
90
- PHP_MBSTRING_ADD_CFLAG([ -DNOT_RUBY] )
91
- PHP_MBSTRING_ADD_BUILD_DIR([ oniguruma] )
92
- PHP_MBSTRING_ADD_BUILD_DIR([ oniguruma/src] )
93
- PHP_MBSTRING_ADD_INCLUDE([ oniguruma] )
94
- PHP_MBSTRING_ADD_CONFIG_HEADER([ oniguruma/src/config.h] )
95
- PHP_MBSTRING_ADD_SOURCES([
96
- oniguruma/src/ascii.c
97
- oniguruma/src/big5.c
98
- oniguruma/src/cp1251.c
99
- oniguruma/src/euc_jp.c
100
- oniguruma/src/euc_jp_prop.c
101
- oniguruma/src/euc_kr.c
102
- oniguruma/src/euc_tw.c
103
- oniguruma/src/gb18030.c
104
- oniguruma/src/iso8859_1.c
105
- oniguruma/src/iso8859_10.c
106
- oniguruma/src/iso8859_11.c
107
- oniguruma/src/iso8859_13.c
108
- oniguruma/src/iso8859_14.c
109
- oniguruma/src/iso8859_15.c
110
- oniguruma/src/iso8859_16.c
111
- oniguruma/src/iso8859_2.c
112
- oniguruma/src/iso8859_3.c
113
- oniguruma/src/iso8859_4.c
114
- oniguruma/src/iso8859_5.c
115
- oniguruma/src/iso8859_6.c
116
- oniguruma/src/iso8859_7.c
117
- oniguruma/src/iso8859_8.c
118
- oniguruma/src/iso8859_9.c
119
- oniguruma/src/koi8.c
120
- oniguruma/src/koi8_r.c
121
- oniguruma/src/onig_init.c
122
- oniguruma/src/regcomp.c
123
- oniguruma/src/regenc.c
124
- oniguruma/src/regerror.c
125
- oniguruma/src/regexec.c
126
- oniguruma/src/regext.c
127
- oniguruma/src/reggnu.c
128
- oniguruma/src/regparse.c
129
- oniguruma/src/regposerr.c
130
- oniguruma/src/regposix.c
131
- oniguruma/src/regsyntax.c
132
- oniguruma/src/regtrav.c
133
- oniguruma/src/regversion.c
134
- oniguruma/src/sjis.c
135
- oniguruma/src/sjis_prop.c
136
- oniguruma/src/st.c
137
- oniguruma/src/unicode.c
138
- oniguruma/src/unicode_fold1_key.c
139
- oniguruma/src/unicode_fold2_key.c
140
- oniguruma/src/unicode_fold3_key.c
141
- oniguruma/src/unicode_unfold_key.c
142
- oniguruma/src/utf16_be.c
143
- oniguruma/src/utf16_le.c
144
- oniguruma/src/utf32_be.c
145
- oniguruma/src/utf32_le.c
146
- oniguruma/src/utf8.c
147
- ] )
148
- PHP_MBSTRING_ADD_INSTALL_HEADERS([ oniguruma/oniguruma.h] )
149
- else
150
- dnl
151
- dnl External oniguruma
152
- dnl
153
- PHP_MBSTRING_BUNDLED_ONIG=0
154
- if test ! -f "$PHP_ONIG/include/oniguruma.h"; then
155
- AC_MSG_ERROR ( [ oniguruma.h not found in $PHP_ONIG/include] )
156
- fi
157
- PHP_ADD_INCLUDE([ $PHP_ONIG/include] )
158
-
159
- PHP_CHECK_LIBRARY(onig, onig_init, [
160
- PHP_ADD_LIBRARY_WITH_PATH(onig, $PHP_ONIG/$PHP_LIBDIR, MBSTRING_SHARED_LIBADD)
161
- AC_DEFINE ( [ HAVE_ONIG] , [ 1] , [ Define to 1 if the oniguruma library is available] )
162
- ] ,[
163
- AC_MSG_ERROR ( [ Problem with oniguruma. Please check config.log for more information.] )
164
- ] , [
165
- -L$PHP_ONIG/$PHP_LIBDIR
166
- ] )
167
-
168
- save_old_LDFLAGS=$LDFLAGS
169
- PHP_EVAL_LIBLINE([ $MBSTRING_SHARED_LIBADD] , LDFLAGS)
170
- AC_MSG_CHECKING ( [ if oniguruma has an invalid entry for KOI8 encoding] )
171
- AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ [
67
+ PKG_CHECK_MODULES([ ONIG] , [ oniguruma] )
68
+ PHP_EVAL_LIBLINE($ONIG_LIBS, MBSTRING_SHARED_LIBADD)
69
+ PHP_EVAL_INCLINE($ONIG_CFLAGS)
70
+
71
+ save_old_LDFLAGS=$LDFLAGS
72
+ PHP_EVAL_LIBLINE([ $MBSTRING_SHARED_LIBADD] , LDFLAGS)
73
+ AC_MSG_CHECKING ( [ if oniguruma has an invalid entry for KOI8 encoding] )
74
+ AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ [
172
75
#include <oniguruma.h>
173
- ] ] , [ [
76
+ ] ] , [ [
174
77
return (int)(ONIG_ENCODING_KOI8 + 1);
175
- ] ] ) ] , [
176
- AC_MSG_RESULT ( [ no] )
177
- ] , [
178
- AC_MSG_RESULT ( [ yes] )
179
- AC_DEFINE ( [ PHP_ONIG_BAD_KOI8_ENTRY] , [ 1] , [ define to 1 if oniguruma has an invalid entry for KOI8 encoding] )
180
- ] )
181
- LDFLAGS=$save_old_LDFLAGS
182
- fi
78
+ ] ] ) ] , [
79
+ AC_MSG_RESULT ( [ no] )
80
+ ] , [
81
+ AC_MSG_RESULT ( [ yes] )
82
+ AC_DEFINE ( [ PHP_ONIG_BAD_KOI8_ENTRY] , [ 1] , [ define to 1 if oniguruma has an invalid entry for KOI8 encoding] )
83
+ ] )
84
+ LDFLAGS=$save_old_LDFLAGS
183
85
184
86
PHP_MBSTRING_ADD_CFLAG([ -DONIG_ESCAPE_UCHAR_COLLISION=1] )
185
87
PHP_MBSTRING_ADD_CFLAG([ -DUChar=OnigUChar] )
303
205
PHP_ARG_ENABLE(mbstring, whether to enable multibyte string support,
304
206
[ --enable-mbstring Enable multibyte string support] )
305
207
306
- PHP_ARG_ENABLE([ mbregex] , [ whether to enable multibyte regex support] ,
208
+ PHP_ARG_ENABLE([ mbregex] , [ whether to enable multibyte regex support (requires oniguruma) ] ,
307
209
[ --disable-mbregex MBSTRING: Disable multibyte regex support] , yes, no)
308
210
309
- PHP_ARG_ENABLE([ mbregex_backtrack] , [ whether to check multibyte regex backtrack] ,
310
- [ --disable-mbregex-backtrack
311
- MBSTRING: Disable multibyte regex backtrack check] , yes, no)
312
-
313
- PHP_ARG_WITH(onig, [ for external oniguruma] ,
314
- [ --with-onig[ =DIR] MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix.
315
- If DIR is not set, the bundled oniguruma will be used] , no, no)
316
-
317
211
if test "$PHP_MBSTRING" != "no"; then
318
212
AC_DEFINE ( [ HAVE_MBSTRING] ,1 ,[ whether to have multibyte string support] )
319
213
0 commit comments