ngx_addon_name="ngx_js_module"

NJS_OPENSSL=${NJS_OPENSSL:-YES}
NJS_LIBXSLT=${NJS_LIBXSLT:-YES}
NJS_ZLIB=${NJS_ZLIB:-YES}

NJS_DEPS="$ngx_addon_dir/ngx_js.h \
    $ngx_addon_dir/ngx_js_fetch.h \
    $ngx_addon_dir/ngx_js_shared_dict.h"
NJS_SRCS="$ngx_addon_dir/ngx_js.c \
    $ngx_addon_dir/ngx_js_fetch.c \
    $ngx_addon_dir/ngx_js_regex.c \
    $ngx_addon_dir/ngx_js_shared_dict.c"

NJS_OPENSSL_LIB=
NJS_XSLT_LIB=
NJS_ZLIB_LIB=

if [ $NJS_OPENSSL != NO ]; then
    NJS_OPENSSL_LIB=OPENSSL
    have=NJS_HAVE_OPENSSL . auto/have
    NJS_SRCS="$NJS_SRCS $ngx_addon_dir/../external/njs_webcrypto_module.c"

    echo " enabled webcrypto module"
fi

if [ $NJS_LIBXSLT != NO ]; then
    NJS_XSLT_LIB=LIBXSLT
    have=NJS_HAVE_XML . auto/have
    NJS_SRCS="$NJS_SRCS $ngx_addon_dir/../external/njs_xml_module.c"

    echo " enabled xml module"
fi

if [ $NJS_ZLIB != NO ]; then
    NJS_ZLIB_LIB=ZLIB
    have=NJS_HAVE_ZLIB . auto/have
    NJS_SRCS="$NJS_SRCS $ngx_addon_dir/../external/njs_zlib_module.c"

    echo " enabled zlib module"
fi

if [ $HTTP != NO ]; then
    ngx_module_type=HTTP_AUX_FILTER
    ngx_module_name=ngx_http_js_module
    ngx_module_incs="$ngx_addon_dir/../src $ngx_addon_dir/../build"
    ngx_module_deps="$ngx_addon_dir/../build/libnjs.a $NJS_DEPS"
    ngx_module_srcs="$ngx_addon_dir/ngx_http_js_module.c $NJS_SRCS"
    ngx_module_libs="PCRE $NJS_OPENSSL_LIB $NJS_XSLT_LIB $NJS_ZLIB_LIB \
                     $ngx_addon_dir/../build/libnjs.a -lm"

    . auto/module

    if [ "$ngx_module_link" != DYNAMIC ]; then
        NJS_SRCS=
    fi
fi

if [ $STREAM != NO ]; then
    ngx_module_type=STREAM
    ngx_module_name=ngx_stream_js_module
    ngx_module_incs="$ngx_addon_dir/../src $ngx_addon_dir/../build"
    ngx_module_deps="$ngx_addon_dir/../build/libnjs.a $NJS_DEPS"
    ngx_module_srcs="$ngx_addon_dir/ngx_stream_js_module.c $NJS_SRCS"
    ngx_module_libs="PCRE $NJS_OPENSSL_LIB $NJS_XSLT_LIB $NJS_ZLIB_LIB \
                     $ngx_addon_dir/../build/libnjs.a -lm"

    . auto/module
fi
