Skip to content

Commit 0f3b2e5

Browse files
authored
Autotools: Move extension setup to main check (#15797)
Also, redundant PHP_MBREGEX check is removed and wrapped in a single "if" check.
1 parent 6d6bf05 commit 0f3b2e5

File tree

1 file changed

+61
-64
lines changed

1 file changed

+61
-64
lines changed

ext/mbstring/config.m4

Lines changed: 61 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -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-
5021
AC_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

8655
AC_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)
182179
fi

0 commit comments

Comments
 (0)