#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1

# see FEATURE AREAS in dpkg-buildflags(1)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=-lto

# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
# package maintainers to append LDFLAGS
export DEB_LDFLAGS_MAINT_APPEND =

%:
	dh $@ --buildsystem=cmake

ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
  LIBYUV_TEST_FLAG := ON
else
  LIBYUV_TEST_FLAG := OFF
endif

# Known broken googletest
# hppa: requested in https://bugs.debian.org/1021606
ifneq (,$(filter $(DEB_HOST_ARCH), armel hppa s390x powerpc ppc64 sparc64))
  LIBYUV_TEST_FLAG = OFF
endif

# Upstream (since snapshot 1971) auto-enables RVV on any RISC-V target by
# prepending "-march=rv64gcv -fno-vectorize -fno-slp-vectorize" to the
# global compiler flags. The latter two are Clang-only spellings and make
# GCC fail, and a global -march=rv64gcv would also violate the Debian
# riscv64 baseline (rv64gc, no V extension). Keep RVV disabled,
# which matches what was built before snapshot 1971.
#
# https://bugs.debian.org/1147168
ifeq ($(DEB_HOST_ARCH), riscv64)
  LIBYUV_RVV_FLAG := -DUSE_RVV=OFF
endif

override_dh_auto_configure:
	dh_auto_configure -- \
	    -DUNIT_TEST=$(LIBYUV_TEST_FLAG) \
	    $(LIBYUV_RVV_FLAG) \
	    -DGTEST_SRC_DIR=/usr/src/googletest/googletest \
	    $(NULL)

execute_after_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	-find . -name libyuv_unittest
	( exec $$(find . -name libyuv_unittest) )
endif
