#!/bin/sh
#

EXT=postgresql-9.5
TCZ=/tmp/$EXT/TCZ

sudo rm -rf /tmp/$EXT

for a in compiletc bash file squashfs-tools \
		openssl-dev libxml2-dev libxslt-dev perl5 python3-dev tcl8.6-dev gettext tzdata
	do tce-load -i $a
done

sed -i -e '/define NAMEDATALEN/s/NAMEDATALEN.*$/NAMEDATALEN 128/' src/include/pg_config_manual.h
sed -i -e '/define NAMEDATALEN/s/NAMEDATALEN.*$/NAMEDATALEN 128/' src/interfaces/ecpg/include/sqlda-native.h

#make clean

export CC="gcc -flto -fuse-linker-plugin -mtune=generic -Os -pipe"
export CXX="g++ -flto -fuse-linker-plugin -mtune=generic -Os -pipe -fno-exceptions -fno-rtti"

./configure \
	--prefix=/usr/local/pgsql95 \
	--localstatedir=/var \
	--disable-rpath \
	--with-openssl \
	--with-libxml \
	--with-libxslt \
	--with-perl \
	--with-python \
	--with-tcl \
	--enable-nls \
	--with-system-tzdata=/usr/local/share/zoneinfo \
	|| exit

make world || exit

make install-world DESTDIR=$TCZ
for a in $(find $TCZ -type f); do file -b $a | grep -q '^ELF .*not stripped$' && strip $a; done

mkdir -p $TCZ-doc/usr/local/share
mkdir -p $TCZ-dev/usr/local/pgsql95/bin
mkdir -p $TCZ-dev/usr/local/pgsql95/lib
mkdir -p $TCZ-client/usr/local/pgsql95/lib
mkdir -p $TCZ-client/usr/local/pgsql95/bin

mv $TCZ/usr/local/pgsql95/share/man $TCZ-doc/usr/local/share
mv $TCZ/usr/local/pgsql95/share/doc $TCZ-doc/usr/local/share
mv $TCZ/usr/local/pgsql95/include $TCZ-dev/usr/local/pgsql95
mv $TCZ/usr/local/pgsql95/lib/pgxs $TCZ-dev/usr/local/pgsql95/lib
mv $TCZ/usr/local/pgsql95/lib/pkgconfig $TCZ-dev/usr/local/pgsql95/lib
mv $TCZ/usr/local/pgsql95/lib/*.a $TCZ-dev/usr/local/pgsql95/lib
cp -a $TCZ/usr/local/pgsql95/lib $TCZ-dev/usr/local/pgsql95
mv $TCZ/usr/local/pgsql95/bin/pg_config $TCZ-dev/usr/local/pgsql95/bin

cp $TCZ/usr/local/pgsql95/bin/psql $TCZ-client/usr/local/pgsql95/bin
cp -a $TCZ/usr/local/pgsql95/lib/libpq.so* $TCZ-client/usr/local/pgsql95/lib

sudo chown -R root.root $TCZ*

mksquashfs $TCZ /tmp/$EXT/$EXT.tcz -noappend
mksquashfs $TCZ-dev /tmp/$EXT/$EXT-dev.tcz -noappend
mksquashfs $TCZ-doc /tmp/$EXT/$EXT-doc.tcz -noappend
mksquashfs $TCZ-client /tmp/$EXT/$EXT-client.tcz -noappend

