MODULES+=	headers-more

MODULE_SUMMARY_headers_more=	3rd-party headers-more dynamic module

include $(CONTRIB)/src/headers-more-nginx-module/version

MODULE_VERSION_headers_more=	$(HEADERS_MORE_NGINX_MODULE_VERSION)
MODULE_RELEASE_headers_more=	1

MODULE_VERSION_PREFIX_headers_more=$(MODULE_TARGET_PREFIX)

MODULE_SOURCES_headers_more=	headers-more-nginx-module-$(HEADERS_MORE_NGINX_MODULE_VERSION).tar.gz

MODULE_CONFARGS_headers_more=	--with-http_dav_module \
				--with-http_realip_module \
				--add-dynamic-module=$(MODSRC_PREFIX)headers-more-nginx-module-$(HEADERS_MORE_NGINX_MODULE_VERSION)

.deps-module-headers-more:
	cd $(CONTRIB) && make .sum-headers-more-nginx-module
	touch $@

prerequisites-for-module-headers-more:

define MODULE_POST_headers_more
cat <<BANNER
----------------------------------------------------------------------

The $(MODULE_SUMMARY_headers_more) 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/ngx_http_headers_more_filter_module.so;

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

----------------------------------------------------------------------
BANNER
endef
export MODULE_POST_headers_more
