
# Copyright (C) Igor Sysoev


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 $OPENSSL in
    YES)   echo "  + using system OpenSSL library" ;;
    NONE)  echo "  + OpenSSL library is not used" ;;
    NO)    echo "  + OpenSSL library is not found" ;;
    *)     echo "  + using OpenSSL library: $OPENSSL" ;;
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


echo "  nginx path prefix: $PREFIX"
echo "  nginx binary file: $SBIN_PATH"
echo "  nginx configuration file: $CONF_PATH"
echo "  nginx pid file: $PID_PATH"
if [ ".$ERROR_LOG_PATH" != "." ]; then
    echo "  nginx error log file: $ERROR_LOG_PATH"
else
    echo "  nginx logs errors to stderr"
fi
echo "  nginx http access log file: $HTTP_LOG_PATH"
echo
