Move the head of unicode.c and unicode.h to separate files, and write
alternative versions for running tests in user space. Since there are
no official unicode tests for case folding, the mktrie script must also
produce another version of the case folding trie, with no values.
Setup the Makefile so that the tests are run with every recompilation,
printing the results to build/test.out.
Soon this script will be putting the C code through the normalization
tests provided by Unicode. The most practical way to do this is to keep
the C functions inside the same repository, and later provide two build
options: one for use by the kernel module, and another for testing in
user space.
Write a simple script that parses unicode decomposition data into tries
represented as C arrays. A big portion of the code was taken from a
version of the mkutf8data script by Olaf Weber [1], but adapted to work
with NFD, and to produce data structures more in line with those used
by hfsplus.
[1] https://marc.info/?l=linux-fsdevel&m=152584896931191&w=2