#!/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 enables RVV with a global -march=rv64gcv. Debian riscv64
# requires rv64gc without the V extension, so keep RVV disabled until
# upstream isolates the vector kernels from the baseline objects.
#
# 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 ($(LIBYUV_TEST_FLAG),ON)
	set -e; test_binary=$$(find . -type f -name libyuv_unittest); \
	    test -n "$$test_binary"; test -x "$$test_binary"; \
	    "$$test_binary"
endif
