@@ -5,62 +5,71 @@ ARG_ENABLE("mbregex", "multibyte regex support", "no");
5
5
6
6
if ( PHP_MBSTRING != "no" ) {
7
7
8
- EXTENSION ( "mbstring" , "mbstring.c php_unicode.c mb_gpc.c" , PHP_MBSTRING_SHARED ) ;
8
+ if ( CHECK_LIB ( "onig_a.lib;libonig_a.lib" , "mbstring" , PHP_MBSTRING ) &&
9
+ CHECK_HEADER_ADD_INCLUDE ( "mbstring.h" , "CFLAGS_MBSTRING" , PHP_MBSTRING + ";" + PHP_PHP_BUILD + "\\include" ) ) {
10
+ EXTENSION ( "mbstring" , "mbstring.c php_unicode.c mb_gpc.c" , PHP_MBSTRING_SHARED ) ;
9
11
10
- STDOUT . WriteLine ( "Using bundled libmbfl..." ) ;
12
+ /* XXX libonig is only usable as a static library ATM, code change required to link with a DLL. */
13
+ ADD_FLAG ( "CFLAGS_MBSTRING" , "/DONIG_EXTERN=extern /DPHP_ONIG_BAD_KOI8_ENTRY=1" ) ;
11
14
12
- ADD_FLAG ( "CFLAGS_MBSTRING" , "-Iext/mbstring/libmbfl -Iext/mbstring/libmbfl/mbfl \
13
- /D NOT_RUBY=1 /D LIBMBFL_EXPORTS=1 \
14
- /D HAVE_STDARG_PROTOTYPES=1 /D HAVE_CONFIG_H \
15
- /D HAVE_STRICMP /D MBFL_DLL_EXPORT=1 /D ONIGURUMA_EXPORT /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" )
15
+ STDOUT . WriteLine ( "Using bundled libmbfl..." ) ;
16
16
17
- FSO . CopyFile ( "ext\\mbstring\\libmbfl\\config.h.w32" ,
18
- "ext\\mbstring\\libmbfl\\config.h" , true ) ;
17
+ ADD_FLAG ( "CFLAGS_MBSTRING" , "-Iext/mbstring/libmbfl -Iext/mbstring/libmbfl/mbfl \
18
+ /D NOT_RUBY=1 /D LIBMBFL_EXPORTS=1 \
19
+ /D HAVE_STDARG_PROTOTYPES=1 /D HAVE_CONFIG_H \
20
+ /D HAVE_STRICMP /D MBFL_DLL_EXPORT=1 /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" )
19
21
20
- ADD_SOURCES ( "ext/mbstring/libmbfl/filters" , "html_entities.c \
21
- mbfilter_7bit.c mbfilter_ascii.c mbfilter_base64.c mbfilter_big5.c \
22
- mbfilter_byte2.c mbfilter_byte4.c mbfilter_cp1251.c mbfilter_cp1252.c \
23
- mbfilter_cp866.c mbfilter_cp932.c mbfilter_cp936.c mbfilter_cp51932.c \
24
- mbfilter_euc_cn.c mbfilter_euc_jp.c mbfilter_euc_jp_win.c mbfilter_euc_kr.c \
25
- mbfilter_euc_tw.c mbfilter_htmlent.c mbfilter_hz.c mbfilter_iso2022_kr.c \
26
- mbfilter_iso8859_1.c mbfilter_iso8859_10.c mbfilter_iso8859_13.c \
27
- mbfilter_iso8859_14.c mbfilter_iso8859_15.c mbfilter_iso8859_16.c \
28
- mbfilter_iso8859_2.c mbfilter_iso8859_3.c mbfilter_iso8859_4.c \
29
- mbfilter_iso8859_5.c mbfilter_iso8859_6.c mbfilter_iso8859_7.c \
30
- mbfilter_iso8859_8.c mbfilter_iso8859_9.c mbfilter_jis.c \
31
- mbfilter_iso2022_jp_ms.c mbfilter_gb18030.c mbfilter_sjis_2004.c \
32
- mbfilter_koi8r.c mbfilter_qprint.c mbfilter_sjis.c mbfilter_ucs2.c \
33
- mbfilter_ucs4.c mbfilter_uhc.c mbfilter_utf16.c mbfilter_utf32.c \
34
- mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c mbfilter_utf8_mobile.c \
35
- mbfilter_koi8u.c mbfilter_cp1254.c mbfilter_euc_jp_2004.c \
36
- mbfilter_uuencode.c mbfilter_armscii8.c mbfilter_cp850.c \
37
- mbfilter_cp5022x.c mbfilter_sjis_open.c mbfilter_sjis_mobile.c \
38
- mbfilter_sjis_mac.c \
39
- mbfilter_iso2022jp_2004.c mbfilter_iso2022jp_mobile.c \
40
- mbfilter_tl_jisx0201_jisx0208.c" , "mbstring" ) ;
22
+ FSO . CopyFile ( "ext\\mbstring\\libmbfl\\config.h.w32" ,
23
+ "ext\\mbstring\\libmbfl\\config.h" , true ) ;
41
24
42
- ADD_SOURCES ( "ext/mbstring/libmbfl/mbfl" , "mbfilter.c mbfilter_8bit.c \
43
- mbfilter_pass.c mbfilter_wchar.c mbfl_convert.c mbfl_encoding.c \
44
- mbfl_filter_output.c mbfl_ident.c mbfl_language.c mbfl_memory_device.c \
45
- mbfl_string.c mbfl_allocators.c" , "mbstring" ) ;
25
+ ADD_SOURCES ( "ext/mbstring/libmbfl/filters" , "html_entities.c \
26
+ mbfilter_7bit.c mbfilter_ascii.c mbfilter_base64.c mbfilter_big5.c \
27
+ mbfilter_byte2.c mbfilter_byte4.c mbfilter_cp1251.c mbfilter_cp1252.c \
28
+ mbfilter_cp866.c mbfilter_cp932.c mbfilter_cp936.c mbfilter_cp51932.c \
29
+ mbfilter_euc_cn.c mbfilter_euc_jp.c mbfilter_euc_jp_win.c mbfilter_euc_kr.c \
30
+ mbfilter_euc_tw.c mbfilter_htmlent.c mbfilter_hz.c mbfilter_iso2022_kr.c \
31
+ mbfilter_iso8859_1.c mbfilter_iso8859_10.c mbfilter_iso8859_13.c \
32
+ mbfilter_iso8859_14.c mbfilter_iso8859_15.c mbfilter_iso8859_16.c \
33
+ mbfilter_iso8859_2.c mbfilter_iso8859_3.c mbfilter_iso8859_4.c \
34
+ mbfilter_iso8859_5.c mbfilter_iso8859_6.c mbfilter_iso8859_7.c \
35
+ mbfilter_iso8859_8.c mbfilter_iso8859_9.c mbfilter_jis.c \
36
+ mbfilter_iso2022_jp_ms.c mbfilter_gb18030.c mbfilter_sjis_2004.c \
37
+ mbfilter_koi8r.c mbfilter_qprint.c mbfilter_sjis.c mbfilter_ucs2.c \
38
+ mbfilter_ucs4.c mbfilter_uhc.c mbfilter_utf16.c mbfilter_utf32.c \
39
+ mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c mbfilter_utf8_mobile.c \
40
+ mbfilter_koi8u.c mbfilter_cp1254.c mbfilter_euc_jp_2004.c \
41
+ mbfilter_uuencode.c mbfilter_armscii8.c mbfilter_cp850.c \
42
+ mbfilter_cp5022x.c mbfilter_sjis_open.c mbfilter_sjis_mobile.c \
43
+ mbfilter_sjis_mac.c \
44
+ mbfilter_iso2022jp_2004.c mbfilter_iso2022jp_mobile.c \
45
+ mbfilter_tl_jisx0201_jisx0208.c" , "mbstring" ) ;
46
46
47
- ADD_SOURCES ( "ext/mbstring/libmbfl/nls" , "nls_de.c nls_en.c nls_ja.c \
48
- nls_kr.c nls_neutral.c nls_ru.c nls_uni.c nls_zh.c nls_hy.c \
49
- nls_ua.c nls_tr.c" , "mbstring" ) ;
47
+ ADD_SOURCES ( "ext/mbstring/libmbfl/mbfl" , "mbfilter.c mbfilter_8bit.c \
48
+ mbfilter_pass.c mbfilter_wchar.c mbfl_convert.c mbfl_encoding.c \
49
+ mbfl_filter_output.c mbfl_ident.c mbfl_language.c mbfl_memory_device.c \
50
+ mbfl_string.c mbfl_allocators.c" , "mbstring" ) ;
50
51
51
- PHP_INSTALL_HEADERS ( "ext/mbstring" , "mbstring.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" ) ;
52
+ ADD_SOURCES ( "ext/mbstring/libmbfl/nls" , "nls_de.c nls_en.c nls_ja.c \
53
+ nls_kr.c nls_neutral.c nls_ru.c nls_uni.c nls_zh.c nls_hy.c \
54
+ nls_ua.c nls_tr.c" , "mbstring" ) ;
52
55
53
- AC_DEFINE ( 'HAVE_MBSTRING' , 1 , 'Have mbstring support' ) ;
54
- AC_DEFINE ( 'HAVE_MBSTR_CN' , 1 , 'CN' ) ;
55
- AC_DEFINE ( 'HAVE_MBSTR_JA' , 1 , 'JA' ) ;
56
- AC_DEFINE ( 'HAVE_MBSTR_KR' , 1 , 'KR' ) ;
57
- AC_DEFINE ( 'HAVE_MBSTR_RU' , 1 , 'RU' ) ;
58
- AC_DEFINE ( 'HAVE_MBSTR_TW' , 1 , 'TW' ) ;
56
+ PHP_INSTALL_HEADERS ( "ext/mbstring" , "mbstring.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" ) ;
59
57
60
- if ( PHP_MBREGEX != "no" ) {
61
- AC_DEFINE ( 'HAVE_STDARG_PROTOTYPES' , 1 , 'have stdarg.h' ) ;
62
- AC_DEFINE ( 'HAVE_MBREGEX' , 1 ) ;
63
- ADD_SOURCES ( "ext/mbstring" , "php_mbregex.c" , "mbstring" ) ;
64
- PHP_INSTALL_HEADERS ( "ext/mbstring" , "php_mbregex.h" ) ;
58
+ AC_DEFINE ( 'HAVE_MBSTRING' , 1 , 'Have mbstring support' ) ;
59
+ AC_DEFINE ( 'HAVE_MBSTR_CN' , 1 , 'CN' ) ;
60
+ AC_DEFINE ( 'HAVE_MBSTR_JA' , 1 , 'JA' ) ;
61
+ AC_DEFINE ( 'HAVE_MBSTR_KR' , 1 , 'KR' ) ;
62
+ AC_DEFINE ( 'HAVE_MBSTR_RU' , 1 , 'RU' ) ;
63
+ AC_DEFINE ( 'HAVE_MBSTR_TW' , 1 , 'TW' ) ;
64
+
65
+ if ( PHP_MBREGEX != "no" ) {
66
+ AC_DEFINE ( 'HAVE_STDARG_PROTOTYPES' , 1 , 'have stdarg.h' ) ;
67
+ AC_DEFINE ( 'HAVE_MBREGEX' , 1 ) ;
68
+ ADD_SOURCES ( "ext/mbstring" , "php_mbregex.c" , "mbstring" ) ;
69
+ PHP_INSTALL_HEADERS ( "ext/mbstring" , "php_mbregex.h" ) ;
70
+ }
71
+
72
+ } else {
73
+ WARNING ( "mbstring not enabled; libraries and headers not found" ) ;
65
74
}
66
75
}
0 commit comments