#!/usr/bin/make -f

export DH_VERBOSE=1
export DEB_BUILD_HARDENING=1

CMAKE=cmake
TMP=$(CURDIR)/debian/tmp/

DISTRIBUTION := $(shell lsb_release -i -s)
feature_set="community"
major_version=31
minor_version=1
compilation_comment_release="Percona XtraDB Cluster (GPL), Release $(major_version).$(minor_version) ($(DISTRIBUTION))"
prefix="/usr"
builddir=release

DEB_VERSION ?= $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')

ifneq (,$(filter $(ARCH), i386 kfreebsd-i386 hurd-i386))
    TAOCRYPT_OPT="-DTAOCRYPT_DISABLE_X86ASM"
endif

MYSQL_CFLAGS = -O2 -DBIG_JOINS=1 -fno-strict-aliasing $(TAOCRYPT_OPT)
MYSQL_CXXFLAGS = -O3 -DBIG_JOINS=1 -felide-constructors -fno-exceptions -fno-rtti -fno-strict-aliasing $(TAOCRYPT_OPT)

%:
	dh $@ --parallel --with autoreconf

override_dh_auto_configure:
	mkdir $(builddir)
	cd $(builddir) && \
	sh -c 'CFLAGS="$(MYSQL_CFLAGS)" \
		   CXXFLAGS="$(MYSQL_CXXFLAGS)" \
	   	   $(CMAKE) ../ -DBUILD_CONFIG=mysql_release \
			   -DCMAKE_VERBOSE_MAKEFILE=ON \
			   -DINSTALL_LAYOUT=DEB \
			   -DCMAKE_BUILD_TYPE=RelWithDebInfo \
			   -DWITH_SSL=system \
			   -DWITH_ZLIB=system \
			   -DWITH_EMBEDDED_SERVER=OFF \
			   -DWITH_INNODB_DISALLOW_WRITES=ON \
			   -DWITH_WSREP=ON \
			   -DMYSQL_UNIX_ADDR="/var/run/mysqld/mysqld.sock" \
			   -DFEATURE_SET=$(feature_set) \
			   -DCOMPILATION_COMMENT=$(compilation_comment_release) \
			   -DMYSQL_SERVE_SUFFIX=$(DEB_VERSION) \
			   -DWITH_PAM=ON'

override_dh_auto_build:
	cd $(builddir) && make $(MAKE_JFLAG)

	# Build HandlerSocket
	echo "Configuring HandlerSocket"
	cd storage/HandlerSocket-Plugin-for-MySQL && \
	CXX="$${HS_CXX:-g++}" CXXFLAGS="$(CXXFLAGS) -I$(CURDIR)/release/include" \
		./configure --with-mysql-source=$(CURDIR) \
			--with-mysql-bindir=$(CURDIR)/release/scripts \
			--with-mysql-plugindir=$(prefix)/lib/mysql/plugin \
			--libdir=$(prefix)/lib \
			--prefix=$(prefix) && \
	make $(MAKE_JFLAG)

	# Build UDF
	cd UDF && \
	CXX="$${UDF_CXX:-g++}" CXXFLAGS="$(CXXFLAGS) -I$(CURDIR)/release/include" \
		./configure --includedir=$(CURDIR)/include \
			--libdir=$(prefix)/lib/mysql/plugin && \
	make $(MAKE_JFLAG)

override_dh_auto_install:
	cd $(builddir) && make DESTDIR=$(TMP) install
	cd storage/HandlerSocket-Plugin-for-MySQL && make DESTDIR=$(TMP) install
	cd UDF && make DESTDIR=$(TMP) install

override_dh_installinit:
	dh_installinit --name=mysql --error-handler=:

override_dh_clean:
	dh_clean -XUDF
