#!/usr/bin/make -f
export DH_VERBOSE = 1

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

# 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 =

include /usr/share/dpkg/default.mk

# Upstream ships a top-level convenience Makefile next to meson.build;
# select the meson build system explicitly so dh does not pick "makefile".
BUILDDIR = obj-$(DEB_HOST_GNU_TYPE)
LDFLAGS_LIB_SEARCHPATH = -L$(CURDIR)/$(BUILDDIR)/zbar

CONFIGURE_FLAGS = \
	-Ddefault_library=both \
	-Dgtk=gtk3 \
	-Dgir=true \
	-Dqt=true \
	-Dpython=python3 \
	-Dpython.platlibdir=/usr/lib/python3/dist-packages \
	-Djava=disabled \
	-Dgraphicsmagick=disabled \
	-Dimagemagick=enabled \
	-Djpeg=enabled \
	-Ddbus=enabled \
	-Ddbusconfdir=/usr/share \
	-Dnls=enabled \
	-Ddoc=true

# We enable video (V4L) support only on Linux platforms.
ifeq (linux,$(DEB_HOST_ARCH_OS))
    CONFIGURE_FLAGS += -Dvideo=true
else
    CONFIGURE_FLAGS += -Dvideo=false
endif

%:
	dh $@ --buildsystem=meson

override_dh_auto_configure:
	dh_auto_configure -- $(CONFIGURE_FLAGS)

# Run display tests under Xvfb; keep the long decoder regression separate.
override_dh_auto_test:
	xvfb-run -a -e /dev/stderr dh_auto_test -- --no-suite regression

execute_after_dh_clean:
	# Also clean up perl-related files
	[ ! -f $(CURDIR)/perl/Makefile ] || $(MAKE) -C perl realclean

override_dh_auto_install: build-perl
	dh_auto_install

build-perl:
	dh_auto_configure --buildsystem=perl_makemaker --sourcedirectory=perl -- INC="-I$(CURDIR)/include" LIBS="$(LDFLAGS_LIB_SEARCHPATH) -lzbar"
	dh_auto_build --buildsystem=perl_makemaker --sourcedirectory=perl -- OTHERLDFLAGS="$(LDFLAGS_LIB_SEARCHPATH)" LD_RUN_PATH=''
	dh_auto_install --buildsystem=perl_makemaker --sourcedirectory=perl

.PHONY: build-perl
