#!/usr/bin/make -f
# -*- makefile -*-

export COMPIZ_DEB_BUILD=1

DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
python2_version := $(shell pyversions --requested --version debian/control)
gles2_architectures := armel armhf

# currently, segfault if CMAKE_BUILD_TYPE=Release
export DEB_LDFLAGS_MAINT_STRIP=-Wl,-Bsymbolic-functions

# libgtkmm requires C++-11, and some plugins require libgtkmm, so we do too
# (lp: #1477978)
export DEB_CXXFLAGS_MAINT_APPEND=-std=c++11

CORE_ABIVERSION := $(shell sed -rn 's/^\#define[[:space:]]+CORE_ABIVERSION[[:space:]]+//p' include/core/abiversion.h )

override_dh_auto_configure:
        # right now, xorg-gtest won't compile on arm.
ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(gles2_architectures)))
	dh_auto_configure -- -DCOMPIZ_BUILD_WITH_RPATH=FALSE -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCOMPIZ_PACKAGING_ENABLED=TRUE -DUSE_GSETTINGS=ON -DCOMPIZ_DISABLE_GS_SCHEMAS_INSTALL=OFF -DCOMPIZ_DISABLE_PLUGIN_KDE=ON -DCOMPIZ_BUILD_TESTING=OFF -DUSE_KDE4=OFF -DBUILD_GLES=ON -DBUILD_XORG_GTEST=OFF
else
	dh_auto_configure -- -DCOMPIZ_BUILD_WITH_RPATH=FALSE -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCOMPIZ_PACKAGING_ENABLED=TRUE -DUSE_GSETTINGS=ON -DCOMPIZ_DISABLE_GS_SCHEMAS_INSTALL=OFF -DCOMPIZ_DISABLE_PLUGIN_KDE=ON -DCOMPIZ_BUILD_TESTING=OFF -DUSE_KDE4=OFF
endif

override_dh_install:
	# cmake findcompiz_install use COMPIZ_DESTDIR and using COMPIZ_DESTDIR and
	# DESTDIR together is completely broken upstream
	# So, doing the same in debian/rules to find a way to install things in the
	# right place, sorry for the kittens
ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(gles2_architectures)))
	cmake_dir=`cmake --system-information 2> /dev/null | grep "^CMAKE_ROOT " | sed -e 's/.*"\(.*\)"/\1/'` && \
	mkdir -p debian/tmp$${cmake_dir}/Modules && \
	mkdir -p debian/compiz-dev$${cmake_dir}/Modules && \
	cp cmake/FindCompiz.cmake debian/tmp$${cmake_dir}/Modules && cp cmake/FindOpenGLES2.cmake debian/compiz-dev$${cmake_dir}/Modules
else
	cmake_dir=`cmake --system-information 2> /dev/null | grep "^CMAKE_ROOT " | sed -e 's/.*"\(.*\)"/\1/'` && \
	mkdir -p debian/tmp$${cmake_dir}/Modules && \
	cp cmake/FindCompiz.cmake debian/tmp$${cmake_dir}/Modules
endif

	# remove .a files
	rm -f debian/tmp/usr/lib/*.a

        # remove acceptance test binary
	rm -f debian/tmp/usr/bin/compiz_autopilot_acceptance_tests

	# ugly hack to install xml files
	mkdir -p debian/tmp/usr/share/gnome-control-center/keybindings
	find */gtk/gnome -name *.xml | xargs cp -at debian/tmp/usr/share/gnome-control-center/keybindings/

	# work around having a file with a conflicted special name (#1156294)
	cp debian/compizconfig debian/tmp/config

	# accommodate Python's just-gotta-be-different approach to multi-arch
	python2_dir=debian/tmp/usr/lib/python$(python2_version)/dist-packages; \
	mv $${python2_dir}/compizconfig.so \
	   $${python2_dir}/compizconfig.$(DEB_HOST_MULTIARCH).so

	dh_install --fail-missing

	# remove the compizconfig dev file from compiz-dev
	rm debian/compiz-dev/usr/share/compiz/cmake/LibCompizConfigCommon.cmake

override_dh_gencontrol:
	dh_gencontrol -- -Vcoreabiversion=$(CORE_ABIVERSION)

override_dh_auto_test:
	#dh_auto_test

%:
	dh $@ --parallel --with python2,migrations,translations

