Mike Frysinger wrote: > it's disabled explicitly because we dont want multibyte sucking up space on a > system that doesnt need it.
You need to distinguish two things: 1) An implementation of ANSI C amendment 1 (MB_CUR_MAX, mbtowc, mblen, mbstowcs, wctomb, wcstombs, btowc, wctob, isw*, tow*) that does handle both unibyte and various multibyte encodings. This does take space. 2) An implementation of ANSI C amendment 1 that supports only ASCII. This hardly takes any space, because it can be done through very small functions or even inline functions. The "remove all multibyte stuff" switch in uClibc should be leaving dummy functions of type 2) in place. Then programs will compile fine. You even find LGPLed code for this on the web: Take my old libutf8 [1] and remove all support for UTF-8, this leaves only support for unibyte encodings in place. Bruno [1] http://www.haible.de/bruno/packages-libutf8.html