
if [ $ZLIB != NONE ]; then
    CORE_INCS="$CORE_INCS -I $ZLIB"

    case "$CC" in

        cl)
            LINK_DEPS="$LINK_DEPS $ZLIB/zlib.lib"
            CORE_LIBS="$CORE_LIBS zlib.lib"
            CORE_LINK="$CORE_LINK -libpath:$ZLIB"
        ;;

        wcl386)
            LINK_DEPS="$LINK_DEPS $ZLIB/zlib.lib"
            CORE_LIBS="$CORE_LIBS $ZLIB/zlib.lib"
        ;;

        *icc)
            LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"

            # to allow -ipo optimization we link with the *.o but not library
            CORE_LIBS="$CORE_LIBS $ZLIB/adler32.o"
            CORE_LIBS="$CORE_LIBS $ZLIB/crc32.o"
            CORE_LIBS="$CORE_LIBS $ZLIB/deflate.o"
            CORE_LIBS="$CORE_LIBS $ZLIB/trees.o"
            CORE_LIBS="$CORE_LIBS $ZLIB/zutil.o"

            if [ $ZLIB_ASM != NO ]; then
                CORE_LIBS="$CORE_LIBS $ZLIB/match.o"
            fi
        ;;

        *)
            LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
            CORE_LIBS="$CORE_LIBS -L $ZLIB -lz"
        ;;

    esac

else

    ngx_lib_inc="#include <zlib.h>"

    ngx_lib="zlib"
    ngx_lib_test="z_stream z; deflate(&z, Z_NO_FLUSH)"
    ngx_libs=-lz
    . auto/lib/test


    if [ $ngx_found = yes ]; then
        CORE_LIBS="$CORE_LIBS $ngx_libs"
        ZLIB=YES
    else
        ZLIB=NO
    fi

fi
