#!/usr/bin/make -f

DH_VERBOSE = 1

DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

%:
	dh $@ --sourcedirectory src --with php

execute_after_dh_auto_clean:
	cd ./src; phpize --clean

override_dh_auto_configure:
	cd ./src; phpize
	cd ./src; ./configure --enable-snuffleupagus

override_dh_auto_install:
	dh_testdir
	dh_testroot
	dh_installdirs
	mkdir -p debian/snuffleupagus/$$(/usr/bin/php-config --extension-dir)/
	mkdir -p debian/snuffleupagus/etc/php/$$(/usr/bin/php-config --version | cut -d '.' -f1-2)/mods-available/
	install -m 644 src/modules/snuffleupagus.so debian/snuffleupagus/$$(/usr/bin/php-config --extension-dir)/snuffleupagus.so
	install -m 644 config/snuffleupagus.ini debian/snuffleupagus/etc/php/$$(/usr/bin/php-config --version | cut -d '.' -f1-2)/mods-available/snuffleupagus.ini

override_dh_auto_test:
ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
	sed -i "s/\$$ext_params -d display_errors=0 -r/-d display_errors=0 -r/" src/run-tests.php
	# PHP-version-gated test exclusions (mirror of RPM spec %check section).
	# php-config --vernum yields NNMMPP (e.g. 70435, 80230).
	PHPVER=$$(/usr/bin/php-config --vernum); \
	if [ "$$PHPVER" -lt 80000 ]; then \
	    rm -rf src/tests/*php8*/; \
	else \
	    rm -f src/tests/xxe/disable_xxe_simplexml_oop.phpt; \
	    rm -f src/tests/xxe/disable_xxe_simplexml.phpt; \
	fi; \
	if [ "$$PHPVER" -ge 80200 ]; then \
	    rm -f src/tests/disable_function/disabled_functions_die.phpt; \
	    rm -f src/tests/disable_function/disabled_functions_exit.phpt; \
	    rm -f src/tests/deny_writable/deny_writable_execution.phpt; \
	    rm -f src/tests/deny_writable/deny_writable_execution_simulation.phpt; \
	    rm -f src/tests/deny_writable/dump_deny_writable_execution.phpt; \
	fi
	# Test fails sometimes in buildsystem
	rm -f src/tests/session_encryption/set_custom_session_handler2.phpt
	TEST_PHP_ARGS="-q" REPORT_EXIST_STATUS=1 make -C src test
else
	echo "skip tests"
endif
