#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/utils.mk
include /usr/share/cdbs/1/class/scons.mk
include /usr/share/cdbs/1/rules/debhelper.mk

DEB_DH_INSTALLINIT_ARGS = --name=mongodb

DEB_SCONS_OPTIONS :=

# Ubuntu specific build options
ifeq ($(shell dpkg-vendor --derives-from ubuntu && echo ubuntu),ubuntu)
# Don't strip binaries - this is handled automatically in ubuntu
DEB_SCONS_OPTIONS += --nostrip

ifeq ($(shell grep -c -E '^Build-Depends:(.*,)?[[:space:]]*libboost-dev([[:space:]]|,|$$)' debian/control),1)
	DEB_SCONS_OPTIONS += --use-system-boost
endif #boost

ifeq ($(shell grep -c -E '^Build-Depends:(.*,)?[[:space:]]*libpcre3-dev([[:space:]]|,|$$)' debian/control),1)
	DEB_SCONS_OPTIONS += --use-system-pcre
endif #pcre

ifeq ($(shell grep -c -E '^Build-Depends:(.*,)?[[:space:]]*libssl-dev([[:space:]]|,|$$)' debian/control),1)
	DEB_SCONS_OPTIONS += --ssl
endif #ssl

ifeq ($(shell grep -c -E '^Build-Depends:(.*,)?[[:space:]]*libsnappy-dev([[:space:]]|,|$$)' debian/control),1)
	DEB_SCONS_OPTIONS += --use-system-snappy
endif #snappy

ifeq ($(filter armhf, $(DEB_HOST_ARCH)),)
ifeq ($(shell grep -c -E '^Build-Depends:(.*,)?[[:space:]]*libgoogle-perftools-dev([[:space:]]|,|$$)' debian/control),1)
	# Enable gperftools on x86 archs
	DEB_SCONS_OPTIONS += --allocator=tcmalloc --use-system-tcmalloc
endif #gperftools
endif #!armhf

endif #ubuntu

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	DEB_SCONS_OPTIONS += --d=DEBUGBUILD
endif
ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	DEB_SCONS_OPTIONS += --d=DEBUGBUILD
endif
ifneq (,$(findstring parallel,$(DEB_BUILD_OPTIONS)))
	PROCS=$(subst parallel=,,$(DEB_BUILD_OPTIONS))
	DEB_SCONS_OPTIONS += -j$(PROCS)
endif

DEB_SCONS_BUILD_TARGET = all
DEB_SCONS_INSTALL_OPTIONS += --prefix=$(CURDIR)/debian/tmp/usr --full
#TODO FIXME smoketest suite on armhf
ifeq ($(filter armhf, $(DEB_HOST_ARCH)),)
DEB_SCONS_CHECK_TARGET = --smokedbprefix=$(CURDIR)/debian/tmp-test smoke
endif

clean::
	find . -name "*.pyc" -delete
	rm -f buildinfo.cpp
	rm -rf debian/tmp-test
	rm -rf .scons

