
echo
echo "Configuration summary"

if [ $USE_PCRE = DISABLED ]; then
    echo " + PCRE library is disabled"

else
    case $PCRE in
        YES)   echo " + using system PCRE library" ;;
        NONE)  echo " + PCRE library is not used" ;;
        NO)    echo " + PCRE library is not found" ;;
        *)     echo " + using PCRE library: $PCRE" ;;
    esac
fi

case $MD5 in
    YES)   echo " + md5: using system $MD5_LIB library" ;;
    NONE)  echo " + md5 library is not used" ;;
    NO)    echo " + md5 library is not found" ;;
    *)     echo " + using md5 library: $MD5" ;;
esac

case $ZLIB in
    YES)   echo " + using system zlib library" ;;
    NONE)  echo " + zlib library is not used" ;;
    NO)    echo " + zlib library is not found" ;;
    *)     echo " + using zlib library: $ZLIB" ;;
esac

echo


if [ $HTTP_REWRITE = YES ]; then
    if [ $PCRE = NONE -o $PCRE = NO ]; then
        echo "$0: error: HTTP rewrite module requires PCRE library."
        echo $ngx_n "You can disable the module by using" $ngx_c
        echo "--without-http_rewrite_module option"
        echo "or you have to enable PCRE support"
        echo
        exit 1
    fi
fi


if [ $HTTP_GZIP = YES ]; then
    if [ $ZLIB = NONE -o $ZLIB = NO ]; then
        echo "$0: error: HTTP gzip module requires zlib library."
        echo $ngx_n "You can disable the module by using" $ngx_c
        echo "--without-http_gzip_module option"
        echo "or you have to enable zlib support"
        echo
        exit 1
    fi
fi
