Various C tools

7322f80 Sync posix-build

5 days ago

313cd57 README nit

13 days ago


A collection of miscellaneous tools made in C:
    * genhtab     Generate static C99 hash tables
    * htmldecode  HTML decoding to UTF-8
    * htmlencode  HTML encoding from UTF-8
    * mbcut       Multibyte aware string trimming
    * natsort     Natural sorting for UTF-8
    * urldecode   URL decoding
    * urlencode   URL encoding
    * wcswidth    wcswidth(3) wrapper


A POSIX environment with the following additions:
    * mktemp(1) -d                  (build)
    * curl(1), wget(1) or fetch(1)  (htmldecode build)
    * flex(1)                       (htmldecode build)

    Building and installation

To build and install a tool (default values shown):
    $ BIN=<tool> [CC=c99] [LTO=false] [NATIVE=false] ./build.sh
    # BIN=<tool> [DESTDIR=] [PREFIX=/usr/local] ./build.sh install

    $ BIN=<tool> ./build.sh clean

    # BIN=<tool> ./build.sh uninstall

For all operations, omit BIN=<tool> to iterate on all tools. LTO if strongly
recommended for mbcut and htmldecode, to avoid binary bloat due to utf8.c
containing big Unicode LUTs.