#!/usr/bin/make -f
# -*- makefile-gmake -*-
#
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This has to be exported to make some magic below work.
export DH_OPTIONS
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
include /usr/share/dpkg/architecture.mk

GRN_WITH_OPTIONS :=

# apache-arrow
ifneq (,$(filter $(DEB_HOST_ARCH),amd64 arm64 loong64 ppc64el riscv64))
	GRN_WITH_OPTIONS += -DGRN_WITH_APACHE_ARROW=ON
else
	GRN_WITH_OPTIONS += -DGRN_WITH_APACHE_ARROW=OFF
endif

# llama.cpp
ifneq (,$(filter $(DEB_HOST_ARCH),amd64 arm64 loong64 ppc64el riscv64 s390x))
	GRN_WITH_OPTIONS += -DGRN_WITH_LLAMA_CPP=system
else
	GRN_WITH_OPTIONS += -DGRN_WITH_LLAMA_CPP=no
endif

%:
	dh $@ --buildsystem=cmake+ninja --without=autoreconf

override_dh_auto_configure:
	dh_auto_configure \
	  --buildsystem=cmake+ninja \
	  -- \
	  -DFETCHCONTENT_FULLY_DISCONNECTED=ON \
	  -DGRN_WITH_BLOSC=system		\
	  -DGRN_WITH_BASE64=system		\
	  -DGRN_WITH_CURL=system		\
	  -DGRN_WITH_DOC=ON			\
	  -DGRN_WITH_EXAMPLES=ON		\
	  -DGRN_WITH_FAISS=system		\
	  -DGRN_WITH_H3=system			\
	  -DGRN_WITH_LIBEDIT=system		\
	  -DGRN_WITH_LIBEVENT=yes		\
	  -DGRN_WITH_LIBSTEMMER=yes		\
	  -DGRN_WITH_LZ4=system			\
	  -DGRN_WITH_MESSAGE_PACK=system	\
	  -DGRN_WITH_MRUBY=ON			\
	  -DGRN_WITH_MUNIN_PLUGINS=ON		\
	  -DGRN_WITH_OPENZL=no			\
	  -DGRN_WITH_PCRE=ON			\
	  -DGRN_WITH_RAPIDJSON=system		\
	  -DGRN_WITH_ROARING_BITMAPS=system	\
	  -DGRN_WITH_SIMDJSON=system		\
	  -DGRN_WITH_XXHASH=system		\
	  -DGRN_WITH_XSIMD=system		\
	  -DGRN_WITH_USEARCH=no			\
	  -DGRN_WITH_SIMSIMD=OFF		\
	  -DGRN_WITH_ZEROMQ=yes			\
	  -DGRN_WITH_ZSTD=system		\
	  -DGRN_WITH_TOOLS=ON			\
	  -Dllama_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/llama/cmake-private \
	  $(GRN_WITH_OPTIONS)

# disable 'make check'.
override_dh_auto_test:

override_dh_shlibdeps:
ifneq (,$(filter $(DEB_HOST_ARCH),amd64 arm64 loong64 ppc64el riscv64 s390x))
	dh_shlibdeps -Llibgroonga0t64 -l/usr/lib/$(DEB_HOST_MULTIARCH)/llama/
else
	dh_shlibdeps
endif

override_dh_install:
	find $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/ -name *.la -delete
	find $(CURDIR)/debian/tmp/usr/share/doc/ -name 'underscore*.js' -delete
	find $(CURDIR)/debian/tmp/usr/share/doc/ -name 'jquery*.js' -delete
	find $(CURDIR)/debian/tmp/usr/share/doc/ -name 'pydata-sphinx-theme.js' -delete
	install -d debian/tmp/etc/munin/plugin-conf.d/
	install -m 0644 debian/groonga-munin-plugins.conf \
	  debian/tmp/etc/munin/plugin-conf.d/groonga
	mv debian/tmp/usr/share/doc/groonga/ \
	  debian/tmp/usr/share/doc/groonga-doc/
	# remove privacy-breach-generic issue
	find debian/tmp/usr/share/doc/groonga-doc/ -name '*.html' | xargs sed -i '\|www.googletagmanager.com/gtag/js|d'
	# move wrong tools placement. already sent feedback as https://github.com/groonga/groonga/pull/2798
	mv debian/tmp/usr/share/groonga/tools/tools/* \
	  debian/tmp/usr/share/groonga/tools/
	rm -rf debian/tmp/usr/share/groonga/tools/tools
	dh_install

override_dh_clean:
	find $(CURDIR) -name *.o -delete
	find $(CURDIR) -name *.la -delete
	find $(CURDIR) -name *.a -delete
	find $(CURDIR) -name *.lai -delete
	find $(CURDIR) -name *.lo -delete
	dh_clean
