zlib replacement with optimizations for "next generation" systems.
Go to file
Mika Lindqvist 2c98ece180
Some checks failed
Static Analysis / GCC (push) Has been cancelled
Static Analysis / Clang (push) Has been cancelled
CMake / ${{ matrix.name }} (${{ github.repository != 'zlib-ng/zlib-ng' && '-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake -DZLIB_COMPAT=ON' || '-GNinja -DWITH_SANITIZER=Memory' }} -DWITH_DFLTCC_DEFLATE=ON -DWITH_DFLTCC_INFLATE=ON, ${{ github.repository == … (push) Has been cancelled
CMake / ${{ matrix.name }} (${{ github.repository != 'zlib-ng/zlib-ng' && '-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake' || '' }} -DWITH_DFLTCC_DEFLATE=ON -DWITH_DFLTCC_INFLATE=ON -DWITH_SANITIZER=Undefined, ${{ github.repository == 'zlib-ng/zlib-ng' && … (push) Has been cancelled
CMake / ${{ matrix.name }} (-A ARM,version=10.0.22621.0, cl, Windows MSVC ARM No Test, windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-A ARM64, cl, Windows MSVC ARM64 No Test, windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_SHARED_LINKER_FLAGS=-m32 -DCMAKE_EXE_LINKER_FLAGS=-m32 -DWITH_BENCHMARKS=ON, ubuntu_gcc_m32, gcc, g++, Ubuntu GCC 32-bit, ubuntu-latest, gcc-multilib g++-multilib) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_OSX_DEPLOYMENT_TARGET=10.10 -DWITH_BENCHMARKS=ON, clang, clang++, -ld_classic, macOS Clang (Target 10.10), macos-13) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DWITH_ARMV8=OFF -DWITH_SANITIZER=Undefined, ubuntu_gcc_aarch64_no_armv8, aarch64-linux-gnu-gcov, Ubuntu GCC AARCH64 No ARMv8 UBSAN, ubuntu-22.04, qemu-user gcc-aarch64-linux-gnu … (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DWITH_NEON=OFF -DWITH_SANITIZER=Undefined, ubuntu_gcc_aarch64_no_neon, aarch64-linux-gnu-gcov, Ubuntu GCC AARCH64 No NEON UBSAN, ubuntu-22.04, qemu-user gcc-aarch64-linux-gnu g++… (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Undefined, ubuntu_gcc_aarch64_compat_no_opt, aarch64-linux-gnu-gcov, Ubuntu GCC AARCH64 Compat No Opt … (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Undefined, ubuntu_gcc_armsf_compat_no_opt, arm-linux-gnueabi-gcov, Ubuntu GCC ARM SF Compat No Opt UBSAN, … (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Undefined, ubuntu_gcc_armhf_compat_no_opt, arm-linux-gnueabihf-gcov, Ubuntu GCC ARM HF Compat No Opt UBS… (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mingw-i686.cmake, ubuntu_gcc_mingw_i686, i686-w64-mingw32-gcov-posix, -static, Ubuntu MinGW i686, ubuntu-22.04, wine wine32 gcc-mingw-w64-i686 g++-mingw-w64-i686 libpcre2-8-0=10.39-3ubuntu0.1 l… (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mingw-x86_64.cmake -DWITH_BENCHMARKS=ON, ubuntu_gcc_mingw_x86_64, -Wno-unused-parameter, x86_64-w64-mingw32-gcov-posix, -static, Ubuntu MinGW x86_64, ubuntu-latest, wine wine64 gcc-mingw-w64 g+… (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mips.cmake, ubuntu_gcc_mips, mips-linux-gnu-gcov, Ubuntu GCC MIPS, ubuntu-latest, qemu-user crossbuild-essential-mips) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mips64.cmake -DWITH_BENCHMARKS=ON, ubuntu_gcc_mips64, mips64-linux-gnuabi64-gcov, Ubuntu GCC MIPS64, ubuntu-latest, qemu-user crossbuild-essential-mips64) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake -DWITH_POWER8=OFF, ubuntu_gcc_ppc_no_power8, powerpc-linux-gnu-gcov, Ubuntu GCC PPC No Power8, ubuntu-latest, qemu-user crossbuild-essential-powerpc) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake, ubuntu_gcc_ppc, powerpc-linux-gnu-gcov, Ubuntu GCC PPC, ubuntu-latest, qemu-user crossbuild-essential-powerpc) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64-clang.cmake, Ubuntu Clang PPC64 Power9, ubuntu-latest, qemu-user clang binutils-powerpc64-linux-gnu libgcc-11-dev-ppc64-cross libc-dev-ppc64-cross libstdc++-11-dev-ppc64-cross) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64-power9.cmake, ubuntu_gcc_ppc64_power9, powerpc64-linux-gnu-gcov, -static, Ubuntu GCC PPC64 Power9, ubuntu-latest, qemu-user gcc-powerpc64-linux-gnu g++-powerpc64-linux-gnu libc-dev-pp… (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64.cmake -DWITH_BENCHMARKS=ON, ubuntu_gcc_ppc64, powerpc64-linux-gnu-gcov, -static, Ubuntu GCC PPC64, ubuntu-latest, qemu-user gcc-powerpc64-linux-gnu g++-powerpc64-linux-gnu libc-dev-pp… (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le-clang.cmake, Ubuntu Clang PPC64LE Power9, ubuntu-latest, qemu-user crossbuild-essential-ppc64el) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le-power9.cmake -DWITH_POWER8=OFF -DWITH_POWER9=OFF, ubuntu_gcc_ppc64le_novsx, powerpc64le-linux-gnu-gcov, Ubuntu GCC PPC64LE No VSX, ubuntu-latest, qemu-user crossbuild-essential-ppc6… (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le-power9.cmake, ubuntu_gcc_ppc64le_power9, powerpc64le-linux-gnu-gcov, Ubuntu GCC PPC64LE Power9, ubuntu-latest, qemu-user crossbuild-essential-ppc64el) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-riscv-clang.cmake, Ubuntu Clang RISC-V, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-riscv.cmake -DWITH_BENCHMARKS=ON, ubuntu_gcc_riscv64, riscv64-linux-gnu-gcov, Ubuntu GCC RISC-V, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-sparc64.cmake, ubuntu_gcc_sparc64, sparc64-linux-gnu-gcov, -static, Ubuntu GCC SPARC64, ubuntu-latest, qemu-user gcc-sparc64-linux-gnu g++-sparc64-linux-gnu libc-dev-sparc64-cross) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DNOT_TWEAK_COMPILER, -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Address, ubuntu_gcc_compat_no_opt, gcc, g++, Ubuntu GCC Compat No Opt ASAN, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DUSE_MMAP, ubuntu_clang_mmap, clang-15, clang++-15, llvm-cov-15 gcov, Ubuntu Clang Memory Map, ubuntu-latest, clang-15 llvm-15 llvm-15-tools) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_AVX2=OFF -DWITH_AVX512=OFF -DWITH_SANITIZER=Undefined, ubuntu_gcc_sse42, gcc, g++, Ubuntu GCC SSE4.2 UBSAN, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_CHORBA=OFF, ubuntu_gcc_no_chorba, gcc, g++, Ubuntu GCC No Chorba, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_INFLATE_ALLOW_INVALID_DIST=ON, ubuntu_clang_inflate_allow_invalid_dist, clang-15, clang++-15, llvm-cov-15 gcov, Ubuntu Clang Inflate Allow Invalid Dist, ubuntu-latest, clang-15 llvm-15 llvm-15-tools) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_INFLATE_STRICT=ON, ubuntu_clang_inflate_strict, clang-15, clang++-15, llvm-cov-15 gcov, Ubuntu Clang Inflate Strict, ubuntu-latest, clang-15 llvm-15 llvm-15-tools) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_NATIVE_INSTRUCTIONS=ON -DNATIVE_ARCH_OVERRIDE="-mavx -mpclmul", ubuntu_gcc_native_inst_avx, gcc, g++, Ubuntu GCC Native Instructions (AVX), ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_NATIVE_INSTRUCTIONS=ON, clang, clang++, macOS Clang Native Instructions (ARM64), macos-14) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_NATIVE_INSTRUCTIONS=ON, ubuntu_gcc_native_inst, gcc, g++, Ubuntu GCC Native Instructions, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_OPTIM=OFF -DHAVE_BUILTIN_CTZLL=OFF -DHAVE_BUILTIN_CTZ=OFF, ubuntu_gcc_no_ctz, gcc, g++, Ubuntu GCC No CTZ, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_OPTIM=OFF -DHAVE_BUILTIN_CTZLL=OFF, ubuntu_gcc_no_ctzll, gcc, g++, Ubuntu GCC No CTZLL, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_PCLMULQDQ=OFF -DWITH_SANITIZER=Undefined, ubuntu_gcc_no_pclmulqdq, gcc, g++, Ubuntu GCC No PCLMULQDQ UBSAN, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_REDUCED_MEM=ON, ubuntu_clang_reduced_mem, clang-15, clang++-15, llvm-cov-15 gcov, Ubuntu Clang Reduced Memory, ubuntu-latest, clang-15 llvm-15 llvm-15-tools) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_SANITIZER=Address -DWITH_BENCHMARKS=ON, ubuntu_gcc, gcc, g++, -Wno-maybe-uninitialized, Ubuntu GCC ASAN, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_SANITIZER=Address, macos_clang, clang, clang++, macOS Clang ASAN, macos-13) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_SANITIZER=Address, macos_clang_arm64, clang, clang++, macOS Clang ASAN (ARM64), macos-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_SANITIZER=Undefined, macos_gcc, gcc-10, g++-10, gcov-10, -ld_classic, macOS GCC UBSAN, macos-13, gcc@10) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_SANITIZER=Undefined, macos_gcc_arm64, gcc-13, g++-13, gcov-13, macOS GCC UBSAN (ARM64), macos-latest, gcc@13) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_SSE42=OFF -DWITH_AVX2=OFF -DWITH_AVX512=OFF -DWITH_SANITIZER=Undefined, ubuntu_gcc_ssse3, gcc, g++, Ubuntu GCC SSSE3 UBSAN, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DWITH_SSSE3=OFF -DWITH_SSE42=OFF -DWITH_AVX2=OFF -DWITH_AVX512=OFF -DWITH_SANITIZER=Undefined, ubuntu_gcc_sse2, gcc, g++, Ubuntu GCC SSE2 UBSAN, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DZLIB_COMPAT=ON -DZLIB_SYMBOL_PREFIX=zTest_, ubuntu_gcc_compat_sprefix, gcc, g++, Ubuntu GCC Compat Symbol Prefix, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-DZLIB_SYMBOL_PREFIX=zTest_, ubuntu_gcc_sprefix, gcc, g++, Ubuntu GCC Symbol Prefix, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G "Visual Studio 16 2019" -A Win32 -T v140, cl, Windows MSVC 2019 v140 Win32, windows-2019) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G "Visual Studio 16 2019" -A Win32 -T v141, cl, Windows MSVC 2019 v141 Win32, windows-2019) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G "Visual Studio 16 2019" -A x64 -T v140, cl, Windows MSVC 2019 v140 Win64, windows-2019) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G "Visual Studio 16 2019" -A x64 -T v141, cl, Windows MSVC 2019 v141 Win64, windows-2019) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G "Visual Studio 17 2022" -A Win32 -T v142, cl, Windows MSVC 2022 v142 Win32, windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G "Visual Studio 17 2022" -A Win32 -T v143, cl, Windows MSVC 2022 v143 Win32, windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G "Visual Studio 17 2022" -A x64 -T v142, cl, Windows MSVC 2022 v142 Win64, windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G "Visual Studio 17 2022" -A x64 -T v143 -DWITH_NATIVE_INSTRUCTIONS=ON -DNATIVE_ARCH_OVERRIDE=/arch:AVX, cl, Windows MSVC 2022 v143 Win64 Native Instructions (AVX), windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G "Visual Studio 17 2022" -A x64 -T v143, cl, Windows MSVC 2022 v143 Win64, windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G Ninja -DWITH_NATIVE_INSTRUCTIONS=ON -DNATIVE_ARCH_OVERRIDE="-mavx -mpclmul", gcc, g++, Windows GCC Native Instructions (AVX), windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G Ninja -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF, win64_gcc_compat_no_opt, gcc, g++, Windows GCC Compat No Opt, windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-G Ninja, win64_gcc, gcc, g++, Windows GCC, windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-GNinja -DWITH_SANITIZER=Memory, clang-15, clang++-15, llvm-cov-15 gcov, use_sigaltstack=0, Ubuntu Clang MSAN, ubuntu-latest, ninja-build clang-15 llvm-15-tools libclang-rt-15-dev) (push) Has been cancelled
CMake / ${{ matrix.name }} (-O1, -DWITH_SANITIZER=Undefined, ubuntu_gcc_o1, gcc, g++, Ubuntu GCC -O1 UBSAN, ubuntu-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-T ClangCl -A Win32, Windows ClangCl Win32, windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-T ClangCl -A x64 -DWITH_NATIVE_INSTRUCTIONS=ON -DNATIVE_ARCH_OVERRIDE="-mavx -mpclmul", Windows ClangCl Win64 Native Instructions (AVX), windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-T ClangCl -A x64, Windows ClangCl Win64, windows-latest) (push) Has been cancelled
CMake / ${{ matrix.name }} (-mcpu=power8, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le.cmake -DWITH_GTEST=OFF, ubuntu_gcc_ppc64le, -mcpu=power8, powerpc64le-linux-gnu-gcov, Ubuntu GCC PPC64LE, ubuntu-latest, qemu-user crossbuild-essential-ppc64el) (push) Has been cancelled
CMake / ${{ matrix.name }} (../build, ../zlib-ng, -O3, ubuntu_gcc_osb, gcc, g++, Ubuntu GCC -O3 OSB, ubuntu-latest, true) (push) Has been cancelled
CMake / ${{ matrix.name }} (../build, ../zlib-ng/test/add-subdirectory-project, gcc, g++, Ubuntu GCC -O3 OSB add_subdirectory, ubuntu-latest, true) (push) Has been cancelled
CMake / ${{ matrix.name }} (Debug, ubuntu_clang_debug, clang-15, clang++-15, llvm-cov-15 gcov, Ubuntu Clang Debug, ubuntu-latest, clang-15 llvm-15 llvm-15-tools) (push) Has been cancelled
CMake / ${{ matrix.name }} (ON, -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld -Wl,--no-undefined-version" -DZLIBNG_ENABLE_TESTS=OFF -DZLIB_COMPAT=ON, clang-15, clang++-15, Ubuntu Clang Undefined Symbols Compat, ubuntu-latest, clang-15 llvm-15 lld) (push) Has been cancelled
CMake / ${{ matrix.name }} (ON, -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld -Wl,--no-undefined-version" -DZLIBNG_ENABLE_TESTS=OFF, clang-15, clang++-15, Ubuntu Clang Undefined Symbols, ubuntu-latest, clang-15 llvm-15 lld) (push) Has been cancelled
CMake / ${{ matrix.name }} (detect_leaks=0, ${{ github.repository != 'zlib-ng/zlib-ng' && '-DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake' || '' }} -DWITH_DFLTCC_DEFLATE=ON -DWITH_DFLTCC_INFLATE=ON -DWITH_SANITIZER=Address -DWITH_BENCHMARKS=ON, ${{ github.… (push) Has been cancelled
CMake / ${{ matrix.name }} (detect_leaks=0, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DWITH_SANITIZER=Address -DWITH_BENCHMARKS=ON, ubuntu_gcc_aarch64, aarch64-linux-gnu-gcov, Ubuntu GCC AARCH64 ASAN, ubuntu-22.04, qemu-user gcc-aarch64-linux-gnu g… (push) Has been cancelled
CMake / ${{ matrix.name }} (detect_leaks=0, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DWITH_SANITIZER=Address, ubuntu_gcc_armsf, arm-linux-gnueabi-gcov, Ubuntu GCC ARM SF ASAN, ubuntu-latest, qemu-user crossbuild-essential-armel) (push) Has been cancelled
CMake / ${{ matrix.name }} (detect_leaks=0, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake -DWITH_ARMV8=OFF -DWITH_SANITIZER=Address, ubuntu_gcc_armhf_no_armv8, arm-linux-gnueabihf-gcov, Ubuntu GCC ARM HF No ARMv8 ASAN, ubuntu-latest, qemu-user crossbuild-… (push) Has been cancelled
CMake / ${{ matrix.name }} (detect_leaks=0, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake -DWITH_NEON=OFF -DWITH_SANITIZER=Address, ubuntu_gcc_armhf_no_neon, arm-linux-gnueabihf-gcov, Ubuntu GCC ARM HF No NEON ASAN, ubuntu-latest, qemu-user crossbuild-ess… (push) Has been cancelled
CMake / ${{ matrix.name }} (detect_leaks=0, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake -DWITH_SANITIZER=Address -DWITH_BENCHMARKS=ON, ubuntu_gcc_armhf, -Wno-psabi -Wno-maybe-uninitialized, arm-linux-gnueabihf-gcov, Ubuntu GCC ARM HF ASAN, ubuntu-latest… (push) Has been cancelled
CMake / ${{ matrix.name }} (detect_leaks=0, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake -DWITH_CRC32_VX=OFF -DWITH_SANITIZER=Address, ubuntu_gcc_s390x_no_crc32, s390x-linux-gnu-gcov, -static, Ubuntu GCC S390X No vectorized CRC32 ASAN, ubuntu-latest, qem… (push) Has been cancelled
CMake / ${{ matrix.name }} (detect_leaks=0, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake -DWITH_SANITIZER=Address -DWITH_BENCHMARKS=ON, ubuntu_gcc_s390x, s390x-linux-gnu-gcov, -static, Ubuntu GCC S390X ASAN, ubuntu-latest, qemu-user crossbuild-essential-… (push) Has been cancelled
CMake / ${{ matrix.name }} (ubuntu_clang, clang-15, clang++-15, llvm-cov-15 gcov, Ubuntu Clang, ubuntu-latest, clang-15 llvm-15 llvm-15-tools) (push) Has been cancelled
CMake / ${{ matrix.name }} (wasm32, -DCMAKE_TOOLCHAIN_FILE=${EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_C_COMPILER_TARGET=wasm32 -DCMAKE_CROSSCOMPILING_EMULATOR=${EMSDK_NODE} -DZLIB_COMPAT=ON, Ubuntu Emscripten WASM32, ubuntu-la… (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
Configure / ${{ matrix.name }} (${{ github.repository != 'zlib-ng/zlib-ng' && '-static' || '' }}, ${{ github.repository != 'zlib-ng/zlib-ng' && 's390x-linux-gnu' || '' }}, ${{ github.repository == 'zlib-ng/zlib-ng' && 'gcc' || 's390x-linux-gnu-gcc' }}, --warn --s… (push) Has been cancelled
Configure / ${{ matrix.name }} (${{ github.repository != 'zlib-ng/zlib-ng' && '-static' || '' }}, ${{ github.repository != 'zlib-ng/zlib-ng' && 's390x-linux-gnu' || '' }}, ${{ github.repository == 'zlib-ng/zlib-ng' && 'gcc' || 's390x-linux-gnu-gcc' }}, --warn --z… (push) Has been cancelled
Configure / ${{ matrix.name }} (-static, powerpc-linux-gnu, powerpc-linux-gnu-gcc, --warn --static, -static, Ubuntu GCC PPC, ubuntu-latest, qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (-static, powerpc-linux-gnu, powerpc64-linux-gnu-gcc, --warn --static, -static, Ubuntu GCC PPC64, ubuntu-latest, qemu-user gcc-powerpc64-linux-gnu libc-dev-ppc64-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (-static, s390x-linux-gnu, s390x-linux-gnu-gcc, --warn --static --without-crc32-vx, -static, Ubuntu GCC S390X No vectorized CRC32, ubuntu-latest, qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (-static, s390x-linux-gnu, s390x-linux-gnu-gcc, --warn --static, -static, Ubuntu GCC S390X, ubuntu-latest, qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (-static, wasm32, --warn --zlib-compat --static, emconfigure, node, -static, Ubuntu Emscripten WASM32, ubuntu-latest) (push) Has been cancelled
Configure / ${{ matrix.name }} (-std=gnu11, gcc-11, --sprefix=zTest_, macOS GCC Symbol Prefix (ARM64), macos-latest, gcc@11) (push) Has been cancelled
Configure / ${{ matrix.name }} (-std=gnu11, gcc-11, --warn, macOS GCC (ARM64), macos-latest, gcc@11) (push) Has been cancelled
Configure / ${{ matrix.name }} (-std=gnu11, gcc-11, --zlib-compat --sprefix=zTest_, macOS GCC Symbol Prefix & Compat (ARM64), macos-latest, gcc@11) (push) Has been cancelled
Configure / ${{ matrix.name }} (../build, ../zlib-ng, gcc, --warn, Ubuntu GCC OSB, ubuntu-latest) (push) Has been cancelled
Configure / ${{ matrix.name }} (aarch64-linux-gnu, aarch64-linux-gnu-gcc, --warn --without-armv8, Ubuntu GCC AARCH64 No ARMv8, ubuntu-latest, qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (aarch64-linux-gnu, aarch64-linux-gnu-gcc, --warn --without-neon, Ubuntu GCC AARCH64 No NEON, ubuntu-latest, qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (aarch64-linux-gnu, aarch64-linux-gnu-gcc, --warn --zlib-compat --without-optimizations --without-new-strategies, Ubuntu GCC AARCH64 Compat No Opt, ubuntu-latest, qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (aarch64-linux-gnu, aarch64-linux-gnu-gcc, --warn, Ubuntu GCC AARCH64, ubuntu-latest, qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (arm-linux-gnueabi, arm-linux-gnueabi-gcc, --warn --zlib-compat --without-optimizations --without-new-strategies, Ubuntu GCC ARM SF Compat No Opt, ubuntu-latest, qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (arm-linux-gnueabi, arm-linux-gnueabi-gcc, --warn, Ubuntu GCC ARM SF, ubuntu-latest, qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (arm-linux-gnueabihf, arm-linux-gnueabihf-gcc, --warn --without-armv8, Ubuntu GCC ARM HF No ARMv8, ubuntu-latest, qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (arm-linux-gnueabihf, arm-linux-gnueabihf-gcc, --warn --without-neon, Ubuntu GCC ARM HF No NEON, ubuntu-latest, qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (arm-linux-gnueabihf, arm-linux-gnueabihf-gcc, --warn --zlib-compat --without-optimizations --without-new-strategies, Ubuntu GCC ARM HF Compat No Opt, ubuntu-latest, qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (arm-linux-gnueabihf, arm-linux-gnueabihf-gcc, --warn, Ubuntu GCC ARM HF, ubuntu-latest, qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (gcc, --warn --zlib-compat --without-optimizations --without-new-strategies, Ubuntu GCC Compat No Opt, ubuntu-latest) (push) Has been cancelled
Configure / ${{ matrix.name }} (gcc, --warn, Ubuntu GCC, ubuntu-latest) (push) Has been cancelled
Configure / ${{ matrix.name }} (gcc-11, --sprefix=zTest_, macOS GCC Symbol Prefix, macos-13, gcc@11) (push) Has been cancelled
Configure / ${{ matrix.name }} (gcc-11, --warn, macOS GCC, macos-13, gcc@11) (push) Has been cancelled
Configure / ${{ matrix.name }} (gcc-11, --zlib-compat --sprefix=zTest_, macOS GCC Symbol Prefix & Compat, macos-13, gcc@11) (push) Has been cancelled
Configure / ${{ matrix.name }} (mips-linux-gnu, mips-linux-gnu-gcc, --warn, Ubuntu GCC MIPS, ubuntu-latest, qemu-user gcc-mips-linux-gnu libc-dev-mips-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (mips64-linux-gnuabi64, mips64-linux-gnuabi64-gcc, --warn, Ubuntu GCC MIPS64, ubuntu-latest, qemu-user gcc-mips64-linux-gnuabi64 libc-dev-mips64-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (powerpc-linux-gnu, powerpc-linux-gnu-gcc, --warn --without-power8, Ubuntu GCC PPC No Power8, ubuntu-latest, qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (powerpc64le-linux-gnu, powerpc64le-linux-gnu-gcc, --warn, Ubuntu GCC PPC64LE, ubuntu-latest, qemu-user gcc-powerpc64le-linux-gnu libc-dev-ppc64el-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (riscv64-linux-gnu, riscv64-linux-gnu-gcc, --warn --without-rvv, Ubuntu GCC RISCV64 No RVV, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
Configure / ${{ matrix.name }} (riscv64-linux-gnu, riscv64-linux-gnu-gcc, --warn --zlib-compat --without-optimizations --without-new-strategies, Ubuntu GCC RISCV64 Compat No Opt, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
Configure / ${{ matrix.name }} (riscv64-linux-gnu, riscv64-linux-gnu-gcc, --warn, Ubuntu GCC RISCV64, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
OSS-Fuzz / Fuzzing (push) Has been cancelled
Libpng / Ubuntu Clang (push) Has been cancelled
Link / Link zlib (push) Has been cancelled
Link / Link zlib-ng compat (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=../../cmake/toolchain-aarch64.cmake, ubuntu_gcc_pigz_aarch64, Ubuntu GCC AARCH64, ubuntu-latest, qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross) (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DWITH_OPTIM=OFF, ubuntu_clang_pigz_no_optim, clang, llvm-cov-15 gcov, Ubuntu Clang No Optim, ubuntu-latest, llvm-15 llvm-15-tools) (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DWITH_THREADS=OFF -DPIGZ_VERSION=v2.6, ubuntu_clang_pigz_no_threads, clang, llvm-cov-15 gcov, Ubuntu Clang No Threads, ubuntu-latest, llvm-15 llvm-15-tools) (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DZLIB_SYMBOL_PREFIX=zTest_, ubuntu_gcc_pigz, gcc, Ubuntu GCC Symbol Prefix, ubuntu-latest) (push) Has been cancelled
Pigz / ${{ matrix.name }} (ubuntu_clang_pigz, clang, llvm-cov-15 gcov, Ubuntu Clang, ubuntu-latest, llvm-15 llvm-15-tools) (push) Has been cancelled
Pigz / ${{ matrix.name }} (ubuntu_gcc_pigz, gcc, Ubuntu GCC, ubuntu-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (-DZLIB_SYMBOL_PREFIX=zTest_, clang, --sprefix=zTest_, clang++, macOS Clang Symbol Prefix, macOS-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (-m32, -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32, gcc, g++, -m32, -m32, Ubuntu GCC -m32, ubuntu-latest, gcc-multilib g++-multilib) (push) Has been cancelled
Package Check / ${{ matrix.name }} (aarch64-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake, aarch64-linux-gnu-gcc, aarch64-linux-gnu-g++, Ubuntu GCC AARCH64, ubuntu-latest, qemu-user gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc6-dev-arm64-cross) (push) Has been cancelled
Package Check / ${{ matrix.name }} (arm-linux-gnueabihf, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake, arm-linux-gnueabihf-gcc, arm-linux-gnueabihf-g++, Ubuntu GCC ARM HF, ubuntu-latest, qemu-user gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc6-dev-armhf-c… (push) Has been cancelled
Package Check / ${{ matrix.name }} (clang, clang++, macOS Clang, macOS-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (gcc, g++, Ubuntu GCC, ubuntu-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (mips-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mips.cmake, mips-linux-gnu-gcc, mips-linux-gnu-g++, Ubuntu GCC MIPS, ubuntu-latest, qemu-user gcc-mips-linux-gnu g++-mips-linux-gnu libc6-dev-mips-cross) (push) Has been cancelled
Package Check / ${{ matrix.name }} (mips64-linux-gnuabi64, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mips64.cmake, mips64-linux-gnuabi64-gcc, mips64-linux-gnuabi64-g++, Ubuntu GCC MIPS64, ubuntu-latest, qemu-user gcc-mips64-linux-gnuabi64 g++-mips64-linux-gnuabi64 libc6-… (push) Has been cancelled
Package Check / ${{ matrix.name }} (powerpc-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake, powerpc-linux-gnu-gcc, powerpc-linux-gnu-g++, Ubuntu GCC PPC, ubuntu-latest, qemu-user gcc-powerpc-linux-gnu g++-powerpc-linux-gnu libc6-dev-powerpc-cross) (push) Has been cancelled
Package Check / ${{ matrix.name }} (powerpc64le-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le.cmake, powerpc64le-linux-gnu-gcc, powerpc64le-linux-gnu-g++, Ubuntu GCC PPC64LE, ubuntu-latest, qemu-user gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu … (push) Has been cancelled
Package Check / ${{ matrix.name }} (riscv64-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-riscv.cmake, riscv64-linux-gnu-gcc, riscv64-linux-gnu-g++, Ubuntu GCC RISC-V, ubuntu-latest, qemu-user gcc-riscv64-linux-gnu g++-riscv64-linux-gnu libc6-dev-riscv64-cross) (push) Has been cancelled
CMake / Upload Coverage Reports (push) Has been cancelled
Pigz / Upload Coverage Reports (push) Has been cancelled
[configure] Add support for RISC-V ZBC extension
2025-05-28 13:32:14 +02:00
.github riscv: add bash configure script and related ci support for riscv 2025-05-01 22:59:25 +02:00
arch [configure] Add support for RISC-V ZBC extension 2025-05-28 13:32:14 +02:00
cmake riscv: add crc32 optimization using zbc extension 2025-04-27 18:23:50 +02:00
doc Added Intel's Fast CRC Computation for Generic Polynomials Using PCLMULQDQ Instruction paper to docs folder. 2022-06-07 12:43:27 +02:00
test Add large 1mb buffer test for crc32 hashing. 2025-05-27 14:45:11 +02:00
tools Clean up crc32_braid. 2025-02-18 23:59:16 +01:00
win32 Remove NMake build projects 2025-04-14 23:18:18 +02:00
.codecov.yaml Ignore code coverage for files in _dep directory. 2022-03-13 07:41:12 +01:00
.gitattributes Fix lint trailing whitespace error. 2024-05-30 20:03:51 +02:00
.gitignore added in-tree build artifacts to .gitignore 2024-12-20 23:35:11 +01:00
.shellcheckrc Import default codecfactor.io .shellcheckrc file. 2020-03-09 14:13:36 +01:00
adler32_p.h Replace DO1/DO8 macros 2025-02-18 23:59:16 +01:00
adler32.c Explicitly indicate functions are conditionally dispatched 2024-03-06 23:32:15 +01:00
arch_functions.h Rename cpu_functions.h to arch_functions.h. 2024-02-22 20:11:46 +01:00
chunkset_tpl.h Since we long ago make unaligned reads safe (by using memcpy or intrinsics), 2024-12-21 00:46:48 +01:00
CMakeLists.txt riscv: add crc32 optimization using zbc extension 2025-04-27 18:23:50 +02:00
compare256_rle.h Continued cleanup of old UNALIGNED_OK checks 2024-12-26 22:14:46 +01:00
compress.c Fix definition of z_size_t to match documentation of legacy zlib API. 2023-02-23 12:17:34 +01:00
configure [configure] Add support for RISC-V ZBC extension 2025-05-28 13:32:14 +02:00
cpu_features.c Add supporting RISC-V cross compilation workflows 2023-05-12 16:57:32 +02:00
cpu_features.h Allow disabling runtime CPU features detection in tests and benchmarks 2024-04-04 13:47:02 +02:00
crc32_braid_comb_p.h Correct comment for x2nmodp. 2022-05-25 12:04:35 +02:00
crc32_braid_comb.c Move crc32 C fallbacks to arch/generic 2024-01-19 15:22:34 +01:00
crc32_braid_p.h Replace DO1/DO8 macros 2025-02-18 23:59:16 +01:00
crc32_braid_tbl.h Clean up crc32_braid. 2025-02-18 23:59:16 +01:00
crc32.c Explicitly indicate functions are conditionally dispatched 2024-03-06 23:32:15 +01:00
crc32.h Explicit SSE2 vectorization of Chorba CRC method 2025-03-28 20:43:59 +01:00
deflate_fast.c Fixes build issues C4242, C4244 and C4334 caused by loss of data bugs due to data type mismatch in various files. 2024-08-16 11:52:50 +02:00
deflate_huff.c zlib 1.3.1 2024-02-07 19:15:56 +01:00
deflate_medium.c Clean up insert_match() in deflate_medium 2024-04-11 12:43:06 +02:00
deflate_p.h Fixes build issues C4242, C4244 and C4334 caused by loss of data bugs due to data type mismatch in various files. 2024-08-16 11:52:50 +02:00
deflate_quick.c Use GCC's may_alias attribute for unaligned memory access 2024-12-24 12:55:44 +01:00
deflate_rle.c Continued cleanup of old UNALIGNED_OK checks 2024-12-26 22:14:46 +01:00
deflate_slow.c Fixes build issues C4242, C4244 and C4334 caused by loss of data bugs due to data type mismatch in various files. 2024-08-16 11:52:50 +02:00
deflate_stored.c Fix a couple typos found by codespell 2024-06-12 14:06:37 +02:00
deflate.c Fixes build issues C4242, C4244 and C4334 caused by loss of data bugs due to data type mismatch in various files. 2024-08-16 11:52:50 +02:00
deflate.h Use GCC's may_alias attribute for unaligned memory access 2024-12-24 12:55:44 +01:00
fallback_builtins.h Split cpu_features.h by architecture. 2024-01-30 20:50:05 +01:00
FAQ.zlib Remove mentions of an official zlib DLL distribution. 2024-02-07 19:15:56 +01:00
functable.c riscv: add crc32 optimization using zbc extension 2025-04-27 18:23:50 +02:00
functable.h Try to simply the inflate loop by collapsing most cases to chunksets 2024-10-23 21:20:11 +02:00
gzguts.h zlib 1.3.1 2024-02-07 19:15:56 +01:00
gzlib.c zlib 1.3.1 2024-02-07 19:15:56 +01:00
gzread.c.in Fix bug when gzungetc() is used immediately after gzopen(). 2023-08-24 11:22:33 +02:00
gzwrite.c Fix crash when gzsetparams() attempted for transparent write. 2023-02-03 15:49:02 +01:00
INDEX.md Remove misleading manpage. 2021-03-09 16:44:07 +01:00
infback.c Fix shift overflow in inflate and send_code. 2025-02-08 21:43:51 +01:00
inffast_tpl.h Make an AVX512 inflate fast with low cost masked writes 2024-11-20 22:14:44 +01:00
inffixed_tbl.h Fixed tab indentation for inffixed_tbl.h. 2020-09-24 15:42:02 +02:00
inflate_p.h Use GCC's may_alias attribute for unaligned memory access 2024-12-24 12:55:44 +01:00
inflate.c Fix shift overflow in inflate and send_code. 2025-02-08 21:43:51 +01:00
inflate.h Fix shift overflow in inflate and send_code. 2025-02-08 21:43:51 +01:00
inftrees.c zlib 1.3.1 2024-02-07 19:15:56 +01:00
inftrees.h Discard repeated words 2023-08-07 08:28:16 +02:00
insert_string_roll.c Remove unused 's' parameter from HASH_CALC macro 2024-02-23 13:34:10 +01:00
insert_string_tpl.h Use GCC's may_alias attribute for unaligned memory access 2024-12-24 12:55:44 +01:00
insert_string.c Move update_hash(), insert_string() and quick_insert_string() out of functable 2024-02-23 13:34:10 +01:00
LICENSE.md Update copyright years in other source files. 2024-02-07 19:15:56 +01:00
Makefile.in Make Chorba configurable,and add a few missing header files to CMake config. 2025-02-18 23:59:16 +01:00
match_tpl.h Continued cleanup of old UNALIGNED_OK checks 2024-12-26 22:14:46 +01:00
PORTING.md Update PORTING.md to document zlib-ng memory allocation details. 2024-05-28 16:35:13 +02:00
README.md Remove NMake build projects 2025-04-14 23:18:18 +02:00
trees_emit.h Fix shift overflow in inflate and send_code. 2025-02-08 21:43:51 +01:00
trees_tbl.h Separate MIN_MATCH into STD_MIN_MATCH and WANT_MIN_MATCH 2021-06-13 20:55:01 +02:00
trees.c Avoid empty function by renaming bi_flush to zng_tr_flush_bits. 2024-02-12 14:37:19 +01:00
trees.h Renamed trees_p.h to trees.h. 2020-08-27 19:19:30 +02:00
uncompr.c Fix definition of z_size_t to match documentation of legacy zlib API. 2023-02-23 12:17:34 +01:00
zbuild.h Fold a copy into the adler32 function for UPDATEWINDOW for neon 2025-03-05 22:17:55 +01:00
zconf-ng.h.in zlib 1.3.1 2024-02-07 19:15:56 +01:00
zconf.h.in zlib 1.3.1 2024-02-07 19:15:56 +01:00
zendian.h Handle ARM64EC as ARM64. 2023-07-16 12:42:38 +02:00
zlib_name_mangling-ng.h.in Fix various incorrect name mangling 2023-02-09 01:54:19 +01:00
zlib_name_mangling.h.empty Add support for name mangling 2021-10-09 09:19:55 +02:00
zlib_name_mangling.h.in Fix various incorrect name mangling 2023-02-09 01:54:19 +01:00
zlib-config.cmake.in Add more result variables to the cmake package configuration 2024-03-03 23:23:23 +01:00
zlib-ng-config.cmake.in Generate CMake package configuration files 2024-01-30 20:51:05 +01:00
zlib-ng.h.in 2.2.4 Release 2025-02-10 23:43:59 +01:00
zlib-ng.map Fix wrong names and invalid entries in zlib.map and zlib-ng.map 2023-02-09 01:54:19 +01:00
zlib.h.in 2.2.4 Release 2025-02-10 23:43:59 +01:00
zlib.map Add back gz_intmax for zlib compatibility when linking statically 2024-02-07 19:15:56 +01:00
zlib.pc.cmakein pkgconfig file: propagate WITH_GZFILEOP 2023-11-07 18:58:30 +01:00
zlib.pc.in [configure] Propagate -DWITH_GZFILEOP to pkgconfig. 2023-11-08 11:34:53 +01:00
zmemory.h Continued cleanup of old UNALIGNED_OK checks 2024-12-26 22:14:46 +01:00
zutil_p.h ports: Use memalign or _aligned_malloc, when available. Fallback to malloc 2025-03-17 16:36:12 +01:00
zutil.c 2.2.4 Release 2025-02-10 23:43:59 +01:00
zutil.h Clean up memory allocation functions that are no longer used, and its tests. 2024-05-28 16:35:13 +02:00

CI Stable Develop
GitHub Actions Stable CMake
Stable Configure
Develop CMake
Develop Configure
CodeFactor CodeFactor CodeFactor
OSS-Fuzz Fuzzing Status Fuzzing Status
Codecov codecov codecov

zlib-ng

zlib data compression library for the next generation systems

Maintained by Hans Kristian Rosbach aka Dead2 (zlib-ng àt circlestorm dót org)

Features

  • Zlib compatible API with support for dual-linking
  • Modernized native API based on zlib API for ease of porting
  • Modern C11 syntax and a clean code layout
  • Deflate medium and quick algorithms based on Intels zlib fork
  • Support for CPU intrinsics when available
    • Adler32 implementation using SSSE3, AVX2, AVX512, AVX512-VNNI, Neon, VMX & VSX
    • CRC32-B implementation using PCLMULQDQ, VPCLMULQDQ, ARMv8, & IBM Z
    • Slide hash implementations using SSE2, AVX2, ARMv6, Neon, VMX & VSX
    • Compare256 implementations using SSE2, AVX2, Neon, POWER9 & RVV
    • Inflate chunk copying using SSE2, SSSE3, AVX, Neon & VSX
    • Support for hardware-accelerated deflate using IBM Z DFLTCC
  • Safe unaligned memory read/writes and large bit buffer improvements
  • Includes improvements from Cloudflare and Intel forks
  • Configure and CMake build system support
  • Comprehensive set of CMake unit tests
  • Code sanitizers, fuzzing, and coverage
  • GitHub Actions continuous integration on Windows, macOS, and Linux
    • Emulated CI for ARM, AARCH64, PPC, PPC64, RISCV, SPARC64, S390x using qemu

History

The motivation for this fork was seeing several 3rd party contributions with new optimizations not getting implemented into the official zlib repository.

Mark Adler has been maintaining zlib for a very long time, and he has done a great job and hopefully he will continue for a long time yet. The idea of zlib-ng is not to replace zlib, but to co-exist as a drop-in replacement with a lower threshold for code change.

zlib has a long history and is incredibly portable, even supporting many systems that predate the Internet.
That is great, but it can complicate further development and maintainability. The zlib code contains many workarounds for really old compilers or to accommodate systems with limitations such as operating in a 16-bit environment.

Many of these workarounds are only maintenance burdens, some of them are pretty huge code-wise. With many workarounds cluttered throughout the code, it makes it harder for new programmers with an idea/interest for zlib to contribute.

I decided to make a fork, merge all the Intel optimizations, some of the Cloudflare optimizations, plus a couple other smaller patches. Then started cleaning out workarounds, various dead code, all contrib and example code.
The result is a better performing and easier to maintain zlib-ng.

A lot of improvements have gone into zlib-ng since its start, and numerous people and companies have contributed both small and big improvements, or valuable testing.

Build

Please read LICENSE.md, it is very simple and very liberal.

There are two ways to build zlib-ng:

Cmake

To build zlib-ng using the cross-platform makefile generator cmake.

cmake .
cmake --build . --config Release
ctest --verbose -C Release

Alternatively, you can use the cmake configuration GUI tool ccmake:

ccmake .

Configure

To build zlib-ng using the bash configure script:

./configure
make
make test

Build Options

CMake configure Description Default
ZLIB_COMPAT --zlib-compat Compile with zlib compatible API OFF
ZLIB_ENABLE_TESTS Build test binaries ON
WITH_GZFILEOP --without-gzfileops Compile with support for gzFile related functions ON
WITH_OPTIM --without-optimizations Build with optimisations ON
WITH_NEW_STRATEGIES --without-new-strategies Use new strategies ON
WITH_NATIVE_INSTRUCTIONS Compiles with full instruction set supported on this host (gcc/clang -march=native) OFF
WITH_RUNTIME_CPU_DETECTION Compiles with runtime CPU detection ON
WITH_SANITIZER Build with sanitizer (memory, address, undefined) OFF
WITH_GTEST Build gtest_zlib ON
WITH_FUZZERS Build test/fuzz OFF
WITH_BENCHMARKS Build test/benchmarks OFF
WITH_MAINTAINER_WARNINGS Build with project maintainer warnings OFF
WITH_CODE_COVERAGE Enable code coverage reporting OFF

Install

WARNING: We do not recommend manually installing unless you really know what you are doing, because this can potentially override the system default zlib library, and any incompatibility or wrong configuration of zlib-ng can make the whole system unusable, requiring recovery or reinstall. If you still want a manual install, we recommend using the /opt/ path prefix.

For Linux distros, an alternative way to use zlib-ng (if compiled in zlib-compat mode) instead of zlib, is through the use of the LD_PRELOAD environment variable. If the program is dynamically linked with zlib, then the program will temporarily attempt to use zlib-ng instead, without risking system-wide instability.

LD_PRELOAD=/opt/zlib-ng/libz.so.1.2.13.zlib-ng /usr/bin/program

Cmake

To install zlib-ng system-wide using cmake:

cmake --build . --target install

Configure

To install zlib-ng system-wide using the configure script:

make install

CPack

After building with cmake, an installation package can be created using cpack. By default a tgz package is created, but you can append -G <format> to each command to generate alternative packages types (TGZ, ZIP, RPM, DEB). To easily create a rpm or deb package, you would use -G RPM or -G DEB respectively.

cd build
cpack --config CPackConfig.cmake
cpack --config CPackSourceConfig.cmake

Vcpkg

Alternatively, you can build and install zlib-ng using the vcpkg dependency manager:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh # "./bootstrap-vcpkg.bat" for powershell
./vcpkg integrate install
./vcpkg install zlib-ng

The zlib-ng port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.

Contributing

Zlib-ng is aiming to be open to contributions, and we would be delighted to receive pull requests on github. Help with testing and reviewing pull requests etc is also very much appreciated.

Please check the Wiki for more info: Contributing

Acknowledgments

Thanks go out to all the people and companies who have taken the time to contribute code reviews, testing and/or patches. Zlib-ng would not have been nearly as good without you.

The deflate format used by zlib was defined by Phil Katz.
The deflate and zlib specifications were written by L. Peter Deutsch.

zlib was originally created by Jean-loup Gailly (compression) and Mark Adler (decompression).

Advanced Build Options

CMake configure Description Default
FORCE_SSE2 --force-sse2 Skip runtime check for SSE2 instructions (Always on for x86_64) OFF (x86)
WITH_AVX2 Build with AVX2 intrinsics ON
WITH_AVX512 Build with AVX512 intrinsics ON
WITH_AVX512VNNI Build with AVX512VNNI intrinsics ON
WITH_SSE2 Build with SSE2 intrinsics ON
WITH_SSSE3 Build with SSSE3 intrinsics ON
WITH_SSE42 Build with SSE42 intrinsics ON
WITH_PCLMULQDQ Build with PCLMULQDQ intrinsics ON
WITH_VPCLMULQDQ --without-vpclmulqdq Build with VPCLMULQDQ intrinsics ON
WITH_ARMV8 --without-armv8 Build with ARMv8 intrinsics ON
WITH_NEON --without-neon Build with NEON intrinsics ON
WITH_ARMV6 --without-armv6 Build with ARMv6 intrinsics ON
WITH_ALTIVEC --without-altivec Build with AltiVec (VMX) intrinsics ON
WITH_POWER8 --without-power8 Build with POWER8 optimisations ON
WITH_RVV Build with RVV intrinsics ON
WITH_CRC32_VX --without-crc32-vx Build with vectorized CRC32 on IBM Z ON
WITH_DFLTCC_DEFLATE --with-dfltcc-deflate Build with DFLTCC intrinsics for compression on IBM Z OFF
WITH_DFLTCC_INFLATE --with-dfltcc-inflate Build with DFLTCC intrinsics for decompression on IBM Z OFF
WITH_INFLATE_STRICT Build with strict inflate distance checking OFF
WITH_INFLATE_ALLOW_INVALID_DIST Build with zero fill for inflate invalid distances OFF
INSTALL_UTILS Copy minigzip and minideflate during install OFF
ZLIBNG_ENABLE_TESTS Test zlib-ng specific API ON