MODULES+=	set-misc

MODULE_SUMMARY_set_misc=	3rd-party set-misc dynamic module

include $(CONTRIB)/src/ngx_devel_kit/version
include $(CONTRIB)/src/set-misc-nginx-module/version

MODULE_VERSION_set_misc=	$(SET_MISC_NGINX_MODULE_VERSION)
MODULE_RELEASE_set_misc=	1

MODULE_VERSION_PREFIX_set_misc=$(MODULE_TARGET_PREFIX)

MODULE_SOURCES_set_misc=	ngx_devel_kit-$(NGX_DEVEL_KIT_VERSION).tar.gz \
				set-misc-nginx-module-$(SET_MISC_NGINX_MODULE_VERSION).tar.gz

MODULE_CONFARGS_set_misc=	--with-http_ssl_module \
				--add-dynamic-module=$(MODSRC_PREFIX)ngx_devel_kit-$(NGX_DEVEL_KIT_VERSION) \
				--add-dynamic-module=$(MODSRC_PREFIX)set-misc-nginx-module-$(SET_MISC_NGINX_MODULE_VERSION)

.deps-module-set-misc:
	cd $(CONTRIB) && make \
		.sum-ngx_devel_kit \
		.sum-set-misc-nginx-module
	touch $@

prerequisites-for-module-set-misc: module-ndk

MODULE_DEPENDS_set_misc=$(NDK_DEPENDENCY_TAG)

define MODULE_PREINSTALL_set_misc
	rm -f objs/ndk_http_module-debug.so
	rm -f objs/ndk_http_module.so
endef
export MODULE_PREINSTALL_set_misc

define MODULE_POST_set_misc
cat <<BANNER
----------------------------------------------------------------------

The $(MODULE_SUMMARY_set_misc) for $(MODULE_SUMMARY_PREFIX) has been installed.
To enable this module, add the following to /etc/nginx/nginx.conf
and reload nginx:

    load_module modules/ndk_http_module.so;
    load_module modules/ngx_http_set_misc_module.so;

Note that ndk_http_module.so must be placed first.

Please refer to the module documentation for further details:
https://github.com/openresty/set-misc-nginx-module

----------------------------------------------------------------------
BANNER
endef
export MODULE_POST_set_misc
