11// $Id$
22// vim:ft=javascript
33
4+ ARG_WITH ( "libmbfl" , "use external libmbfl" , "no" ) ;
45ARG_ENABLE ( "mbstring" , "multibyte string functions" , "no" ) ;
56ARG_ENABLE ( "mbregex" , "multibyte regex support" , "no" ) ;
67ARG_ENABLE ( "mbregex-backtrack" , "check multibyte regex backtrack" , "yes" ) ;
78
89if ( 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