Adjust mbstate_t to embed the state of the ICU converter.

* make room in mbstate_t for containing an ICU-converter's state
  (well, in fact the whole converter object)
* adjust libroot's locale add-on to clone converters into a given
  mbstate_t directly
* adjust ICUThreadLocalStorageValue to contain the converter pointer
  instead of a converter-ID (if the converter is related to an
  mbstate_t, it points into the mbstate_t).
* adjust users of converters to directly use converter pointers
  instead of ICUConverterRef
* drop now unused ICUConverterManager and ICUConverterRef
* update gcc4 optional package

This brings our multibyte implementation into a fully working state,
both non-ascii and non-8-bit characters can now be handled normally
in the Terminal, i.e. this finally fixes #6276.

N.B.: Since the size of mbstate_t has changed, everything (including
the compiler!) needs to be rebuilt.
This commit is contained in:
Oliver Tappe
2011-12-15 13:18:11 +01:00
parent 8726c67f5e
commit ec99f3b2a6
11 changed files with 141 additions and 223 deletions
+3 -3
View File
@@ -536,8 +536,8 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ]
if $(HAIKU_GCC_VERSION[1]) = 4 || $(isHybridBuild) {
InstallOptionalHaikuImagePackage
gcc-4.5.3-x86-gcc4-2011-11-22.zip
: $(baseURL)/gcc-4.5.3-x86-gcc4-2011-11-22.zip ;
gcc-4.5.3-x86-gcc4-2011-12-14.zip
: $(baseURL)/gcc-4.5.3-x86-gcc4-2011-12-14.zip ;
}
if $(HAIKU_GCC_VERSION[1]) = 4 {
@@ -549,7 +549,7 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ]
local libs = libstdc++.so libsupc++.so ;
for lib in $(libs) {
AddSymlinkToHaikuHybridImage
develop abi x86 gcc4 tools gcc-4.5.3-haiku-111122 lib
develop abi x86 gcc4 tools gcc-4.5.3-haiku-111214 lib
: /system/lib $(lib) : : true ;
}
}