Skip to content

jakcron/libtoolchain

Repository files navigation

libtoolchain - Toolchain Development Library

License Language

Platform

Version

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)

File tree

  • bin/ - Compiled binaries
  • build/visualstudio/ - Visual Studio Project files
  • docs/ - Doxygen Generated API Documentation
  • include/ - Public headers
  • src/ - Library source code & private headers
  • test/ - Test program source code
  • Makefile - Root makefile (GNU/Unix build system file)
  • LICENCE - Distribution License
  • Doxyfile - Doxygen config

Building

For GNU/unix systems make can be used. For native Windows, Visual Studio project files are provided.

See more here.

Documentation

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/v0.6.

License

This source code is made available under the MIT license.