mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
e2459857af
Sigh. Double sigh. After fruitlessly searching the Internet for information on this mysterious text encoding called "SJIS-open", I wrote a script to try converting every Unicode codepoint from 0-0xFFFF and compare the results from different variants of Shift-JIS, to see which one "SJIS-open" would be most similar to. The result? It's just CP932. There is no difference at all. So why do we have two implementations of CP932 in mbstring? In case somebody, somewhere is using "SJIS-open" (or its aliases "SJIS-win" or "SJIS-ms"), add these as aliases to CP932 so existing code will continue to work.
66 lines
3.2 KiB
JavaScript
66 lines
3.2 KiB
JavaScript
// vim:ft=javascript
|
|
|
|
ARG_ENABLE("mbstring", "multibyte string functions", "no");
|
|
ARG_ENABLE("mbregex", "multibyte regex support", "no");
|
|
|
|
if (PHP_MBSTRING != "no") {
|
|
|
|
if (CHECK_HEADER_ADD_INCLUDE("mbstring.h", "CFLAGS_MBSTRING", PHP_MBSTRING + ";" + PHP_PHP_BUILD + "\\include")) {
|
|
EXTENSION("mbstring", "mbstring.c php_unicode.c mb_gpc.c", PHP_MBSTRING_SHARED);
|
|
|
|
STDOUT.WriteLine("Using bundled libmbfl...");
|
|
|
|
ADD_FLAG("CFLAGS_MBSTRING", "-Iext/mbstring -Iext/mbstring/libmbfl -Iext/mbstring/libmbfl/mbfl \
|
|
/D HAVE_STRICMP /D MBFL_DLL_EXPORT=1 /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1")
|
|
|
|
FSO.CopyFile("ext\\mbstring\\libmbfl\\config.h.w32",
|
|
"ext\\mbstring\\libmbfl\\config.h", true);
|
|
|
|
ADD_SOURCES("ext/mbstring/libmbfl/filters", "html_entities.c \
|
|
mbfilter_7bit.c mbfilter_base64.c mbfilter_big5.c mbfilter_cp932.c \
|
|
mbfilter_cp936.c mbfilter_cp51932.c mbfilter_euc_cn.c \
|
|
mbfilter_euc_jp.c mbfilter_euc_jp_win.c mbfilter_euc_kr.c \
|
|
mbfilter_euc_tw.c mbfilter_htmlent.c mbfilter_hz.c mbfilter_iso2022_kr.c \
|
|
mbfilter_jis.c mbfilter_iso2022_jp_ms.c mbfilter_gb18030.c \
|
|
mbfilter_sjis_2004.c mbfilter_qprint.c mbfilter_sjis.c mbfilter_ucs2.c \
|
|
mbfilter_ucs4.c mbfilter_uhc.c mbfilter_utf16.c mbfilter_utf32.c \
|
|
mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c \
|
|
mbfilter_utf8_mobile.c mbfilter_euc_jp_2004.c mbfilter_uuencode.c \
|
|
mbfilter_cp5022x.c mbfilter_sjis_mobile.c \
|
|
mbfilter_sjis_mac.c mbfilter_iso2022jp_2004.c \
|
|
mbfilter_iso2022jp_mobile.c mbfilter_singlebyte.c \
|
|
mbfilter_tl_jisx0201_jisx0208.c", "mbstring");
|
|
|
|
ADD_SOURCES("ext/mbstring/libmbfl/mbfl", "mbfilter.c mbfilter_8bit.c \
|
|
mbfilter_pass.c mbfilter_wchar.c mbfl_convert.c mbfl_encoding.c \
|
|
mbfl_filter_output.c mbfl_language.c mbfl_memory_device.c \
|
|
mbfl_string.c", "mbstring");
|
|
|
|
ADD_SOURCES("ext/mbstring/libmbfl/nls", "nls_de.c nls_en.c nls_ja.c \
|
|
nls_kr.c nls_neutral.c nls_ru.c nls_uni.c nls_zh.c nls_hy.c \
|
|
nls_ua.c nls_tr.c", "mbstring");
|
|
|
|
PHP_INSTALL_HEADERS("ext/mbstring", "mbstring.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_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_language.h libmbfl/mbfl/mbfl_memory_device.h libmbfl/mbfl/mbfl_string.h");
|
|
|
|
AC_DEFINE('HAVE_MBSTRING', 1, 'Have mbstring support');
|
|
|
|
if (PHP_MBREGEX != "no") {
|
|
if (CHECK_HEADER_ADD_INCLUDE("oniguruma.h", "CFLAGS_MBSTRING", PHP_MBREGEX) &&
|
|
CHECK_LIB("onig_a.lib;libonig_a.lib", "mbstring", PHP_MBSTRING)) {
|
|
AC_DEFINE('HAVE_MBREGEX', 1);
|
|
|
|
/* XXX libonig is only usable as a static library ATM, code change required to link with a DLL. */
|
|
ADD_FLAG("CFLAGS_MBSTRING", "/DONIG_EXTERN=extern /DPHP_ONIG_BAD_KOI8_ENTRY=1 /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
|
|
|
|
ADD_SOURCES("ext/mbstring", "php_mbregex.c", "mbstring");
|
|
PHP_INSTALL_HEADERS("ext/mbstring", "php_mbregex.h php_onig_compat.h");
|
|
} else {
|
|
WARNING("mbregex not enabled; libraries and headers not found");
|
|
}
|
|
}
|
|
|
|
} else {
|
|
WARNING("mbstring not enabled; libraries and headers not found");
|
|
}
|
|
}
|