Skip to content

Commit 088f8b5

Browse files
committed
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5: refactored the mbstring config.w32 Fixed bug #68504 --with-libmbfl configure option not present on Windows
2 parents fcf21c4 + 42af411 commit 088f8b5

File tree

1 file changed

+59
-40
lines changed

1 file changed

+59
-40
lines changed

ext/mbstring/config.w32

Lines changed: 59 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,71 @@
11
// $Id$
22
// vim:ft=javascript
33

4+
ARG_WITH("libmbfl", "use external libmbfl", "no");
45
ARG_ENABLE("mbstring", "multibyte string functions", "no");
56
ARG_ENABLE("mbregex", "multibyte regex support", "no");
67
ARG_ENABLE("mbregex-backtrack", "check multibyte regex backtrack", "yes");
78

89
if (PHP_MBSTRING != "no") {
910

10-
FSO.CopyFile("ext\\mbstring\\libmbfl\\config.h.w32",
11-
"ext\\mbstring\\libmbfl\\config.h", true);
12-
FSO.CopyFile("ext\\mbstring\\oniguruma\\win32\\config.h",
13-
"ext\\mbstring\\oniguruma\\config.h", true);
14-
15-
EXTENSION("mbstring", "mbstring.c php_unicode.c mb_gpc.c", PHP_MBSTRING_SHARED,
16-
"-Iext/mbstring/libmbfl -Iext/mbstring/libmbfl/mbfl \
17-
-Iext/mbstring/oniguruma /D NOT_RUBY=1 /D LIBMBFL_EXPORTS=1 \
18-
/D HAVE_STDARG_PROTOTYPES=1 /D HAVE_CONFIG_H /D HAVE_STDLIB_H \
19-
/D HAVE_STRICMP /D MBFL_DLL_EXPORT=1 /D EXPORT");
20-
21-
ADD_SOURCES("ext/mbstring/libmbfl/filters", "html_entities.c \
22-
mbfilter_7bit.c mbfilter_ascii.c mbfilter_base64.c mbfilter_big5.c \
23-
mbfilter_byte2.c mbfilter_byte4.c mbfilter_cp1251.c mbfilter_cp1252.c \
24-
mbfilter_cp866.c mbfilter_cp932.c mbfilter_cp936.c mbfilter_cp51932.c \
25-
mbfilter_euc_cn.c mbfilter_euc_jp.c mbfilter_euc_jp_win.c mbfilter_euc_kr.c \
26-
mbfilter_euc_tw.c mbfilter_htmlent.c mbfilter_hz.c mbfilter_iso2022_kr.c \
27-
mbfilter_iso8859_1.c mbfilter_iso8859_10.c mbfilter_iso8859_13.c \
28-
mbfilter_iso8859_14.c mbfilter_iso8859_15.c mbfilter_iso8859_16.c \
29-
mbfilter_iso8859_2.c mbfilter_iso8859_3.c mbfilter_iso8859_4.c \
30-
mbfilter_iso8859_5.c mbfilter_iso8859_6.c mbfilter_iso8859_7.c \
31-
mbfilter_iso8859_8.c mbfilter_iso8859_9.c mbfilter_jis.c \
32-
mbfilter_iso2022_jp_ms.c mbfilter_gb18030.c mbfilter_sjis_2004.c \
33-
mbfilter_koi8r.c mbfilter_qprint.c mbfilter_sjis.c mbfilter_ucs2.c \
34-
mbfilter_ucs4.c mbfilter_uhc.c mbfilter_utf16.c mbfilter_utf32.c \
35-
mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c mbfilter_utf8_mobile.c \
36-
mbfilter_koi8u.c mbfilter_cp1254.c mbfilter_euc_jp_2004.c \
37-
mbfilter_uuencode.c mbfilter_armscii8.c mbfilter_cp850.c \
38-
mbfilter_cp5022x.c mbfilter_sjis_open.c mbfilter_sjis_mobile.c \
39-
mbfilter_sjis_mac.c \
40-
mbfilter_iso2022jp_2004.c mbfilter_iso2022jp_mobile.c \
41-
mbfilter_tl_jisx0201_jisx0208.c", "mbstring");
11+
EXTENSION("mbstring", "mbstring.c php_unicode.c mb_gpc.c", PHP_MBSTRING_SHARED);
12+
13+
if (PHP_LIBMBFL != "no" &&
14+
CHECK_HEADER_ADD_INCLUDE("mbfl/mbfilter.h", "CFLAGS_LIBMBFL", PHP_LIBMBFL + "\\include") &&
15+
CHECK_LIB("mbfl.lib", "libmbfl", PHP_LIBMBFL + "\\lib")) {
16+
17+
ADD_FLAG("LIBS_MBSTRING", get_define("LIBS_LIBMBFL"));
18+
ADD_FLAG("LDFLAGS_MBSTRING", get_define("LDFLAGS_LIBMBFL"));
19+
ADD_FLAG("CFLAGS_MBSTRING", get_define("CFLAGS_LIBMBFL") +
20+
" /I ext/mbstring/oniguruma /D NOT_RUBY=1 \
21+
/D HAVE_STDARG_PROTOTYPES=1 /D HAVE_STDLIB_H \
22+
/D HAVE_STRICMP /D EXPORT");
23+
24+
PHP_INSTALL_HEADERS("ext/mbstring", "mbstring.h oniguruma/oniguruma.h php_mbregex.h php_onig_compat.h");
25+
} else {
26+
STDOUT.WriteLine("Using bundled libmbfl...");
27+
28+
ADD_FLAG("CFLAGS_MBSTRING", "-Iext/mbstring/libmbfl -Iext/mbstring/libmbfl/mbfl \
29+
-Iext/mbstring/oniguruma /D NOT_RUBY=1 /D LIBMBFL_EXPORTS=1 \
30+
/D HAVE_STDARG_PROTOTYPES=1 /D HAVE_CONFIG_H /D HAVE_STDLIB_H \
31+
/D HAVE_STRICMP /D MBFL_DLL_EXPORT=1 /D EXPORT")
4232

43-
ADD_SOURCES("ext/mbstring/libmbfl/mbfl", "mbfilter.c mbfilter_8bit.c \
44-
mbfilter_pass.c mbfilter_wchar.c mbfl_convert.c mbfl_encoding.c \
45-
mbfl_filter_output.c mbfl_ident.c mbfl_language.c mbfl_memory_device.c \
46-
mbfl_string.c mbfl_allocators.c", "mbstring");
33+
FSO.CopyFile("ext\\mbstring\\libmbfl\\config.h.w32",
34+
"ext\\mbstring\\libmbfl\\config.h", true);
4735

48-
ADD_SOURCES("ext/mbstring/libmbfl/nls", "nls_de.c nls_en.c nls_ja.c \
49-
nls_kr.c nls_neutral.c nls_ru.c nls_uni.c nls_zh.c nls_hy.c \
50-
nls_ua.c nls_tr.c", "mbstring");
36+
ADD_SOURCES("ext/mbstring/libmbfl/filters", "html_entities.c \
37+
mbfilter_7bit.c mbfilter_ascii.c mbfilter_base64.c mbfilter_big5.c \
38+
mbfilter_byte2.c mbfilter_byte4.c mbfilter_cp1251.c mbfilter_cp1252.c \
39+
mbfilter_cp866.c mbfilter_cp932.c mbfilter_cp936.c mbfilter_cp51932.c \
40+
mbfilter_euc_cn.c mbfilter_euc_jp.c mbfilter_euc_jp_win.c mbfilter_euc_kr.c \
41+
mbfilter_euc_tw.c mbfilter_htmlent.c mbfilter_hz.c mbfilter_iso2022_kr.c \
42+
mbfilter_iso8859_1.c mbfilter_iso8859_10.c mbfilter_iso8859_13.c \
43+
mbfilter_iso8859_14.c mbfilter_iso8859_15.c mbfilter_iso8859_16.c \
44+
mbfilter_iso8859_2.c mbfilter_iso8859_3.c mbfilter_iso8859_4.c \
45+
mbfilter_iso8859_5.c mbfilter_iso8859_6.c mbfilter_iso8859_7.c \
46+
mbfilter_iso8859_8.c mbfilter_iso8859_9.c mbfilter_jis.c \
47+
mbfilter_iso2022_jp_ms.c mbfilter_gb18030.c mbfilter_sjis_2004.c \
48+
mbfilter_koi8r.c mbfilter_qprint.c mbfilter_sjis.c mbfilter_ucs2.c \
49+
mbfilter_ucs4.c mbfilter_uhc.c mbfilter_utf16.c mbfilter_utf32.c \
50+
mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c mbfilter_utf8_mobile.c \
51+
mbfilter_koi8u.c mbfilter_cp1254.c mbfilter_euc_jp_2004.c \
52+
mbfilter_uuencode.c mbfilter_armscii8.c mbfilter_cp850.c \
53+
mbfilter_cp5022x.c mbfilter_sjis_open.c mbfilter_sjis_mobile.c \
54+
mbfilter_sjis_mac.c \
55+
mbfilter_iso2022jp_2004.c mbfilter_iso2022jp_mobile.c \
56+
mbfilter_tl_jisx0201_jisx0208.c", "mbstring");
57+
58+
ADD_SOURCES("ext/mbstring/libmbfl/mbfl", "mbfilter.c mbfilter_8bit.c \
59+
mbfilter_pass.c mbfilter_wchar.c mbfl_convert.c mbfl_encoding.c \
60+
mbfl_filter_output.c mbfl_ident.c mbfl_language.c mbfl_memory_device.c \
61+
mbfl_string.c mbfl_allocators.c", "mbstring");
62+
63+
ADD_SOURCES("ext/mbstring/libmbfl/nls", "nls_de.c nls_en.c nls_ja.c \
64+
nls_kr.c nls_neutral.c nls_ru.c nls_uni.c nls_zh.c nls_hy.c \
65+
nls_ua.c nls_tr.c", "mbstring");
66+
67+
PHP_INSTALL_HEADERS("ext/mbstring", "mbstring.h oniguruma/oniguruma.h php_mbregex.h php_onig_compat.h 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");
68+
}
5169

5270
AC_DEFINE('HAVE_MBSTRING', 1, 'Have mbstring support');
5371
AC_DEFINE('HAVE_MBSTR_CN', 1, 'CN');
@@ -56,7 +74,8 @@ if (PHP_MBSTRING != "no") {
5674
AC_DEFINE('HAVE_MBSTR_RU', 1, 'RU');
5775
AC_DEFINE('HAVE_MBSTR_TW', 1, 'TW');
5876

59-
PHP_INSTALL_HEADERS("ext/mbstring", "mbstring.h oniguruma/oniguruma.h php_mbregex.h php_onig_compat.h 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");
77+
FSO.CopyFile("ext\\mbstring\\oniguruma\\win32\\config.h",
78+
"ext\\mbstring\\oniguruma\\config.h", true);
6079

6180
if (PHP_MBREGEX != "no") {
6281
AC_DEFINE('HAVE_STDARG_PROTOTYPES', 1, 'have stdarg.h');

0 commit comments

Comments
 (0)