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.