:package: Bundle, an embeddable compression library: DEFLATE, LZMA, LZIP, BZIP2, ZPAQ, LZ4, ZSTD, BROTLI, BSC, CSC, BCM, MCM, ZMOLLY, ZLING, TANGELO, SHRINKER,
:package: Bundle, an embeddable compression library: DEFLATE, LZMA, LZIP, BZIP2, ZPAQ, LZ4, ZSTD, BROTLI, BSC, CSC, BCM, MCM, ZMOLLY, ZLING, TANGELO, SHRINKER,
Bundle is an embeddable compression library that supports 23 compression algorithms and 2 archive formats.
Distributed in two files.
…- Files/datas are packed into streams by using any compression method (see above)
- Streams are archived into a standard ZIP file:
- ZIP entry compression is (0) for packed streams and (1-9) for unpacked streams.
- ZIP entry comment is a serialized JSON of (file) meta-datas (@todo).
- Note: you can mix streams of different algorithms into the very same ZIP archive.…| #define directive | Default value | Meaning |
|---|---|---|
| BUNDLE_NO_APACHE2 | (undefined) | Define to remove any Apache 2.0 library from build |
| BUNDLE_NO_BSD2 | (undefined) | Define to remove any BSD-2 library from build |
| BUNDLE_NO_BSD3 | (undefined) | Define to remove any BSD-3 library from build |
| BUNDLE_NO_CDDL | (undefined) | Define to remove any CDDL library from build |
| BUNDLE_NO_GPL | (undefined) | Define to remove any GPL library from build |
| BUNDLE_NO_MIT | (undefined) | Define to remove any MIT library from build |
| BUNDLE_NO_UNLICENSE | (undefined) | Define to remove any Public Domain library from build (*) |
(*): will disable .bun and .zip archive support as well.
| #define directive | Default value | Meaning |
|---|---|---|
| BUNDLE_NO_BCM | (undefined) | Define to remove BCM library from build |
| BUNDLE_NO_BROTLI | (undefined) | Define to remove Brotli library from build |
| BUNDLE_NO_BSC | (undefined) | Define to remove LibBsc library from build |
| BUNDLE_NO_BZIP2 | (undefined) | Define to remove BZip2 library from build |
| BUNDLE_NO_CRUSH | (undefined) | Define to remove CRUSH library from build |
| BUNDLE_NO_CSC | (undefined) | Define to remove CSC library from build |
| BUNDLE_NO_LZ4 | (undefined) | Define to remove LZ4/LZ4 libraries |
| BUNDLE_NO_LZIP | (undefined) | Define to remove EasyLZMA library from build |
| BUNDLE_NO_LZJB | (undefined) | Define to remove LZJB library from build |
| BUNDLE_NO_LZMA | (undefined) | Define to remove LZMA library from build |
| BUNDLE_NO_MCM | (undefined) | Define to remove MCM library from build |
| BUNDLE_NO_MINIZ | (undefined) | Define to remove MiniZ library from build (*) |
| BUNDLE_NO_SHOCO | (undefined) | Define to remove Shoco library from build |
| BUNDLE_NO_SHRINKER | (undefined) | Define to remove Shrinker library from build |
| BUNDLE_NO_TANGELO | (undefined) | Define to remove TANGELO library from build |
| BUNDLE_NO_ZLING | (undefined) | Define to remove ZLING library from build |
| BUNDLE_NO_ZMOLLY | (undefined) | Define to remove ZMOLLY library from build |
| BUNDLE_NO_ZPAQ | (undefined) | Define to remove ZPAQ library from build |
| BUNDLE_NO_ZSTD | (undefined) | Define to remove ZSTD library from build |
(*): will disable .bun and .zip archive support as well.
| #define directive | Default value | Meaning |
|---|---|---|
| BUNDLE_USE_OMP_TIMER | (undefined) | Define as 1 to use OpenMP timers |
| BUNDLE_USE_CXX11 | (autodetected) | Define as 0/1 to disable/enable C++11 features |
| Software | Author(s) | License | Version | Major changes? |
|---|---|---|---|---|
| bundle | r-lyeh | ZLIB/LibPNG | latest | |
| bcm | Ilya Muravyov | Public Domain | 1.00 | istream based now |
| brotli | Jyrki Alakuijala, Zoltan Szabadka | Apache 2.0 | 2015/11/03 | |
| bzip2 | Julian Seward | BSD-4 | ||
| crush | Ilya Muravyov | Public Domain | 1.00 | reentrant fix |
| csc | Siyuan Fu | Public Domain | 2015/06/16 | |
| easylzma | Igor Pavlov, Lloyd Hilaiel | Public Domain | 0.0.7 | |
| endian | Mathias Panzenböck | Public Domain | msvc fix | |
| libbsc | Ilya Grebnov | Apache 2.0 | 3.1.0 | |
| libzling | Zhang Li | BSD-3 | 2015/09/16 | |
| libzpaq | Matt Mahoney | Public Domain | 7.05 | |
| lz4 | Yann Collet | BSD-2 | 1.7.1 | |
| lzjb | Jeff Bonwick | CDDL license | 2010 | |
| mcm | Mathieu Chartier | GPL | 0.84 | |
| miniz | Rich Geldreich | Public Domain | v1.15 r.4.1 | alignment fix |
| shoco | Christian Schramm | MIT | 2015/03/16 | |
| shrinker | Siyuan Fu | BSD-3 | rev 3 | |
| tangelo | Matt Mahoney, Jan Ondrus | GPL | 2.41 | reentrant fixes, istream based now |
| zmolly | Zhang Li | BSD-3 | 0.0.1 | reentrant and memstream fixes |
| zstd | Yann Collet | BSD-2 | 0.3.2 |
FastLZ, FLZP, LibLZF, LZFX, LZHAM, LZLIB, LZO, LZP, SMAZ, Snappy, ZLIB, bzip2, Yappy, CMix, M1
cl bundle.cpp -DBUNDLE_API=BUNDLE_API_EXPORT /LD
cl demo.cc -DBUNDLE_API=BUNDLE_API_IMPORT bundle.libNo open issues yet, or sync has not completed.