Library to ease the development of toolchain applications.
This library helps with the busy work that is common to many toolchain development projects including:
- Cross platform support (macOS/Windows/GNU)
- Unicode entry-point (
umain()) - Command-line option processing
- Formating binary data for command-line output
- Cross platform FileSystem IO with large file support for both 32bit & 64bit targets and unicode path support
- String transcoding (UTF-8/UTF-16/UTF-32)
- Extensible abstractions for generating and processing binary data
- Properly integrated wrappers for Cryptographic Algorithms (AES, RSA, SHA, HMAC, PBKDF1/PBKDF2, PRBG)
Planned features:
- Serialisation of human readable formats (XML, JSON, YAML, INI, CSV, etc)
- Properly integrated wrappers for Cryptographic Algorithms (Eliptic Curve, etc)
- Properly integrated wrappers for Compression Algorithms (LZ4, etc)
bin/- Compiled binariesbuild/visualstudio/- Visual Studio Project filesdocs/- Doxygen Generated API Documentationinclude/- Public headerssrc/- Library source code & private headerstest/- Test program source codeMakefile- Root makefile (GNU/Unix build system file)LICENCE- Distribution LicenseDoxyfile- Doxygen config
For GNU/unix systems make can be used. For native Windows, Visual Studio project files are provided.
See more here.
API Documentation is generated using Doxygen, and located at docs/index.html. Alternatively documentation for the current stable version is available at https://jakcron.github.io/libtoolchain-docs/latest.
This source code is made available under the MIT license.