|
1 | 1 | // $Id$ |
2 | 2 | // vim:ft=javascript |
3 | 3 |
|
| 4 | +ARG_WITH("libmbfl", "use external libmbfl", "no"); |
4 | 5 | ARG_ENABLE("mbstring", "multibyte string functions", "no"); |
5 | 6 | ARG_ENABLE("mbregex", "multibyte regex support", "no"); |
6 | 7 | ARG_ENABLE("mbregex-backtrack", "check multibyte regex backtrack", "yes"); |
7 | 8 |
|
8 | 9 | if (PHP_MBSTRING != "no") { |
9 | 10 |
|
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 | + if (PHP_LIBMBFL != "no" && |
| 12 | + CHECK_HEADER_ADD_INCLUDE("mbfl/mbfilter.h", "CFLAGS_LIBMBFL", PHP_LIBMBFL + "\\include") && |
| 13 | + CHECK_LIB("mbfl.lib", "libmbfl", PHP_LIBMBFL + "\\lib")) { |
| 14 | + EXTENSION("mbstring", "mbstring.c php_unicode.c mb_gpc.c", PHP_MBSTRING_SHARED, |
| 15 | + get_define("CFLAGS_LIBMBFL") + " /I ext/mbstring/oniguruma /D NOT_RUBY=1 \ |
| 16 | + /D HAVE_STDARG_PROTOTYPES=1 /D HAVE_STDLIB_H \ |
| 17 | + /D HAVE_STRICMP /D EXPORT"); |
| 18 | + |
| 19 | + STDOUT.WriteLine("LIBS_LIBMBFL:" + get_define("LIBS_LIBMBFL")); |
| 20 | + STDOUT.WriteLine("CFLAGS_LIBMBFL:" + get_define("CFLAGS_LIBMBFL")); |
| 21 | + STDOUT.WriteLine("LDFLAGS_LIBMBFL:" + get_define("LDFLAGS_LIBMBFL")); |
| 22 | + |
| 23 | + ADD_FLAG("LIBS_MBSTRING", get_define("LIBS_LIBMBFL")); |
| 24 | + ADD_FLAG("LDFLAGS_MBSTRING", get_define("LDFLAGS_LIBMBFL")); |
| 25 | + |
| 26 | + AC_DEFINE('HAVE_MBSTRING', 1, 'Have mbstring support'); |
| 27 | + AC_DEFINE('HAVE_MBSTR_CN', 1, 'CN'); |
| 28 | + AC_DEFINE('HAVE_MBSTR_JA', 1, 'JA'); |
| 29 | + AC_DEFINE('HAVE_MBSTR_KR', 1, 'KR'); |
| 30 | + AC_DEFINE('HAVE_MBSTR_RU', 1, 'RU'); |
| 31 | + AC_DEFINE('HAVE_MBSTR_TW', 1, 'TW'); |
| 32 | + |
| 33 | + PHP_INSTALL_HEADERS("ext/mbstring", "mbstring.h oniguruma/oniguruma.h php_mbregex.h php_onig_compat.h"); |
| 34 | + } else { |
| 35 | + STDOUT.WriteLine("Using bundled libmbfl..."); |
| 36 | + FSO.CopyFile("ext\\mbstring\\libmbfl\\config.h.w32", |
| 37 | + "ext\\mbstring\\libmbfl\\config.h", true); |
42 | 38 |
|
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"); |
| 39 | + EXTENSION("mbstring", "mbstring.c php_unicode.c mb_gpc.c", PHP_MBSTRING_SHARED, |
| 40 | + "-Iext/mbstring/libmbfl -Iext/mbstring/libmbfl/mbfl \ |
| 41 | + -Iext/mbstring/oniguruma /D NOT_RUBY=1 /D LIBMBFL_EXPORTS=1 \ |
| 42 | + /D HAVE_STDARG_PROTOTYPES=1 /D HAVE_CONFIG_H /D HAVE_STDLIB_H \ |
| 43 | + /D HAVE_STRICMP /D MBFL_DLL_EXPORT=1 /D EXPORT"); |
47 | 44 |
|
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"); |
| 45 | + ADD_SOURCES("ext/mbstring/libmbfl/filters", "html_entities.c \ |
| 46 | + mbfilter_7bit.c mbfilter_ascii.c mbfilter_base64.c mbfilter_big5.c \ |
| 47 | + mbfilter_byte2.c mbfilter_byte4.c mbfilter_cp1251.c mbfilter_cp1252.c \ |
| 48 | + mbfilter_cp866.c mbfilter_cp932.c mbfilter_cp936.c mbfilter_cp51932.c \ |
| 49 | + mbfilter_euc_cn.c mbfilter_euc_jp.c mbfilter_euc_jp_win.c mbfilter_euc_kr.c \ |
| 50 | + mbfilter_euc_tw.c mbfilter_htmlent.c mbfilter_hz.c mbfilter_iso2022_kr.c \ |
| 51 | + mbfilter_iso8859_1.c mbfilter_iso8859_10.c mbfilter_iso8859_13.c \ |
| 52 | + mbfilter_iso8859_14.c mbfilter_iso8859_15.c mbfilter_iso8859_16.c \ |
| 53 | + mbfilter_iso8859_2.c mbfilter_iso8859_3.c mbfilter_iso8859_4.c \ |
| 54 | + mbfilter_iso8859_5.c mbfilter_iso8859_6.c mbfilter_iso8859_7.c \ |
| 55 | + mbfilter_iso8859_8.c mbfilter_iso8859_9.c mbfilter_jis.c \ |
| 56 | + mbfilter_iso2022_jp_ms.c mbfilter_gb18030.c mbfilter_sjis_2004.c \ |
| 57 | + mbfilter_koi8r.c mbfilter_qprint.c mbfilter_sjis.c mbfilter_ucs2.c \ |
| 58 | + mbfilter_ucs4.c mbfilter_uhc.c mbfilter_utf16.c mbfilter_utf32.c \ |
| 59 | + mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c mbfilter_utf8_mobile.c \ |
| 60 | + mbfilter_koi8u.c mbfilter_cp1254.c mbfilter_euc_jp_2004.c \ |
| 61 | + mbfilter_uuencode.c mbfilter_armscii8.c mbfilter_cp850.c \ |
| 62 | + mbfilter_cp5022x.c mbfilter_sjis_open.c mbfilter_sjis_mobile.c \ |
| 63 | + mbfilter_sjis_mac.c \ |
| 64 | + mbfilter_iso2022jp_2004.c mbfilter_iso2022jp_mobile.c \ |
| 65 | + mbfilter_tl_jisx0201_jisx0208.c", "mbstring"); |
51 | 66 |
|
52 | | - AC_DEFINE('HAVE_MBSTRING', 1, 'Have mbstring support'); |
53 | | - AC_DEFINE('HAVE_MBSTR_CN', 1, 'CN'); |
54 | | - AC_DEFINE('HAVE_MBSTR_JA', 1, 'JA'); |
55 | | - AC_DEFINE('HAVE_MBSTR_KR', 1, 'KR'); |
56 | | - AC_DEFINE('HAVE_MBSTR_RU', 1, 'RU'); |
57 | | - AC_DEFINE('HAVE_MBSTR_TW', 1, 'TW'); |
| 67 | + ADD_SOURCES("ext/mbstring/libmbfl/mbfl", "mbfilter.c mbfilter_8bit.c \ |
| 68 | + mbfilter_pass.c mbfilter_wchar.c mbfl_convert.c mbfl_encoding.c \ |
| 69 | + mbfl_filter_output.c mbfl_ident.c mbfl_language.c mbfl_memory_device.c \ |
| 70 | + mbfl_string.c mbfl_allocators.c", "mbstring"); |
58 | 71 |
|
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"); |
| 72 | + ADD_SOURCES("ext/mbstring/libmbfl/nls", "nls_de.c nls_en.c nls_ja.c \ |
| 73 | + nls_kr.c nls_neutral.c nls_ru.c nls_uni.c nls_zh.c nls_hy.c \ |
| 74 | + nls_ua.c nls_tr.c", "mbstring"); |
| 75 | + |
| 76 | + AC_DEFINE('HAVE_MBSTRING', 1, 'Have mbstring support'); |
| 77 | + AC_DEFINE('HAVE_MBSTR_CN', 1, 'CN'); |
| 78 | + AC_DEFINE('HAVE_MBSTR_JA', 1, 'JA'); |
| 79 | + AC_DEFINE('HAVE_MBSTR_KR', 1, 'KR'); |
| 80 | + AC_DEFINE('HAVE_MBSTR_RU', 1, 'RU'); |
| 81 | + AC_DEFINE('HAVE_MBSTR_TW', 1, 'TW'); |
| 82 | + |
| 83 | + 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"); |
| 84 | + } |
| 85 | + FSO.CopyFile("ext\\mbstring\\oniguruma\\win32\\config.h", |
| 86 | + "ext\\mbstring\\oniguruma\\config.h", true); |
60 | 87 |
|
61 | 88 | if (PHP_MBREGEX != "no") { |
62 | 89 | AC_DEFINE('HAVE_STDARG_PROTOTYPES', 1, 'have stdarg.h'); |
|
0 commit comments