#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

include /usr/share/dpkg/architecture.mk

export DEB_CXXFLAGS_MAINT_APPEND += -fexcess-precision=fast
ifeq "$(DEB_HOST_ARCH_CPU)" "i386"
export DEB_CXXFLAGS_MAINT_APPEND += -ffloat-store
endif

ifeq "$(DEB_HOST_ARCH)" "$(findstring $(DEB_HOST_ARCH),amd64 armhf arm64 i386 loong64 ppc64 ppc64el riscv64 s390x)"
ENABLE_PARQUET=y
endif

%:
	dh $@

override_dh_auto_clean:
	rm -rf src/python/orcus/__pycache__/
	rm -rf test/python/__pycache__
	rm -rf src/python/orcus/tools/__pycache__
	dh_auto_clean
	rm -rf doc/_doxygen doc/tmp

override_dh_auto_configure-arch:
ifeq "$(ENABLE_PARQUET)" "y"
	dh_auto_configure -- --disable-silent-rules --disable-werror --with-boost-libdir=/usr/lib/$(DEB_HOST_MULTIARCH) --enable-static --with-parquet-filter
else
	dh_auto_configure -- --disable-silent-rules --disable-werror --with-boost-libdir=/usr/lib/$(DEB_HOST_MULTIARCH) --enable-static
endif

override_dh_auto_build-arch:
ifeq "$(ENABLE_PARQUET)" "y"
	# needs span, which needs C++20...
	sed -i "s/-std=gnu++17/-std=gnu++20/" src/liborcus/Makefile
endif
	dh_auto_build

override_dh_auto_build-indep:
	cd doc && \
		doxygen doxygen.conf && \
		mkdir tmp && sphinx-build -v -a . tmp

override_dh_auto_configure-indep:

ifeq "$(DEB_HOST_ARCH)" "s390"
override_dh_auto_test:

else
override_dh_auto_test:
	dh_auto_test
endif

override_dh_auto_install:
	# otherwise dh_auto_install -pliborcus-doc doesn't work because there's
	# no debian/tmp it can cd from
	mkdir -p debian/tmp
	if [ -d src/.libs ]; then dh_auto_install; \
	find debian/tmp/usr/lib/python* -name "*.*a" -exec rm {} \; ; \
	chrpath -d debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/liborcus-0.21.so.0.0.0; \
	else dh_auto_install -- -pliborcus-doc; fi

override_dh_makeshlibs:
	dh_makeshlibs -VUpstream-Version

override_dh_shlibdeps:
	dh_shlibdeps
