Skip to content

Commit 5c5bd30

Browse files
petknikic
authored andcommitted
Remove --with-libmbfl configure option
The bundled libmbfl library is no longer API or ABI compatible with the (currently unmaintained) upstream library. As such, building against an external libmbfl is no longer possible.
1 parent 1a9e643 commit 5c5bd30

File tree

2 files changed

+159
-205
lines changed

2 files changed

+159
-205
lines changed

ext/mbstring/config.m4

Lines changed: 117 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ AC_DEFUN([PHP_MBSTRING_EXTENSION], [
3737
for dir in $PHP_MBSTRING_EXTRA_BUILD_DIRS; do
3838
PHP_ADD_BUILD_DIR([$ext_builddir/$dir], 1)
3939
done
40-
40+
4141
for dir in $PHP_MBSTRING_EXTRA_INCLUDES; do
4242
PHP_ADD_INCLUDE([$ext_srcdir/$dir])
4343
PHP_ADD_INCLUDE([$ext_builddir/$dir])
@@ -54,8 +54,8 @@ AC_DEFUN([PHP_MBSTRING_EXTENSION], [
5454
out="php_config.h"
5555
fi
5656
fi
57-
58-
if test "$PHP_MBSTRING_BUNDLED_ONIG" = "1"; then
57+
58+
if test "$PHP_MBSTRING_BUNDLED_ONIG" = "1"; then
5959
cp $ext_srcdir/oniguruma/src/oniguruma.h $ext_srcdir/oniguruma/oniguruma.h
6060
fi
6161
@@ -83,12 +83,12 @@ AC_DEFUN([PHP_MBSTRING_SETUP_MBREGEX], [
8383
AC_TRY_RUN([
8484
#include <stdarg.h>
8585
int foo(int x, ...) {
86-
va_list va;
87-
va_start(va, x);
88-
va_arg(va, int);
89-
va_arg(va, char *);
90-
va_arg(va, double);
91-
return 0;
86+
va_list va;
87+
va_start(va, x);
88+
va_arg(va, int);
89+
va_arg(va, char *);
90+
va_arg(va, double);
91+
return 0;
9292
}
9393
int main() { return foo(10, "", 3.14); }
9494
], [php_cv_mbstring_stdarg=yes], [php_cv_mbstring_stdarg=no], [
@@ -101,21 +101,21 @@ int main() { return foo(10, "", 3.14); }
101101
AC_CHECK_SIZEOF(short, 2)
102102
AC_CHECK_SIZEOF(long, 4)
103103
AC_C_CONST
104-
AC_HEADER_TIME
104+
AC_HEADER_TIME
105105
AC_FUNC_ALLOCA
106106
AC_FUNC_MEMCMP
107107
AC_CHECK_HEADER([stdarg.h], [
108108
AC_DEFINE([HAVE_STDARG_PROTOTYPES], [1], [Define to 1 if you have the <stdarg.h> header file.])
109109
], [])
110110
AC_DEFINE([PHP_ONIG_BUNDLED], [1], [Define to 1 if the bundled oniguruma is used])
111-
AC_DEFINE([HAVE_ONIG], [1], [Define to 1 if the oniguruma library is available])
111+
AC_DEFINE([HAVE_ONIG], [1], [Define to 1 if the oniguruma library is available])
112112
PHP_MBSTRING_ADD_CFLAG([-DNOT_RUBY])
113113
PHP_MBSTRING_ADD_BUILD_DIR([oniguruma])
114114
PHP_MBSTRING_ADD_BUILD_DIR([oniguruma/src])
115115
PHP_MBSTRING_ADD_INCLUDE([oniguruma])
116116
PHP_MBSTRING_ADD_CONFIG_HEADER([oniguruma/src/config.h])
117117
PHP_MBSTRING_ADD_SOURCES([
118-
oniguruma/src/ascii.c
118+
oniguruma/src/ascii.c
119119
oniguruma/src/big5.c
120120
oniguruma/src/cp1251.c
121121
oniguruma/src/euc_jp.c
@@ -180,7 +180,7 @@ int main() { return foo(10, "", 3.14); }
180180
181181
PHP_CHECK_LIBRARY(onig, onig_init, [
182182
PHP_ADD_LIBRARY_WITH_PATH(onig, $PHP_ONIG/$PHP_LIBDIR, MBSTRING_SHARED_LIBADD)
183-
AC_DEFINE([HAVE_ONIG], [1], [Define to 1 if the oniguruma library is available])
183+
AC_DEFINE([HAVE_ONIG], [1], [Define to 1 if the oniguruma library is available])
184184
],[
185185
AC_MSG_ERROR([Problem with oniguruma. Please check config.log for more information.])
186186
], [
@@ -214,135 +214,108 @@ return (int)(ONIG_ENCODING_KOI8 + 1);
214214
])
215215

216216
AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [
217-
dnl libmbfl is required and can not be disabled
218-
if test "$PHP_LIBMBFL" = "yes" || test "$PHP_LIBMBFL" = "no"; then
219-
dnl
220-
dnl Bundled libmbfl
221-
dnl
222-
PHP_MBSTRING_ADD_BUILD_DIR([libmbfl])
223-
PHP_MBSTRING_ADD_BUILD_DIR([libmbfl/mbfl])
224-
PHP_MBSTRING_ADD_BUILD_DIR([libmbfl/filters])
225-
PHP_MBSTRING_ADD_BUILD_DIR([libmbfl/nls])
226-
PHP_MBSTRING_ADD_INCLUDE([libmbfl])
227-
PHP_MBSTRING_ADD_INCLUDE([libmbfl/mbfl])
228-
PHP_MBSTRING_ADD_CONFIG_HEADER([libmbfl/config.h])
229-
230-
PHP_MBSTRING_ADD_SOURCES([
231-
libmbfl/filters/html_entities.c
232-
libmbfl/filters/mbfilter_7bit.c
233-
libmbfl/filters/mbfilter_ascii.c
234-
libmbfl/filters/mbfilter_base64.c
235-
libmbfl/filters/mbfilter_big5.c
236-
libmbfl/filters/mbfilter_byte2.c
237-
libmbfl/filters/mbfilter_byte4.c
238-
libmbfl/filters/mbfilter_cp1251.c
239-
libmbfl/filters/mbfilter_cp1252.c
240-
libmbfl/filters/mbfilter_cp1254.c
241-
libmbfl/filters/mbfilter_cp5022x.c
242-
libmbfl/filters/mbfilter_cp51932.c
243-
libmbfl/filters/mbfilter_cp850.c
244-
libmbfl/filters/mbfilter_cp866.c
245-
libmbfl/filters/mbfilter_cp932.c
246-
libmbfl/filters/mbfilter_cp936.c
247-
libmbfl/filters/mbfilter_gb18030.c
248-
libmbfl/filters/mbfilter_euc_cn.c
249-
libmbfl/filters/mbfilter_euc_jp.c
250-
libmbfl/filters/mbfilter_euc_jp_2004.c
251-
libmbfl/filters/mbfilter_euc_jp_win.c
252-
libmbfl/filters/mbfilter_euc_kr.c
253-
libmbfl/filters/mbfilter_euc_tw.c
254-
libmbfl/filters/mbfilter_htmlent.c
255-
libmbfl/filters/mbfilter_hz.c
256-
libmbfl/filters/mbfilter_iso2022_jp_ms.c
257-
libmbfl/filters/mbfilter_iso2022jp_2004.c
258-
libmbfl/filters/mbfilter_iso2022jp_mobile.c
259-
libmbfl/filters/mbfilter_iso2022_kr.c
260-
libmbfl/filters/mbfilter_iso8859_1.c
261-
libmbfl/filters/mbfilter_iso8859_10.c
262-
libmbfl/filters/mbfilter_iso8859_13.c
263-
libmbfl/filters/mbfilter_iso8859_14.c
264-
libmbfl/filters/mbfilter_iso8859_15.c
265-
libmbfl/filters/mbfilter_iso8859_16.c
266-
libmbfl/filters/mbfilter_iso8859_2.c
267-
libmbfl/filters/mbfilter_iso8859_3.c
268-
libmbfl/filters/mbfilter_iso8859_4.c
269-
libmbfl/filters/mbfilter_iso8859_5.c
270-
libmbfl/filters/mbfilter_iso8859_6.c
271-
libmbfl/filters/mbfilter_iso8859_7.c
272-
libmbfl/filters/mbfilter_iso8859_8.c
273-
libmbfl/filters/mbfilter_iso8859_9.c
274-
libmbfl/filters/mbfilter_jis.c
275-
libmbfl/filters/mbfilter_koi8r.c
276-
libmbfl/filters/mbfilter_armscii8.c
277-
libmbfl/filters/mbfilter_qprint.c
278-
libmbfl/filters/mbfilter_sjis.c
279-
libmbfl/filters/mbfilter_sjis_open.c
280-
libmbfl/filters/mbfilter_sjis_mobile.c
281-
libmbfl/filters/mbfilter_sjis_mac.c
282-
libmbfl/filters/mbfilter_sjis_2004.c
283-
libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c
284-
libmbfl/filters/mbfilter_ucs2.c
285-
libmbfl/filters/mbfilter_ucs4.c
286-
libmbfl/filters/mbfilter_uhc.c
287-
libmbfl/filters/mbfilter_utf16.c
288-
libmbfl/filters/mbfilter_utf32.c
289-
libmbfl/filters/mbfilter_utf7.c
290-
libmbfl/filters/mbfilter_utf7imap.c
291-
libmbfl/filters/mbfilter_utf8.c
292-
libmbfl/filters/mbfilter_utf8_mobile.c
293-
libmbfl/filters/mbfilter_uuencode.c
294-
libmbfl/filters/mbfilter_koi8u.c
295-
libmbfl/mbfl/mbfilter.c
296-
libmbfl/mbfl/mbfilter_8bit.c
297-
libmbfl/mbfl/mbfilter_pass.c
298-
libmbfl/mbfl/mbfilter_wchar.c
299-
libmbfl/mbfl/mbfl_convert.c
300-
libmbfl/mbfl/mbfl_encoding.c
301-
libmbfl/mbfl/mbfl_filter_output.c
302-
libmbfl/mbfl/mbfl_ident.c
303-
libmbfl/mbfl/mbfl_language.c
304-
libmbfl/mbfl/mbfl_memory_device.c
305-
libmbfl/mbfl/mbfl_string.c
306-
libmbfl/mbfl/mbfl_allocators.c
307-
libmbfl/nls/nls_de.c
308-
libmbfl/nls/nls_en.c
309-
libmbfl/nls/nls_ja.c
310-
libmbfl/nls/nls_kr.c
311-
libmbfl/nls/nls_neutral.c
312-
libmbfl/nls/nls_ru.c
313-
libmbfl/nls/nls_uni.c
314-
libmbfl/nls/nls_zh.c
315-
libmbfl/nls/nls_hy.c
316-
libmbfl/nls/nls_tr.c
317-
libmbfl/nls/nls_ua.c
318-
])
319-
PHP_MBSTRING_ADD_CFLAG([-DHAVE_CONFIG_H])
320-
PHP_MBSTRING_ADD_INSTALL_HEADERS([libmbfl/config.h libmbfl/mbfl/eaw_table.h libmbfl/mbfl/mbfilter.h libmbfl/mbfl/mbfilter_8bit.h libmbfl/mbfl/mbfilter_pass.h libmbfl/mbfl/mbfilter_wchar.h libmbfl/mbfl/mbfl_allocators.h libmbfl/mbfl/mbfl_consts.h libmbfl/mbfl/mbfl_convert.h libmbfl/mbfl/mbfl_defs.h libmbfl/mbfl/mbfl_encoding.h libmbfl/mbfl/mbfl_filter_output.h libmbfl/mbfl/mbfl_ident.h libmbfl/mbfl/mbfl_language.h libmbfl/mbfl/mbfl_memory_device.h libmbfl/mbfl/mbfl_string.h])
321-
else
322-
dnl
323-
dnl External libmfl
324-
dnl
325-
for inc in include include/mbfl-1.0 include/mbfl; do
326-
if test -f "$PHP_LIBMBFL/$inc/mbfilter.h"; then
327-
PHP_LIBMBFL_INCLUDE="$inc"
328-
break
329-
fi
330-
done
331-
332-
if test -z "$PHP_LIBMBFL_INCLUDE"; then
333-
AC_MSG_ERROR([mbfilter.h not found. Please reinstall libmbfl library.])
334-
else
335-
PHP_ADD_INCLUDE([$PHP_LIBMBFL_INCLUDE])
336-
fi
337-
338-
PHP_CHECK_LIBRARY(mbfl, mbfl_buffer_converter_new, [
339-
PHP_ADD_LIBRARY_WITH_PATH(mbfl, $PHP_LIBMBFL/$PHP_LIBDIR, MBSTRING_SHARED_LIBADD)
340-
],[
341-
AC_MSG_ERROR([Problem with libmbfl. Please check config.log for more information.])
342-
], [
343-
-L$PHP_LIBMBFL/$PHP_LIBDIR
344-
])
345-
fi
217+
dnl
218+
dnl Bundled libmbfl is required and can not be disabled
219+
dnl
220+
PHP_MBSTRING_ADD_BUILD_DIR([libmbfl])
221+
PHP_MBSTRING_ADD_BUILD_DIR([libmbfl/mbfl])
222+
PHP_MBSTRING_ADD_BUILD_DIR([libmbfl/filters])
223+
PHP_MBSTRING_ADD_BUILD_DIR([libmbfl/nls])
224+
PHP_MBSTRING_ADD_INCLUDE([libmbfl])
225+
PHP_MBSTRING_ADD_INCLUDE([libmbfl/mbfl])
226+
PHP_MBSTRING_ADD_CONFIG_HEADER([libmbfl/config.h])
227+
228+
PHP_MBSTRING_ADD_SOURCES([
229+
libmbfl/filters/html_entities.c
230+
libmbfl/filters/mbfilter_7bit.c
231+
libmbfl/filters/mbfilter_ascii.c
232+
libmbfl/filters/mbfilter_base64.c
233+
libmbfl/filters/mbfilter_big5.c
234+
libmbfl/filters/mbfilter_byte2.c
235+
libmbfl/filters/mbfilter_byte4.c
236+
libmbfl/filters/mbfilter_cp1251.c
237+
libmbfl/filters/mbfilter_cp1252.c
238+
libmbfl/filters/mbfilter_cp1254.c
239+
libmbfl/filters/mbfilter_cp5022x.c
240+
libmbfl/filters/mbfilter_cp51932.c
241+
libmbfl/filters/mbfilter_cp850.c
242+
libmbfl/filters/mbfilter_cp866.c
243+
libmbfl/filters/mbfilter_cp932.c
244+
libmbfl/filters/mbfilter_cp936.c
245+
libmbfl/filters/mbfilter_gb18030.c
246+
libmbfl/filters/mbfilter_euc_cn.c
247+
libmbfl/filters/mbfilter_euc_jp.c
248+
libmbfl/filters/mbfilter_euc_jp_2004.c
249+
libmbfl/filters/mbfilter_euc_jp_win.c
250+
libmbfl/filters/mbfilter_euc_kr.c
251+
libmbfl/filters/mbfilter_euc_tw.c
252+
libmbfl/filters/mbfilter_htmlent.c
253+
libmbfl/filters/mbfilter_hz.c
254+
libmbfl/filters/mbfilter_iso2022_jp_ms.c
255+
libmbfl/filters/mbfilter_iso2022jp_2004.c
256+
libmbfl/filters/mbfilter_iso2022jp_mobile.c
257+
libmbfl/filters/mbfilter_iso2022_kr.c
258+
libmbfl/filters/mbfilter_iso8859_1.c
259+
libmbfl/filters/mbfilter_iso8859_10.c
260+
libmbfl/filters/mbfilter_iso8859_13.c
261+
libmbfl/filters/mbfilter_iso8859_14.c
262+
libmbfl/filters/mbfilter_iso8859_15.c
263+
libmbfl/filters/mbfilter_iso8859_16.c
264+
libmbfl/filters/mbfilter_iso8859_2.c
265+
libmbfl/filters/mbfilter_iso8859_3.c
266+
libmbfl/filters/mbfilter_iso8859_4.c
267+
libmbfl/filters/mbfilter_iso8859_5.c
268+
libmbfl/filters/mbfilter_iso8859_6.c
269+
libmbfl/filters/mbfilter_iso8859_7.c
270+
libmbfl/filters/mbfilter_iso8859_8.c
271+
libmbfl/filters/mbfilter_iso8859_9.c
272+
libmbfl/filters/mbfilter_jis.c
273+
libmbfl/filters/mbfilter_koi8r.c
274+
libmbfl/filters/mbfilter_armscii8.c
275+
libmbfl/filters/mbfilter_qprint.c
276+
libmbfl/filters/mbfilter_sjis.c
277+
libmbfl/filters/mbfilter_sjis_open.c
278+
libmbfl/filters/mbfilter_sjis_mobile.c
279+
libmbfl/filters/mbfilter_sjis_mac.c
280+
libmbfl/filters/mbfilter_sjis_2004.c
281+
libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c
282+
libmbfl/filters/mbfilter_ucs2.c
283+
libmbfl/filters/mbfilter_ucs4.c
284+
libmbfl/filters/mbfilter_uhc.c
285+
libmbfl/filters/mbfilter_utf16.c
286+
libmbfl/filters/mbfilter_utf32.c
287+
libmbfl/filters/mbfilter_utf7.c
288+
libmbfl/filters/mbfilter_utf7imap.c
289+
libmbfl/filters/mbfilter_utf8.c
290+
libmbfl/filters/mbfilter_utf8_mobile.c
291+
libmbfl/filters/mbfilter_uuencode.c
292+
libmbfl/filters/mbfilter_koi8u.c
293+
libmbfl/mbfl/mbfilter.c
294+
libmbfl/mbfl/mbfilter_8bit.c
295+
libmbfl/mbfl/mbfilter_pass.c
296+
libmbfl/mbfl/mbfilter_wchar.c
297+
libmbfl/mbfl/mbfl_convert.c
298+
libmbfl/mbfl/mbfl_encoding.c
299+
libmbfl/mbfl/mbfl_filter_output.c
300+
libmbfl/mbfl/mbfl_ident.c
301+
libmbfl/mbfl/mbfl_language.c
302+
libmbfl/mbfl/mbfl_memory_device.c
303+
libmbfl/mbfl/mbfl_string.c
304+
libmbfl/mbfl/mbfl_allocators.c
305+
libmbfl/nls/nls_de.c
306+
libmbfl/nls/nls_en.c
307+
libmbfl/nls/nls_ja.c
308+
libmbfl/nls/nls_kr.c
309+
libmbfl/nls/nls_neutral.c
310+
libmbfl/nls/nls_ru.c
311+
libmbfl/nls/nls_uni.c
312+
libmbfl/nls/nls_zh.c
313+
libmbfl/nls/nls_hy.c
314+
libmbfl/nls/nls_tr.c
315+
libmbfl/nls/nls_ua.c
316+
])
317+
PHP_MBSTRING_ADD_CFLAG([-DHAVE_CONFIG_H])
318+
PHP_MBSTRING_ADD_INSTALL_HEADERS([libmbfl/config.h libmbfl/mbfl/eaw_table.h libmbfl/mbfl/mbfilter.h libmbfl/mbfl/mbfilter_8bit.h libmbfl/mbfl/mbfilter_pass.h libmbfl/mbfl/mbfilter_wchar.h libmbfl/mbfl/mbfl_allocators.h libmbfl/mbfl/mbfl_consts.h libmbfl/mbfl/mbfl_convert.h libmbfl/mbfl/mbfl_defs.h libmbfl/mbfl/mbfl_encoding.h libmbfl/mbfl/mbfl_filter_output.h libmbfl/mbfl/mbfl_ident.h libmbfl/mbfl/mbfl_language.h libmbfl/mbfl/mbfl_memory_device.h libmbfl/mbfl/mbfl_string.h])
346319
])
347320

348321
dnl
@@ -359,23 +332,19 @@ PHP_ARG_ENABLE([mbregex_backtrack], [whether to check multibyte regex backtrack]
359332
[ --disable-mbregex-backtrack
360333
MBSTRING: Disable multibyte regex backtrack check], yes, no)
361334

362-
PHP_ARG_WITH(libmbfl, [for external libmbfl],
363-
[ --with-libmbfl[=DIR] MBSTRING: Use external libmbfl. DIR is the libmbfl base
364-
install directory [BUNDLED]], no, no)
365-
366335
PHP_ARG_WITH(onig, [for external oniguruma],
367336
[ --with-onig[=DIR] MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix.
368337
If DIR is not set, the bundled oniguruma will be used], no, no)
369338

370-
if test "$PHP_MBSTRING" != "no"; then
339+
if test "$PHP_MBSTRING" != "no"; then
371340
AC_DEFINE([HAVE_MBSTRING],1,[whether to have multibyte string support])
372341

373342
PHP_MBSTRING_ADD_BASE_SOURCES([mbstring.c php_unicode.c mb_gpc.c])
374343

375344
if test "$PHP_MBREGEX" != "no"; then
376345
PHP_MBSTRING_SETUP_MBREGEX
377346
fi
378-
347+
379348
dnl libmbfl is required
380349
PHP_MBSTRING_SETUP_LIBMBFL
381350
PHP_MBSTRING_EXTENSION

0 commit comments

Comments
 (0)