01e0a77749
* configure.in: Add support to generate iconv converter flags for newlib.h * newlib.hin: Add iconv converter flags. * configure: Regenerated. * libc/Makefile.in: Ditto. * libc/configure.in: Moved iconv converter parsing logic to top level newlib configure.in. * libc/configure: Regenerated. * libc/iconv/Makefile.in: Ditto. * libc/iconv/README.TODO * libc/iconv/charset.aliases: Remove wrong BE aliases for UCS2/UCS4/UTF8. * libc/iconv/ccs/Makefile.am: Remove C flag setting now that newlib.h can be used. * libc/iconv/ces/Makefile.am: Ditto. * libc/iconv/lib/Makefile.am: Ditto. * libc/iconv/ccs/Makefile.in: Regenerated. * libc/iconv/ces/Makefile.in: Ditto. * libc/iconv/lib/Makefile.in: Ditto. * libc/iconv/ccs/README.CCS.SOURCES: Updated. * libc/iconv/ccs/iconv_mktbl: Don't write junk strings to binaries. * libc/iconv/ccs/big5.c: Switch to use new underscored flags defined in newlib.h. * libc/iconv/ccs/cns11643_plane1.c: Ditto. * libc/iconv/ccs/cns11643_plane14.c: Ditto. * libc/iconv/ccs/cns11643_plane2.c: Ditto. * libc/iconv/ccs/cp775.c: Ditto. * libc/iconv/ccs/cp850.c: Ditto. * libc/iconv/ccs/cp852.c: Ditto. * libc/iconv/ccs/cp855.c: Ditto. * libc/iconv/ccs/cp866.c: Ditto. * libc/iconv/ccs/gb_2312_80.c: Ditto. * libc/iconv/ccs/iso_8859_1.c: Ditto. * libc/iconv/ccs/iso_8859_15.c: Ditto. * libc/iconv/ccs/iso_8859_2.c: Ditto. * libc/iconv/ccs/iso_8859_4.c: Ditto. * libc/iconv/ccs/iso_8859_5.c: Ditto. * libc/iconv/ccs/jis_x0201.c: Ditto. * libc/iconv/ccs/jis_x0208_1983.c: Ditto. * libc/iconv/ccs/jis_x0212_1990.c: Ditto. * libc/iconv/ccs/koi8_r.c: Ditto. * libc/iconv/ccs/koi8_u.c: Ditto. * libc/iconv/ccs/ksx1001.c: Ditto. * libc/iconv/ccs/shift_jis.c: Ditto. * libc/iconv/ccs/us_ascii.c: Ditto. * libc/iconv/ccs/binary/big5.cct: Newly generated. * libc/iconv/ccs/binary/cns11643_plane1.cct: Ditto. * libc/iconv/ccs/binary/cns11643_plane14.cct: Ditto. * libc/iconv/ccs/binary/cns11643_plane2.cct: Ditto. * libc/iconv/ccs/binary/cp775.cct: Ditto. * libc/iconv/ccs/binary/cp850.cct: Ditto. * libc/iconv/ccs/binary/cp852.cct: Ditto. * libc/iconv/ccs/binary/cp855.cct: Ditto. * libc/iconv/ccs/binary/cp866.cct: Ditto. * libc/iconv/ccs/binary/gb_2312_80.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_1.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_15.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_2.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_4.cct: Ditto. * libc/iconv/ccs/binary/iso_8859_5.cct: Ditto. * libc/iconv/ccs/binary/jis_x0201.cct: Ditto. * libc/iconv/ccs/binary/jis_x0208_1983.cct: Ditto. * libc/iconv/ccs/binary/jis_x0212_1990.cct: Ditto. * libc/iconv/ccs/binary/koi8_r.cct: Ditto. * libc/iconv/ccs/binary/koi8_u.cct: Ditto. * libc/iconv/ccs/binary/ksx1001.cct: Ditto. * libc/iconv/ccs/binary/shift_jis.cct: Ditto. * libc/iconv/ccs/binary/us_ascii.cct: Ditto. * libc/iconv/lib/bialiasesi.c: Sync with charset.aliases. * libc/iconv/ces/euc-jp.c: Use newlib.h macros. * libc/iconv/ces/euc-kr.c: Ditto. * libc/iconv/ces/euc-tw.c: Ditto. * libc/iconv/ces/gb2312.c: Ditto. * libc/iconv/ces/iso-10646-ucs-2.c: Ditto. * libc/iconv/ces/iso-10646-ucs-4.c: Ditto. * libc/iconv/ces/ucs-2-internal.c: Ditto. * libc/iconv/ces/ucs-4-internal.c: Ditto. * libc/iconv/ces/utf-16.c: Ditto. * libc/iconv/ces/utf-8.c: Ditto. * libc/iconv/lib/aliases.c: Ditto. * libc/iconv/lib/biccs.c: Ditto. * libc/iconv/lib/bices.c: Ditto. * libc/iconv/lib/ccs.c: Ditto. * libc/iconv/lib/ces.c: Ditto. * libc/iconv/lib/ces_euc.c: Ditto. * libc/iconv/lib/ces_iso2022.c: Ditto. * libc/iconv/lib/ces_table.c: Ditto. * libc/iconv/lib/converter.c: Ditto. * libc/iconv/lib/deps.h: Ditto. * libc/iconv/lib/endian.h: Ditto. * libc/iconv/lib/iconv.c: Ditto. * libc/iconv/lib/loaddata.c: Ditto. * libc/iconv/lib/local.h: Include newlib.h. * libc/argz/Makefile.in: Regenerated. * libc/ctype/Makefile.in: Ditto. * libc/errno/Makefile.in: Ditto. * libc/iconv/ccs/binary/Makefile.in: Ditto. * libc/locale/Makefile.in: Ditto. * libc/misc/Makefile.in: Ditto. * libc/posix/Makefile.in: Ditto. * libc/reent/Makefile.in: Ditto. * libc/search/Makefile.in: Ditto. * libc/signal/Makefile.in: Ditto. * libc/stdio/Makefile.in: Ditto. * libc/stdio64/Makefile.in: Ditto. * libc/stdlib/Makefile.in: Ditto. * libc/string/Makefile.in: Ditto. * libc/syscalls/Makefile.in: Ditto. * libc/time/Makefile.in: Ditto. * libc/unix/Makefile.in: Ditto. * testsuite/newlib.iconv/iconv.exp: New file. * testsuite/newlib.iconv/iconvjp.c: Ditto. * testsuite/newlib.iconv/iconvnm.c: Ditto. * testsuite/newlib.iconv/iconvru.c: Ditto. |
||
---|---|---|
.. | ||
binary | ||
Makefile.am | ||
Makefile.in | ||
README.CCS.SOURCES | ||
big5.c | ||
cns11643_plane1.c | ||
cns11643_plane2.c | ||
cns11643_plane14.c | ||
cp775.c | ||
cp850.c | ||
cp852.c | ||
cp855.c | ||
cp866.c | ||
gb_2312_80.c | ||
iconv_mktbl | ||
iso_8859_1.c | ||
iso_8859_2.c | ||
iso_8859_4.c | ||
iso_8859_5.c | ||
iso_8859_15.c | ||
jis_x0201.c | ||
jis_x0208_1983.c | ||
jis_x0212_1990.c | ||
koi8_r.c | ||
koi8_u.c | ||
ksx1001.c | ||
shift_jis.c | ||
us_ascii.c |
README.CCS.SOURCES
This directory contains CCS conversion tables - both C files and .cct files. .cct files are for dynamic loading, .c files are for static linking with Newlib. Both .c and .cct files are generated by 'iconv_mktbl' perl script from special source files (call them .txt files). These .txt files can be taken from Unicode.org site, addresses are given in the end. .c files are linked with Newlib if correspondent 'configure' script option was given. This helps to use iconv on targets without file system support. If CCS table wasn't configured to be linked, iconv library tries to load it dynamically from correspondent .cct file. The following are commands to build .c and .cct CCS rable files from .txt files for several supported encodings. -------------------------------------------------------------------------- cp775 iconv_mktbl -Co cp775.c cp775.txt iconv_mktbl -o cp775.cct cp775.txt cp850 iconv_mktbl -Co cp850.c cp850.txt iconv_mktbl -o cp850.cct cp850.txt cp852 iconv_mktbl -Co cp852.c cp852.txt iconv_mktbl -o cp852.cct cp852.txt cp855 iconv_mktbl -Co cp855.c cp855.txt iconv_mktbl -o cp855.cct cp855.txt cp866 iconv_mktbl -Co cp866.c cp866.txt iconv_mktbl -o cp866.cct cp866.txt iso-8859-1 iconv_mktbl -Co iso-8859-1.c iso-8859-1.txt iconv_mktbl -o iso-8859-1.cct iso-8859-1.txt iso-8859-4 iconv_mktbl -Co iso-8859-4.c iso-8859-4.txt iconv_mktbl -o iso-8859-4.cct iso-8859-4.txt iso-8859-5 iconv_mktbl -Co iso-8859-5.c iso-8859-5.txt iconv_mktbl -o iso-8859-5.cct iso-8859-5.txt iso-8859-2 iconv_mktbl -Co iso-8859-2.c iso-8859-2.txt iconv_mktbl -o iso-8859-2.cct iso-8859-2.txt iso-8859-15 iconv_mktbl -Co iso-8859-15.c iso-8859-15.txt iconv_mktbl -o iso-8859-15.cct iso-8859-15.txt big5 iconv_mktbl -Co big5.c big5.txt iconv_mktbl -o big5.cct big5.txt ksx1001 iconv_mktbl -Co ksx1001.c ksx1001.txt iconv_mktbl -o ksx1001.cct ksx1001.txt gb_2312 iconv_mktbl -Co gb_2312-80.c gb_2312-80.txt iconv_mktbl -o gb_2312-80.cct gb_2312-80.txt jis_x0201 iconv_mktbl -Co jis_x0201.c jis_x0201.txt iconv_mktbl -o jis_x0201.cct jis_x0201.txt shift_jis iconv_mktbl -Co shift_jis.c shift_jis.txt iconv_mktbl -o shift_jis.cct shift_jis.txt jis_x0208 iconv_mktbl -C -c 1 -u 2 -o jis_x0208-1983.c jis_x0208-1983.txt iconv_mktbl -c 1 -u 2 -o jis_x0208-1983.cct jis_x0208-1983.txt jis_x0212 iconv_mktbl -Co jis_x0212-1990.c jis_x0212-1990.txt iconv_mktbl -o jis_x0212-1990.cct jis_x0212-1990.txt cns11643-plane1 iconv_mktbl -C -p 0x1 -o cns11643-plane1.c cns11643.txt iconv_mktbl -p 0x1 -o cns11643-plane1.cct cns11643.txt cns11643-plane2 iconv_mktbl -C -p 0x2 -o cns11643-plane2.c cns11643.txt iconv_mktbl -p 0x2 -o cns11643-plane2.cct cns11643.txt cns11643-plane14 iconv_mktbl -C -p 0xE -o cns11643-plane14.c cns11643.txt iconv_mktbl -p 0xE -o cns11643-plane14.cct cns11643.txt koi8-r iconv_mktbl -Co koi8-r.c koi8-r.txt iconv_mktbl -o koi8-r.cct koi8-r.txt koi8-u iconv_mktbl -Co koi8-u.c koi8-u.txt iconv_mktbl -o koi8-u.cct koi8-u.txt us-ascii iconv_mktbl -Cao us-ascii.c iso-8859-1.txt iconv_mktbl -ao us-ascii.cct iso-8859-1.txt -------------------------------------------------------------------------- Source files for CCS tables can be taken from at least two places: 1. http://www.unicode.org/Public/MAPPINGS/ contains a lot of encoding map files. 2. http://www.dante.net/staff/konstantin/FreeBSD/iconv/ contains original iconv sources and encoding map files. Makefile in this directory contains rules to make .cct and .c files from source encoding map files. It has rules to make the following tables (with source map file URL): big5 http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT cns11643_plane14, cns11643_plane1 and cns11643_plane2 http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/CNS11643.TXT cp775, cp850, cp852, cp855, cp866 http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/ gb_2312_80 http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/GB/GB2312.TXT iso_8859_15, iso_8859_1, iso_8859_2, iso_8859_4, iso_8859_5 http://www.unicode.org/Public/MAPPINGS/ISO8859/ jis_x0201, jis_x0208_1983, jis_x0212_1990, shift_jis http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0201.TXT koi8_r http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT ksx1001 http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/KSX1001.TXT koi8-u can be given from original FreeBSD iconvi library distribution http://www.dante.net/staff/konstantin/FreeBSD/iconv/ Moreover, http://www.dante.net/staff/konstantin/FreeBSD/iconv/ contains a lot of additional CCS tables that you can use with Newlib. If you will try to add another CCS table, be careful with 'iconv_mktbl' script since it can contain bugs. Try to take 'iconv_mktbl' from original FreeBSD iconv library distribution. Rules to build .c and .ccs files are also can be given in original iconv library distribution. Artem B. Bityuckiy, SoftMine Corporation, <abitytsky@softminecorp.com>, <dedekind@mail.ru>, Dec, 2003.