#!/usr/bin/make -f

CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)

# Callable functions to determine the correct PYTHONPATH
pythonpath = $$(ls -d $(CURDIR)/build/lib.*-$(1))
pythonpath_dbg = $$(ls -d $(CURDIR)/build/lib_d.*-$(1) 2>/dev/null || ls -d $(CURDIR)/build/lib.*$(1)-pydebug)

%:
	dh $* --with python2,python3,pypy --buildsystem=python_distutils

override_dh_auto_build:
	dh_auto_build
	# Work around bug #799485
	CFLAGS=-I/usr/lib/pypy pypy setup.py build -b build-pypy

override_dh_auto_clean:
	dh_auto_clean
	rm -rf build*
	rm -f dulwich/*.so dulwich/*.o

override_dh_auto_test:
ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
	$(MAKE) check PYTHON=python
	$(MAKE) check PYTHON=python3
	PYTHONPATH=$(shell echo $(CURDIR)/build-pypy/lib*) pypy -m unittest dulwich.tests.test_suite
endif

override_dh_auto_install:
	dh_auto_install
	set -ex; for python in $(shell py3versions -r); do \
		$$python setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb; \
	done;
	pypy setup.py build -b build-pypy install --root=$(CURDIR)/debian/tmp --install-layout deb
	rm -rf debian/tmp/usr/lib/pypy/bin
	# Install everything excluding the *_d.so debug extensions to python-dulwich and python3-dulwich
	dh_install -X"*_d.so" "debian/tmp/usr/lib/python2*/*-packages" -p python-dulwich
	dh_install -X"*_d.so" "debian/tmp/usr/lib/python3*/*-packages" -p python3-dulwich
	# Install the debug extensions to python-dulwich-dbg
	dh_install "debian/tmp/usr/lib/python*/*-packages/dulwich/*_d.so" -p python-dulwich-dbg
	# Install the pypy files to pypy-dulwich
	dh_install "debian/tmp/usr/lib/pypy/" -p pypy-dulwich

override_dh_installdocs:
	dh_installdocs -ppython-dulwich-dbg --link-doc=python-dulwich
	dh_installdocs -ppython3-dulwich-dbg --link-doc=python3-dulwich
	dh_installdocs -ppython-dulwich docs/tutorial -X.gitignore -XMakefile
	dh_installdocs -ppython3-dulwich docs/tutorial -X.gitignore -XMakefile
	dh_installdocs -ppypy-dulwich docs/tutorial -X.gitignore -XMakefile

override_dh_strip:
	dh_strip -p python-dulwich --dbg-package=python-dulwich-dbg
	dh_strip -p python3-dulwich --dbg-package=python3-dulwich-dbg
	# For the moment, there is no dbg package for pypy-dulwich.
	dh_strip -p pypy-dulwich

override_dh_installchangelogs:
	dh_installchangelogs NEWS
