@@ -18,69 +18,38 @@ AC_DEFUN([PHP_MBSTRING_ADD_CFLAG], [
1818 PHP_MBSTRING_CFLAGS="$PHP_MBSTRING_CFLAGS $1 "
1919] )
2020
21- AC_DEFUN ( [ PHP_MBSTRING_EXTENSION] , [
22- PHP_NEW_EXTENSION([ mbstring] ,
23- [ $PHP_MBSTRING_BASE_SOURCES $PHP_MBSTRING_SOURCES] ,
24- [ $ext_shared] ,,
25- [ $PHP_MBSTRING_CFLAGS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1] )
26- PHP_SUBST([ MBSTRING_SHARED_LIBADD] )
27-
28- for dir in $PHP_MBSTRING_EXTRA_BUILD_DIRS; do
29- PHP_ADD_BUILD_DIR([ $ext_builddir/$dir] , [ 1] )
30- done
31-
32- for dir in $PHP_MBSTRING_EXTRA_INCLUDES; do
33- PHP_ADD_INCLUDE([ $ext_srcdir/$dir] )
34- PHP_ADD_INCLUDE([ $ext_builddir/$dir] )
35- done
36-
37- out="php_config.h"
38-
39- if test "$ext_shared" != "no" && test -f "$ext_builddir/config.h.in"; then
40- out="$abs_builddir/config.h"
41- fi
42-
43- cat > $ext_builddir/libmbfl/config.h <<EOF
44- #include "$out"
45- EOF
46-
47- PHP_INSTALL_HEADERS([ ext/mbstring] , [ mbstring.h] )
48- ] )
49-
5021AC_DEFUN ( [ PHP_MBSTRING_SETUP_MBREGEX] , [
51- if test "$PHP_MBREGEX" = "yes"; then
52- PKG_CHECK_MODULES([ ONIG] , [ oniguruma] )
53- PHP_EVAL_LIBLINE([ $ONIG_LIBS] , [ MBSTRING_SHARED_LIBADD] )
54- PHP_EVAL_INCLINE([ $ONIG_CFLAGS] )
55-
56- AC_CACHE_CHECK ( [ if oniguruma has an invalid entry for KOI8 encoding] ,
57- [ php_cv_lib_onig_invalid_koi8] ,
58- [ save_old_LIBS=$LIBS
59- LIBS="$LIBS $MBSTRING_SHARED_LIBADD"
60- save_old_CFLAGS=$CFLAGS
61- CFLAGS="$CFLAGS $ONIG_CFLAGS"
62- AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [
63- #include <stdint.h>
64- #include <oniguruma.h>
65- ] ,
66- [ return (intptr_t)(ONIG_ENCODING_KOI8 + 1);] ) ] ,
67- [ php_cv_lib_onig_invalid_koi8=no] ,
68- [ php_cv_lib_onig_invalid_koi8=yes] )
69- LIBS=$save_old_LIBS
70- CFLAGS=$save_old_CFLAGS] )
71- AS_VAR_IF ( [ php_cv_lib_onig_invalid_koi8] , [ yes] ,
72- [ AC_DEFINE ( [ PHP_ONIG_BAD_KOI8_ENTRY] , [ 1] ,
73- [ Define to 1 if oniguruma has an invalid entry for KOI8 encoding.] ) ] )
74-
75- PHP_MBSTRING_ADD_CFLAG([ -DONIG_ESCAPE_UCHAR_COLLISION=1] )
76- PHP_MBSTRING_ADD_CFLAG([ -DUChar=OnigUChar] )
77-
78- AC_DEFINE ( [ HAVE_MBREGEX] , [ 1] ,
79- [ Define to 1 if mbstring has multibyte regex support enabled.] )
80-
81- PHP_MBSTRING_ADD_BASE_SOURCES([ php_mbregex.c] )
82- PHP_INSTALL_HEADERS([ ext/mbstring] , [ php_mbregex.h php_onig_compat.h] )
83- fi
22+ PKG_CHECK_MODULES([ ONIG] , [ oniguruma] )
23+ PHP_EVAL_LIBLINE([ $ONIG_LIBS] , [ MBSTRING_SHARED_LIBADD] )
24+ PHP_EVAL_INCLINE([ $ONIG_CFLAGS] )
25+
26+ AC_CACHE_CHECK ( [ if oniguruma has an invalid entry for KOI8 encoding] ,
27+ [ php_cv_lib_onig_invalid_koi8] ,
28+ [ save_old_LIBS=$LIBS
29+ LIBS="$LIBS $MBSTRING_SHARED_LIBADD"
30+ save_old_CFLAGS=$CFLAGS
31+ CFLAGS="$CFLAGS $ONIG_CFLAGS"
32+ AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [
33+ #include <stdint.h>
34+ #include <oniguruma.h>
35+ ] ,
36+ [ return (intptr_t)(ONIG_ENCODING_KOI8 + 1);] ) ] ,
37+ [ php_cv_lib_onig_invalid_koi8=no] ,
38+ [ php_cv_lib_onig_invalid_koi8=yes] )
39+ LIBS=$save_old_LIBS
40+ CFLAGS=$save_old_CFLAGS] )
41+ AS_VAR_IF ( [ php_cv_lib_onig_invalid_koi8] , [ yes] ,
42+ [ AC_DEFINE ( [ PHP_ONIG_BAD_KOI8_ENTRY] , [ 1] ,
43+ [ Define to 1 if oniguruma has an invalid entry for KOI8 encoding.] ) ] )
44+
45+ PHP_MBSTRING_ADD_CFLAG([ -DONIG_ESCAPE_UCHAR_COLLISION=1] )
46+ PHP_MBSTRING_ADD_CFLAG([ -DUChar=OnigUChar] )
47+
48+ AC_DEFINE ( [ HAVE_MBREGEX] , [ 1] ,
49+ [ Define to 1 if mbstring has multibyte regex support enabled.] )
50+
51+ PHP_MBSTRING_ADD_BASE_SOURCES([ php_mbregex.c] )
52+ PHP_INSTALL_HEADERS([ ext/mbstring] , [ php_mbregex.h php_onig_compat.h] )
8453] )
8554
8655AC_DEFUN ( [ PHP_MBSTRING_SETUP_LIBMBFL] , [
@@ -173,10 +142,38 @@ if test "$PHP_MBSTRING" != "no"; then
173142
174143 PHP_MBSTRING_ADD_BASE_SOURCES([ mbstring.c php_unicode.c mb_gpc.c] )
175144
176- AS_VAR_IF ( [ PHP_MBREGEX] , [ no ] , , [ PHP_MBSTRING_SETUP_MBREGEX] )
145+ AS_VAR_IF ( [ PHP_MBREGEX] , [ yes ] , [ PHP_MBSTRING_SETUP_MBREGEX] )
177146
178147 dnl libmbfl is required
179148 PHP_MBSTRING_SETUP_LIBMBFL
180- PHP_MBSTRING_EXTENSION
149+
150+ PHP_NEW_EXTENSION([ mbstring] ,
151+ [ $PHP_MBSTRING_BASE_SOURCES $PHP_MBSTRING_SOURCES] ,
152+ [ $ext_shared] ,,
153+ [ $PHP_MBSTRING_CFLAGS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1] )
154+
155+ PHP_SUBST([ MBSTRING_SHARED_LIBADD] )
156+
157+ for dir in $PHP_MBSTRING_EXTRA_BUILD_DIRS; do
158+ PHP_ADD_BUILD_DIR([ $ext_builddir/$dir] , [ 1] )
159+ done
160+
161+ for dir in $PHP_MBSTRING_EXTRA_INCLUDES; do
162+ PHP_ADD_INCLUDE([ $ext_srcdir/$dir] )
163+ PHP_ADD_INCLUDE([ $ext_builddir/$dir] )
164+ done
165+
166+ out="php_config.h"
167+
168+ if test "$ext_shared" != "no" && test -f "$ext_builddir/config.h.in"; then
169+ out="$abs_builddir/config.h"
170+ fi
171+
172+ cat > $ext_builddir/libmbfl/config.h <<EOF
173+ # include "$out"
174+ EOF
175+
176+ PHP_INSTALL_HEADERS([ ext/mbstring] , [ mbstring.h] )
177+
181178 PHP_ADD_EXTENSION_DEP(mbstring, pcre)
182179fi
0 commit comments