#!/usr/bin/make -f
export SHELL := /bin/bash
export DH_VERBOSE = 1
export DH_OPTIONS = -v

altdir := /opt/alt/php84

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
CPPFLAGS = $(shell dpkg-buildflags --get CFLAGS | sed -e "s/-Wformat//;s/-Werror=format-security//")
LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
export PATH := $(altdir)/usr/bin:${PATH}

CPPFLAGS += -Wno-error=array-bounds


buildroot := $(CURDIR)/debian/tmp
_sourcedir := debian/src
_sysconfdir := $(altdir)/etc
_libdir := $(altdir)/usr/lib/$(DEB_HOST_MULTIARCH)
php_extdir := $(_libdir)/php/modules
NJOBS := -j$(shell getconf _NPROCESSORS_ONLN)

export MODS := pdo_sqlsrv
export EXTRA_LDFLAGS=$(LDFLAGS)
export EXTRA_CFLAGS=$(CPPFLAGS)
export CFLAGS := $(CPPFLAGS)
export CXXFLAGS := $(CPPFLAGS)

%:
	dh $@

override_dh_auto_build:
	# dpkg-source 3.0 (quilt) doesn't extract the upstream PECL tgz into the
	# build dir — the .tgz files in cwd are committed copies, not unpacked
	# sources. Extract the one matching the active version explicitly, drop
	# the package.xml metadata, and flatten the resulting sqlsrv-X.Y.Z/
	# subdirectory so phpize finds config.m4 in cwd.
	set -ex; \
	tar xzf "sqlsrv-5.13.1.tgz"; \
	rm -f package.xml; \
	mv "sqlsrv-5.13.1"/* . ; \
	rmdir "sqlsrv-5.13.1"

	$(altdir)/usr/bin/phpize
	./configure --libdir=$(_libdir) \
				--with-php-config=$(altdir)/usr/bin/php-config \
				--with-libdir=$(DEB_HOST_MULTIARCH)
	make $(NJOBS)
	mkdir ./pdo_sqlsrv/
	tar xzf "debian/src/pdo_sqlsrv-5.13.1.tgz"
	cp -R ./pdo_sqlsrv-*/* ./pdo_sqlsrv/

	for i in $(MODS); do \
		config_opts="--with-pic " ; \
		pushd $${i}; \
		$(altdir)/usr/bin/phpize; \
		./configure --libdir=$(altdir)$(_libdir) \
			--with-php-config=$(altdir)/usr/bin/php-config \
			--with-libdir=$(DEB_HOST_MULTIARCH) $${config_opts}; \
		make ${NJOBS} || exit 1; \
		cp ./modules/pdo_sqlsrv.so ../modules/pdo_sqlsrv.so; \
		popd; \
	done

override_dh_auto_install:
	mkdir -p $(buildroot)$(altdir)
	install -d $(buildroot)$(_sysconfdir)/php.d.all
	make install INSTALL_ROOT=$(buildroot)
	echo -e ";Enable sqlsrv extension module\nextension=sqlsrv.so" > $(buildroot)$(_sysconfdir)/php.d.all/sqlsrv.ini
	echo -e ";Enable pdo_sqlsrv extension module\nextension=pdo.so\nextension=pdo_sqlsrv.so" > $(buildroot)$(_sysconfdir)/php.d.all/pdo_sqlsrv.ini
	dh_movefiles -palt-php84-pecl-sqlsrv \
		.$(_sysconfdir)/php.d.all/sqlsrv.ini \
		.$(_sysconfdir)/php.d.all/pdo_sqlsrv.ini \
		.$(php_extdir)/sqlsrv.so \
		.$(php_extdir)/pdo_sqlsrv.so

override_dh_auto_test:

override_dh_missing:
	dh_missing --fail-missing

override_dh_auto_clean:
	rm -rf .cache
