-
-
Notifications
You must be signed in to change notification settings - Fork 318
Home
Note: In an effort to limit the scope of compilers and platforms we must maintain support for, we recommend certain minimum versions. These are not the minimum versions that will work, we do attempt to support older versions as well, however our ability to actively support older versions is limited.
| Zlib-ng 2.0.x | Zlib-ng 2.1.x/2.2.x | Zlib-ng 2.3.x | |
|---|---|---|---|
| C-Standard | C99 | C11 | C11 |
| CMake | 3.5.1 | 3.12.0 | 3.14.0 |
| GCC | 5.5.0 | 8.3 | 8.5 |
| Clang | 6.0 | 9.0 | 11.0 |
| MSVC | 2013 | 2019 | 2022 |
| Configure (bash/gmake)) | Full | Reduced* | Reduced* |
| NMake | Full | Community** | Via Cmake |
These are the minimum versions that we plan to maintain support for throughout the version series
-
Older versions are not actively supported or tested.
It is possible to build zlib-ng outside of these minimums, however support for doing so is limited, and is not guaranteed to work later in the version series, although likely.
Community patches are accepted. -
Other compilers are not actively supported or tested.
Community patches are accepted. -
* Configure is still supported in 2.1.x, but at a reduced feature level compared to CMake.
Configure only has basic tests. -
** NMake buildsystems are no longer actively supported and tested.
| Zlib-ng 2.0.x | Zlib-ng 2.1.x/2.2.x | Zlib-ng 2.3.x | |
|---|---|---|---|
| Android-API | 18 (4.3) | 19 (4.4) | 27 (8.1) |
| MacOS | 10.9 | 10.13 | 10.15 |
| RedHat EL | 7.0 | 8.4 | 8.10 |
| Ubuntu | 12.04 | 16.04 | 18.04 |
| Windows | 7 | 7 | 10 |
These are not actively tested, and are meant only as guidelines
Several macros can be used to detect the version of zlib-ng at compile time. They can be found in zlib-ng.h or zlib.h (depending on whether or not you are compiling for zlib compatibility).
| Macro | Description |
|---|---|
| ZLIBNG_VERNUM | Full 32-bit version of zlib-ng in the format MMNNRRSM: major minor revision status modified. Prior to 2.1.x it was a 16-bit value 0x2060 in the format MNRS. |
| ZLIBNG_VER_MAJOR | Major version |
| ZLIBNG_VER_MINOR | Minor version |
| ZLIBNG_VER_REVISION | Revision |
| ZLIBNG_VER_STATUS | (DEPRECATED) 0=devel, 1-E=beta, F=Release |
| ZLIBNG_VER_STATUSH | 0x0=devel, 1-9=beta, A-E=Release Candidate, 0xF=Release |
| ZLIBNG_VER_MODIFIED | non-zero if modified externally from zlib-ng |
- RFC1950 - ZLIB compressed data format
- RFC1951 - DEFLATE compressed data format
- RFC1952 - GZIP file format
These resources can also be found in the doc folder in the git repository.