Skip to content

Building

YadeWira edited this page Jun 13, 2026 · 2 revisions

Building

All dependencies are vendored under source/vendor/ (kanzi-cpp, fast-lzma2, packJPG, mingw-deps, preflate-rs FFI). The build artifacts (-march=native kanzi/preflate .a's, 158 MB Rust target) are not committed — rebuild them locally (see source/vendor/*/BUILD.md).

Quick start

cd source
make            # default: self-contained Linux static + Windows full binaries

Targets

target output
make / make all Linux static + Windows mingw binaries (the autonomous releases)
make static Linux fully-static binary only
make win-full Windows mingw .exe only
make lib / make lib-win libpackPNG static and shared library (.so / .dll) + packpng.h (see Library)
make tncp experimental TNCP context-mixing backend (links the TNCP Rust lib)
make minimal LZMA-only build (no kanzi/zstd/preflate)

Dependencies

  • Linux: zlib, liblzma, libzstd (system), plus the vendored kanzi + preflate static libs (rebuild with the BUILD.md steps).
  • Windows: mingw-w64 cross toolchain; deps are vendored under source/vendor/mingw-deps/.
  • preflate-rs / TNCP: a Rust toolchain (cargo) to (re)build the static libs.

The release binaries are statically linked and depend only on OS-provided libraries — verify the published SHA-256 or build from source.

Targets supported

Linux x86-64, Windows 10/11 x86-64.

Clone this wiki locally