abinfo "Preparing environment ..."
unset QTDIR QTINC QTLIB
export QTDIR="$SRCDIR"
export PATH="${QTDIR}/bin:${PATH}"
export MANPATH="${QTDIR}/doc/man:${MANPATH}"
export LD_LIBRARY_PATH="${QTDIR}/lib"

if ! ab_match_archgroup retro; then
    PSQLDIR="$(realpath /usr/bin/psql)"
    PSQLDIR="$(dirname $PSQLDIR)"
    PSQLDIR="$(realpath $PSQLDIR/..)"
    export MARIADB="-plugin-sql-mysql"
    export ODBC="-plugin-sql-odbc"
    export PSQL="-plugin-sql-psql -L$PSQLDIR/lib -I$PSQLDIR/include -I$PSQLDIR/include/server"
fi

if [[ "${CROSS:-$ARCH}" = *64 || \
      "${CROSS:-$ARCH}" = loongson* ]]; then
    export BITS="-platform linux-g++-64"
else
    export BITS="-platform linux-g++"
fi


abinfo "Configuring TQt 3 ..."
echo yes | \
    "$SRCDIR"/configure \
	${INCDIRS} ${BITS}		\
	-prefix		"/usr"		\
	-libdir		"/usr/lib"	\
	-sysconfdir	"/etc/tqt3"	\
	-datadir	"/usr/share/tqt3"		\
	-headerdir	"/usr/include/tqt3"		\
	-docdir		"/usr/share/tqt3/doc"		\
	-plugindir	"/usr/lib/tqt3/plugins"		\
	-translationdir	"/usr/share/tqt3/translations"	\
	-debug				\
	-thread				\
	-shared				\
	-fast				\
	-no-exceptions			\
	-nis				\
	-no-pch				\
	-cups				\
	-stl				\
	-ipv6				\
	-sm				\
	-xshape				\
	-xinerama			\
	-xcursor			\
	-xrandr				\
	-xrender			\
	-xft				\
	-tablet				\
	-xkb				\
	-system-zlib			\
	-system-libpng			\
	-system-libmng			\
	-system-libjpeg			\
	-no-nas-sound			\
	-enable-module=opengl		\
	-no-dlopen-opengl		\
	-qt-gif				\
	-qt-imgfmt-mng			\
	-qt-imgfmt-png			\
	-qt-imgfmt-jpeg			\
	-plugin-imgfmt-mng		\
	-lfontconfig			\
	-inputmethod			\
	-no-glibmainloop		\
	-plugin-sql-sqlite3 ${MARIADB} ${ODBC} ${PSQL} \
	-v

abinfo "Building TQt 3 ..."
make

for i in sub-src sub-plugins sub-tools; do
    abinfo "Building TQt 3 ($i) ..."
    make $i
done

abinfo "Building tqtconv2ui ..."
make \
    -C "$SRCDIR"/tools/designer/tools/tqtconv2ui

abinfo "Building tqvfb ..."
make \
    -C "$SRCDIR"/tools/tqvfb

abinfo "Removing references to build-time $QTDIR in *.prl files ..."
sed -e "s|${QTDIR}|/usr/share/tqt3|g" \
    -i "$SRCDIR"/lib/*.prl

abinfo "Installing TQt 3 ..."
make install \
    INSTALL_ROOT="$PKGDIR" install

abinfo "Installing TQt 3 plugins ..."
make plugins-install \
    INSTALL_ROOT="$PKGDIR"

abinfo "Installing extra programs and data ..."
install -vm755 "$SRCDIR"/bin/tqtrename140 \
    "$PKGDIR"/usr/bin
install -vm755 "$SRCDIR"/bin/tqtfindtr \
    "$PKGDIR"/usr/bin
install -vm755 "$SRCDIR"/bin/tqtconv2ui \
    "$PKGDIR"/usr/bin/tqtconv2ui
install -Dvm755 "$SRCDIR"/tools/tqvfb/tqvfb \
    "$PKGDIR"/usr/bin/tqvfb
install -Dvm644 "$SRCDIR"/tools/tqvfb/pda.skin \
    "$PKGDIR"/etc/tqt3/tqvfb/pda.skin
install -Dvm644 "$SRCDIR"/tools/tqvfb/pda_down.png \
    "$PKGDIR"/usr/share/tqvfb/pda_down.png
install -Dvm644 "$SRCDIR"/tools/tqvfb/pda_up.png \
    "$PKGDIR"/usr/share/tqvfb/pda_up.png

abinfo "Installing Designer headers ..."
cp -v "$SRCDIR"/tools/designer/interfaces/*.h \
    "$PKGDIR"/usr/include/tqt3/
cp -v "$SRCDIR"/tools/designer/editor/*.h \
    "$PKGDIR"/usr/include/tqt3/

abinfo "Removing yet more references to build-time $QTDIR ..."
perl -pi -e 's{\$$\$$QT_SOURCE_TREE}{$(QTDIR)}' \
    "$SRCDIR"/src/qt_professional.pri

for i in designer/designer assistant linguist/linguist; do
    (
        abinfo "Installing translation data for $i ..."
        cd "$SRCDIR"/tools/${i}
        tqlrelease "${i##*/}.pro"
        for j in ${i##*/}_*.qm; do
            install -vm644 "${j}" \
                "$PKGDIR"/usr/share/tqt3/translations/
        done
    )
done

abinfo "Installing program icons ..."
install -Dvm644 "$SRCDIR"/tools/assistant/images/appicon.png \
    "$PKGDIR"/usr/share/icons/hicolor/32x32/apps/tqassistant.png
install -Dvm644 "$SRCDIR"/tools/designer/designer/images/designer_appicon.png \
    "$PKGDIR"/usr/share/icons/hicolor/32x32/apps/tqdesigner.png
install -Dvm644 "$SRCDIR"/tools/linguist/linguist/images/appicon.png \
    "$PKGDIR"/usr/share/icons/hicolor/32x32/apps/tqlinguist.png
install -Dvm644 "$SRCDIR"/tools/qtconfig/images/appicon.png \
    "$PKGDIR"/usr/share/icons/hicolor/32x32/apps/tqtconfig.png

abinfo "Installing manpages ..."
mkdir -pv "$PKGDIR"/usr/share/man/
cp -rv "$SRCDIR"/doc/man/man* \
    "$PKGDIR"/usr/share/man/

abinfo "Installing extra tools for Designer ..."
cp -vra "$SRCDIR"/tools/designer/tools \
    "$PKGDIR"/usr/share/tqt3/tools
rm -vf "$PKGDIR"/usr/share/tqt3/tools/tqtcreatecw/tqtcreatecw
rm -vrf "$PKGDIR"/usr/share/tqt3/tools/tqtcreatecw/.moc
rm -vrf "$PKGDIR"/usr/share/tqt3/tools/tqtcreatecw/.obj
rm -vf "$PKGDIR"/usr/share/tqt3/tools/tqtcreatecw/Makefile
rm -vf "$PKGDIR"/usr/share/tqt3/tools/tqtconv2ui/tqtconv2ui
rm -vrf "$PKGDIR"/usr/share/tqt3/tools/tqtconv2ui/.moc
rm -vrf "$PKGDIR"/usr/share/tqt3/tools/tqtconv2ui/.obj
rm -vf "$PKGDIR"/usr/share/tqt3/tools/tqtconv2ui/Makefile

abinfo "Removing executable bits from mkspecs ..."
chmod -v 644 "$PKGDIR"/usr/share/tqt3/mkspecs/*/*
