MODULES+=	opentracing

MODULE_SUMMARY_opentracing=	3rd-party OpenTracing dynamic module

include $(CONTRIB)/src/opentracing-cpp/version
include $(CONTRIB)/src/nginx-opentracing/version
include $(CONTRIB)/src/thrift/version
include $(CONTRIB)/src/jaeger-client-cpp/version

MODULE_VERSION_opentracing=	$(NGINX_OPENTRACING_VERSION)
MODULE_RELEASE_opentracing=	1

MODULE_VERSION_PREFIX_opentracing=$(MODULE_TARGET_PREFIX)

MODULE_SOURCES_opentracing=	opentracing-cpp-$(OPENTRACING_CPP_VERSION).tar.gz \
				nginx-opentracing-$(NGINX_OPENTRACING_VERSION).tar.gz \
				thrift-$(THRIFT_VERSION).tar.gz \
				jaeger-client-cpp-$(JAEGER_CLIENT_CPP_VERSION).tar.gz

MODULE_PATCHES_opentracing=	$(CONTRIB)/src/opentracing-cpp/CMakeLists.txt.patch \
				$(CONTRIB)/src/jaeger-client-cpp/CMakeLists.txt.patch \
				$(CONTRIB)/src/thrift/CMakeLists.txt.patch \
				$(CONTRIB)/src/thrift/build-cmake-Config.cmake.in.patch \
				$(CONTRIB)/src/thrift/build-cmake-ThriftMacros.cmake.patch \
				$(CONTRIB)/src/thrift/lib-cpp-CMakeLists.txt.patch

MODULE_CONFARGS_opentracing=	--add-dynamic-module=$(MODSRC_PREFIX)nginx-opentracing-$(NGINX_OPENTRACING_VERSION)/opentracing

.deps-module-opentracing:
	cd $(CONTRIB) && make \
		.sum-opentracing-cpp \
		.sum-nginx-opentracing \
		.sum-thrift \
		.sum-jaeger-client-cpp
	touch $@

prerequisites-for-module-opentracing:

MODULE_BUILD_DEPENDS_opentracing=cmake yaml-cpp-dev boost-dev

define MODULE_PREBUILD_opentracing
	( cd $$builddir/../opentracing-cpp-$(OPENTRACING_CPP_VERSION) \&\& \
		mkdir .build \&\& \
		cd .build \&\& \
		cmake .. \&\& \
		DESTDIR=`pwd`/.. make $$_make_opts install )
	( cd $$builddir/../thrift-$(THRIFT_VERSION) \&\& \
		mkdir .build \&\& \
		cd .build \&\& \
		cmake \
			-DBUILD_TESTING=OFF \
			-DBUILD_TUTORIALS=OFF \
			-DBUILD_COMPILER=OFF \
			-DBUILD_C_GLIB=OFF \
			-DBUILD_HASKELL=OFF \
			-DBUILD_JAVA=OFF \
			-DBUILD_PYTHON=OFF \
			-DWITH_QT4=OFF \
			-DWITH_QT5=OFF \
			-DWITH_SHARED_LIB=OFF \
			-DWITH_PLUGIN=OFF \
			-DWITH_LIBEVENT=OFF \
			-DWITH_OPENSSL=OFF \
			-DWITH_ZLIB=OFF \
			-DBUILD_SHARED_LIBS=ON \
			-DCMAKE_INSTALL_LIBDIR=lib \
		.. \&\& \
		DESTDIR=`pwd`/.. make $$_make_opts install )
	( cd $$builddir/../jaeger-client-cpp-$(JAEGER_CLIENT_CPP_VERSION) \&\& \
		mkdir .build \&\& \
		cd .build \&\& \
		OpenTracing_DIR=$$builddir/../opentracing-cpp-$(OPENTRACING_CPP_VERSION)/usr/local/lib/cmake/OpenTracing \
		thrift_DIR=$$builddir/../thrift-$(THRIFT_VERSION)/usr/local/lib/cmake/thrift \
		cmake \
			-DJAEGERTRACING_BUILD_EXAMPLES=OFF \
			-DBUILD_TESTING=OFF \
			-DJAEGERTRACING_PLUGIN=ON \
			-DCMAKE_BUILD_TYPE=Release \
			-DHUNTER_CONFIGURATION_TYPES=Release \
			-DOPENTRACING_INC=$$builddir/../opentracing-cpp-$(OPENTRACING_CPP_VERSION)/usr/local/include \
		../ \&\& \
		DESTDIR=`pwd`/.. make $$_make_opts )
endef
export MODULE_PREBUILD_opentracing

MODULE_CC_OPT_opentracing=-I../opentracing-cpp-$(OPENTRACING_CPP_VERSION)/usr/local/include
MODULE_CC_OPT_DEBUG_opentracing=$(MODULE_CC_OPT_opentracing)
MODULE_LD_OPT_opentracing=-L../opentracing-cpp-$(OPENTRACING_CPP_VERSION)/usr/local/lib
MODULE_LD_OPT_DEBUG_opentracing=$(MODULE_LD_OPT_opentracing)

define MODULE_PREINSTALL_opentracing
	mkdir -p "$$pkgdir"/usr/lib
	install -m755 ../opentracing-cpp-$(OPENTRACING_CPP_VERSION)/usr/local/lib/libopentracing.so.$(OPENTRACING_CPP_VERSION) "$$pkgdir"/usr/lib/
	ln -fs libopentracing.so.$(OPENTRACING_CPP_VERSION) "$$pkgdir"/usr/lib/libopentracing.so.1
	ln -fs libopentracing.so.1 "$$pkgdir"/usr/lib/libopentracing.so
	install -m755 ../opentracing-cpp-$(OPENTRACING_CPP_VERSION)/usr/local/lib/libopentracing_mocktracer.so.$(OPENTRACING_CPP_VERSION) "$$pkgdir"/usr/lib/
	ln -fs libopentracing_mocktracer.so.$(OPENTRACING_CPP_VERSION) "$$pkgdir"/usr/lib/libopentracing_mocktracer.so.1
	ln -fs libopentracing_mocktracer.so.1 "$$pkgdir"/usr/lib/libmodsecurity_mocktracer.so
	mkdir -p "$$pkgdir"/usr/include
	cp -pr ../opentracing-cpp-$(OPENTRACING_CPP_VERSION)/usr/local/include/opentracing "$$pkgdir"/usr/include/
	mkdir -p "$$pkgdir"/usr/libexec/opentracing
	install -m755 ../jaeger-client-cpp-$(JAEGER_CLIENT_CPP_VERSION)/.build/libjaegertracing_plugin.so "$$pkgdir"/usr/libexec/opentracing/
endef
export MODULE_PREINSTALL_opentracing

define MODULE_POST_opentracing
cat <<BANNER
----------------------------------------------------------------------

The $(MODULE_SUMMARY_opentracing) 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_opentracing_module.so;

Note that additional tracer plugins are required in order
to communicate with corresponding services (e.g. Zipkin, Jaeger).
This package includes the Jaeger dynamic tracer plugin:

    /usr/libexec/opentracing/libjaegertracing_plugin.so

Please refer to the module documentation for further details:
https://github.com/opentracing-contrib/nginx-opentracing
https://github.com/opentracing-contrib/nginx-opentracing/blob/master/doc/Reference.md

OpenTracing project site (general info and documentation):
http://opentracing.io/

----------------------------------------------------------------------
BANNER
endef
export MODULE_POST_opentracing
