collate 1/4: Add support for LC_COLLATE format "DragonFly 4.4" in libc
authorJohn Marino <draco@marino.st>
Tue, 28 Jul 2015 19:25:23 +0000 (21:25 +0200)
committerJohn Marino <draco@marino.st>
Tue, 28 Jul 2015 23:38:43 +0000 (01:38 +0200)
commit16db8bacccdd40fd2daf6bf549d27237237b9fe1
tree6606afaab35cd4c0e8fd1e71fd008443089b9d7c
parent17182a7f06103ec541186b596ad08d57ce763c39
collate 1/4: Add support for LC_COLLATE format "DragonFly 4.4" in libc

The collate functions within libc have been using version 1 and 1.2 of the
packed LC_COLLATE binary formats.  These were generated with the colldef
tool, but the new LC_COLLATE files are going to be generated by the new
localedef tool using CLDR POSIX files as input.  The DragonFly-flavored
version of localedef identifies the format as "DragonFly 4.4".  Any
LC_COLLATE file with a different version will simply not be loaded, and
all LC* categories will get set to "C" (aka "POSIX") locale.

This work is based off of Nexenta's contribution to Illumos (successor
to OpenSolaris).  The integration with xlocale is my work though.

The following commits will enable localedef tool, disable the colldef
tool, add generated colldef directory, and finally remove colldef from
base.
include/limits.h
lib/libc/locale/Symbol.map
lib/libc/locale/collate.c
lib/libc/locale/collate.h
lib/libc/locale/collcmp.c
lib/libc/locale/setrunelocale.c
lib/libc/string/strcoll.c
lib/libc/string/strxfrm.c
lib/libc/string/wcscoll.c
lib/libc/string/wcsxfrm.c