#!/usr/bin/make -f

include /usr/share/dpkg/architecture.mk

export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=+lto

PARALLEL_OPTION = $(filter parallel=%,$(DEB_BUILD_OPTIONS))
ifneq (,$(PARALLEL_OPTION))
	NUMJOBS = $(patsubst parallel=%,%,$(PARALLEL_OPTION))
	export NINJAJOBS = -j$(NUMJOBS)
endif

# Reduce memory consumption & parallelism on certain architectures
ifeq (armhf, $(DEB_HOST_ARCH))
	export LDFLAGS+=-Wl,--no-keep-memory
	export NINJAJOBS = -j2
endif

ifeq (i386, $(DEB_HOST_ARCH))
	export LDFLAGS+=-Wl,--no-keep-memory
	export NINJAJOBS = -j2
endif


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

touch_files = src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/lighthouse/lighthouse-dt-bundle.js \
	      src/3rdparty/chromium/third_party/devtools-frontend/src/front_end/third_party/lighthouse/report-assets/report-generator.js

override_dh_auto_clean:
	dh_auto_clean

	# Remove the system version of rollup, which is copied in during build to replace the bundled version that is remove by the copyright file.
	rm -rf src/3rdparty/chromium/third_party/node/node_modules/rollup/

	rm -f $(CURDIR)/src/3rdparty/chromium/third_party/jstemplate/jstemplate_compiled.js
	for fname in $(touch_files); do \
		rm -f $(CURDIR)/$${fname}; \
	done

# Turn on system FFmpeg libraries for 6.3
override_dh_auto_configure:
	# Create js files, that are needed for building step for arch and indep builds
	cd $(CURDIR)/src/3rdparty/chromium/third_party/jstemplate/; \
		cat util.js jsevalcontext.js jstemplate.js exports.js > jstemplate_compiled.js

	# Use the system rollup.
	cp -a /usr/share/nodejs/rollup src/3rdparty/chromium/third_party/node/node_modules/rollup/

	# jQuery
	cp /usr/share/javascript/jquery/jquery.min.js examples/webenginewidgets/contentmanipulation/
	cp /usr/share/javascript/jquery/jquery.min.js src/3rdparty/chromium/third_party/pycoverage/coverage/htmlfiles/
	cp /usr/share/javascript/jquery-tablesorter/jquery.tablesorter.min.js src/3rdparty/chromium/third_party/pycoverage/coverage/htmlfiles/

	set -ex; for fname in $(touch_files); do \
		mkdir -p $(CURDIR)/$$(dirname $${fname}); \
		touch $(CURDIR)/$${fname}; \
	done

	dh_auto_configure -- \
		--log-level=STATUS \
		-DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) \
		-DFEATURE_webengine_system_icu=OFF \
		-DFEATURE_webengine_system_libevent=ON \
		-DFEATURE_webengine_system_libopenjpeg2=ON \
		-DFEATURE_webengine_system_libpng=ON \
		-DFEATURE_webengine_system_libtiff=ON \
		-DFEATURE_qtpdf_build=ON \
		-DFEATURE_qtpdf_widgets_build=ON \
		-DFEATURE_qtpdf_quick_build=ON \
		-DFEATURE_webengine_proprietary_codecs=ON \
		-DFEATURE_webengine_kerberos=ON

override_dh_auto_build:
	dh_auto_build
	dh_auto_build -- docs

execute_after_dh_auto_install:
	# Reproducible builds: remove build paths from .prl files
	sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libQt6*.prl
	# Install documentation.
	DESTDIR=$(CURDIR)/debian/tmp dh_auto_build -- install_docs
	# Remove build path from index files.
	find $(CURDIR)/debian/tmp/usr/share/qt6/doc -type f -name *.index -exec \
               sed -i 's@$(CURDIR)/@@g' {} \;

override_dh_dwz:
