Overview ======== There are several methods for compiling and installing zlib-ng, depending on your favorite operating system and development toolkits. This document will attempt to give a general overview of some of them. PS: We do not recommend running 'make install' unless you know what you are doing, as this can override the system default zlib library, and any wrong configuration or incompatability of zlib-ng can make the whole system unusable. On linux distros, an alternative way to use zlib-ng instead of zlib for specific programs exist, use LD_PRELOAD. If the program is dynamically linked with zlib, then zlib-ng can take its place without risking system-wide instability. Ex: LD_PRELOAD=/opt/zlib-ng/libz.so.1.2.11.zlib-ng /usr/bin/program Configure ========= Using the configure script is currently the main method of setting up the makefiles and preparing for compilation. Configure will attempt to detect the specifics of your system, and enable some of the relevant options for you. Configure accepts several command-line options, some of the most important ones are detailed below. --zlib-compat This enables options that will ensure that zlib-ng is compiled with all the functions that a standard zlib library contains, you will need to use this if you are going to be using zlib-ng as a drop-in replacement for zlib. --without-optimizations This will disable zlib-ng specific optimizations (does not disable strategies). --without-new-strategies This will disable specially optimized strategies, such as deflate_quick and deflate_medium. Run configure like this: ./configure --zlib-compat Then you can compile using make: make make test Cmake ===== Cmake is an alternative to configure, basically letting you do the same thing, but with different tools and user interfaces. Start by initializing cmake: cmake . Then you can start the configuration tui to set the wanted options ccmake . You can now compile using make: make make test