#!/usr/bin/make -f
include /usr/share/dpkg/pkg-info.mk
#export DH_VERBOSE=1

export DEB_BUILD_MAINT_OPTIONS=hardening=+all

BUILDIR_STATIC=_BUILD_STATIC
BUILDIR_SHARED=_BUILD_SHARED

# as per https://github.com/igraph/igraph/issues/2450 we ignore random failures on mips64el
ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH), mips64el))
    TESTIGNOREFAIL=|| true
endif

%:
	dh $@ --buildsystem=cmake --builddirectory=$(BUILDIR_SHARED)

#	--enable-debug

### disable TLS to fix warning with TLS and arpack
CONF_FLAGS= \
	-DIGRAPH_ENABLE_TLS=OFF \
	-DIGRAPH_USE_INTERNAL_BLAS=OFF \
	-DIGRAPH_USE_INTERNAL_LAPACK=OFF \
	-DIGRAPH_USE_INTERNAL_ARPACK=OFF \
	-DIGRAPH_USE_INTERNAL_GLPK=OFF \
	-DIGRAPH_USE_INTERNAL_GMP=OFF \
	-DIGRAPH_USE_INTERNAL_PLFIT=OFF \
	-DIGRAPH_GLPK_SUPPORT=ON \
	-DIGRAPH_GRAPHML_SUPPORT=ON \
	-DIGRAPH_OPENMP_SUPPORT=ON


### LTO does not really achieve anything for static libraries
override_dh_auto_configure:
	dh_auto_configure -B$(BUILDIR_SHARED) -- -DIGRAPH_ENABLE_LTO=ON  -DBUILD_SHARED_LIBS=ON  $(CONF_FLAGS)
	dh_auto_configure -B$(BUILDIR_STATIC) -- -DIGRAPH_ENABLE_LTO=OFF -DBUILD_SHARED_LIBS=OFF $(CONF_FLAGS)

override_dh_auto_build-indep:
	make -C $(BUILDIR_SHARED)/doc info
	make -C $(BUILDIR_SHARED)/doc pdf
	make -C $(BUILDIR_SHARED)/doc html
	mv -v $(BUILDIR_SHARED)/doc/igraph-docs.info $(BUILDIR_SHARED)/doc/igraph.info
	sed -i 's/File: igraph-docs.info/File: igraph.info/g' $(BUILDIR_SHARED)/doc/igraph.info
	mv -v $(BUILDIR_SHARED)/doc/igraph-docs.pdf $(BUILDIR_SHARED)/doc/igraph.pdf
	make -C $(BUILDIR_SHARED)/doc clean

override_dh_auto_build-arch:
	dh_auto_build -a -B$(BUILDIR_STATIC) $(TESTIGNOREFAIL)
	dh_auto_build -a -B$(BUILDIR_SHARED)

override_dh_auto_test-indep:

override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	## see #924052 for further information
	$(MAKE) -C $(BUILDIR_STATIC) -j$(NUMJOBS) build_tests
	$(MAKE) -C $(BUILDIR_SHARED) -j$(NUMJOBS) build_tests
	dh_auto_test -a -B$(BUILDIR_STATIC)
	dh_auto_test -a -B$(BUILDIR_SHARED)
endif

override_dh_auto_install-indep:

override_dh_auto_install-arch:
	dh_auto_install -a -B$(BUILDIR_STATIC)
	dh_auto_install -a -B$(BUILDIR_SHARED)

UPS_VERSION := $(subst ~rc,-rc.,$(firstword $(subst +, ,$(DEB_VERSION))))
DEB_DH_INSTALL_INDEP_DOCDIR := $(CURDIR)/debian/libigraph-doc/usr/share/doc/libigraph-dev
DEB_DH_INSTALL_INDEP_EXAMPLESDIR := $(DEB_DH_INSTALL_INDEP_DOCDIR)/examples
override_dh_install-indep:
	dh_install -i
	find $(DEB_DH_INSTALL_INDEP_EXAMPLESDIR)/simple -name '*.out' -exec sed -i 's|@VERSION@|$(UPS_VERSION)|' \{\} \;

override_dh_installchangelogs:
	dh_installchangelogs --keep CHANGELOG.md

override_dh_compress-indep:
	dh_compress -X/examples/

override_dh_missing:
	dh_missing -X.la

override_dh_auto_clean:
	dh_auto_clean
	rm -rf $(BUILDIR_SHARED) $(BUILDIR_STATIC)