#!/usr/bin/make -f

# Go 1.26 synctest panics with asynctimerchan!=0 (default).
export GODEBUG := asynctimerchan=0

export DH_GOLANG_GO_GENERATE := 0
export DH_GOLANG_EXCLUDES := \
	kajiya \
	subcmd/collector \
	subcmd/ninja/e2etests \
	reapi/reapitest \
	subcmd/auth \
	subcmd/fetch \
	subcmd/proxy \
	execute/reproxyexec \
	o11y/resultstore \
	o11y/trace \
	runtimex
export DH_GOLANG_INSTALL_EXTRA := \
	siso/third_party/material_web_components/components-chromium \
	siso/webui/templates siso/webui/css siso/webui/js \
	siso/subcmd/recall/rusage.go.in \
	siso/build/buildconfig/checkout.star \
	siso/build/buildconfig/encoding.star \
	siso/build/buildconfig/path.star \
	siso/build/buildconfig/runtime.star \
	siso/build/buildconfig/struct.star \
	siso/build/buildconfig/lib

BUILDDIR = debian/build/src/go.chromium.org/build

%:
	dh $@ --buildsystem=golang --builddirectory=debian/build

override_dh_auto_build:
	dh_auto_build -- -buildmode=pie

override_dh_auto_install:
	dh_auto_install -- --no-source

execute_after_dh_auto_configure:
	# Partial vendoring: place vendor/ at go.chromium.org/build/ level
	# so it covers both siso/ and kajiya/ in GOPATH vendor resolution.
	rm -rf $(BUILDDIR)/vendor
	ln -s $(CURDIR)/debian/vendor $(BUILDDIR)/vendor

execute_after_dh_installdocs:
	find debian/vendor -name 'NOTICE*' \
		| while read f; do \
		install -D -m 644 "$$f" "debian/siso/usr/share/doc/siso/$$f"; \
	done

override_dh_dwz:
	# dwz cannot process Go binaries with compressed debug sections.
	:
