#!/bin/bash
#***************************************************************************
#                         install.sh  -  shell-script de instalación
#                             -------------------
#    begin                : Mar Abr 09 2003
#    copyright            : (C) 2003-2008 by InfoSiAL, S.L.
#    email                : mail@infosial.com
#    modificado		  : Modificado para que este script sólo compile las Qt
#			   dpinelo
#***************************************************************************

#***************************************************************************
#*                                                                         *
#*   This program is free software; you can redistribute it and/or modify  *
#*   it under the terms of the GNU General Public License as published by  *
#*   the Free Software Foundation; either version 2 of the License, or     *
#*   (at your option) any later version.                                   *
#*                                                                         *
#***************************************************************************

. ./setenv.sh

rm -f $HOME/.qmake.cache

if [ ! -f $QTDIR/include/qglobal.h ]
then
	cd $QTDIR
	make -f Makefile.cvs
	cd $ACTUAL
fi

version=$(cat $QTDIR/include/qglobal.h | grep "QT_VERSION_STR" | sed "s/.*\"\(.*\)\"/\1/g")
echo -e "Versión de Qt... $version\n"
echo -e "Compilando qmake y moc...\n"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$QTDIR/lib
cd $QTDIR
cp -vf Makefile.qt Makefile
# * dpinelo Comentado para intentar compilar con antialiasing
# * ./configure -platform $OPT_QMAKESPEC -prefix $PREFIX -R$PREFIX/lib -L$PREFIX/lib $QT_DEBUG -thread -no-pch -no-exceptions -buildkey $BUILD_KEY -stl -xinerama -disable-opengl -no-cups -no-nas-sound -no-nis -qt-libjpeg -qt-gif -qt-libmng -qt-libpng -qt-imgfmt-png -qt-imgfmt-jpeg -qt-imgfmt-mng
./configure -platform $OPT_QMAKESPEC -prefix $PREFIX -R$PREFIX/lib -L$PREFIX/lib $QT_DEBUG -thread -no-pch -no-exceptions -buildkey $BUILD_KEY -stl -no-cups -disable-opengl -xft -xrender -no-nas-sound -no-nis -qt-libjpeg -qt-gif -qt-libmng -qt-libpng -qt-imgfmt-png -qt-imgfmt-jpeg -qt-imgfmt-mng

make qmake-install || exit 1
make moc-install || exit 1

cd $ACTUAL

export PATH=$PREFIX/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PREFIX/lib
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$PREFIX/lib

echo -e "\nComprobando qmake...\n"
$QTDIR/bin/qmake -v > /dev/null
if [ $? = 154 ]
then
	echo -e "OK : qmake encontrado\n"
else
	echo -e "ERROR : No se encuentra qmake, esta utilidad se proporciona con las Qt."
	exho -e "        Comprueba que se encuentra en la ruta de búsqueda (variable $PATH).\n"
  	exit 1
fi

cd $ACTUAL

echo -e "//$(date +%d%m%Y):$PREFIX" > ./config.h
echo -e "/* config.h  Generado automáticamente por $0, NO EDITAR. */\n" >> ./config.h
echo -e "#define FLDATA \"$PREFIX/share/facturalux\"\n" >> config.h
mkdir -p $PREFIX/share/facturalux/forms
mkdir -p $PREFIX/share/facturalux/tables
mkdir -p $PREFIX/share/facturalux/translations
mkdir -p $PREFIX/share/facturalux/scripts
mkdir -p $PREFIX/share/facturalux/queries
mkdir -p $PREFIX/share/facturalux/reports
mkdir -p $PREFIX/share/facturalux/tmp
echo -e "#define FLDOC \"$PREFIX/share/facturalux/doc\"\n" >> config.h
mkdir -p $PREFIX/share/facturalux/doc
echo -e "#define FLLIB \"$PREFIX/lib\"\n" >> config.h
mkdir -p $PREFIX/lib
echo -e "#define FLBIN \"$PREFIX/bin\"\n" >> config.h
mkdir -p $PREFIX/bin
echo -e "#define FLPREFIX \"$PREFIX\"\n" >> config.h
echo -e "#define QTDIR \"$PREFIX\"\n" >> config.h
echo -e "#define VERSION \"$VERSION\"\n" >> config.h
echo -e "#define FL_HOME QDir::home().absPath()\n" >> config.h

echo "PREFIX = $PREFIX" > settings.pro
echo "ROOT = $ACTUAL" >> settings.pro
echo "DEFINES *= FL_EXPORT=\"\"" >> settings.pro
echo "INCLUDEPATH *= $PREFIX/include" >> settings.pro
echo "DEFINES *= QSDEBUGGER" >> settings.pro

echo "QMAKE_MKDIR           = @echo AbanQ ::   [MKDIR] $< && \$\$QMAKE_MKDIR" >> settings.pro
echo "QMAKE_COPY            = @echo AbanQ ::   [CP___] $< && \$\$QMAKE_COPY" >> settings.pro
echo "QMAKE_CC              = @echo AbanQ ::   [CC___] $< && \$\$QMAKE_CC" >> settings.pro
echo "QMAKE_CXX             = @echo AbanQ ::   [C++__] $< && \$\$QMAKE_CXX" >> settings.pro
#echo "QMAKE_MOC             = @echo AbanQ ::   [MOC__] $< && \$\$QMAKE_MOC" >> settings.pro
#echo "QMAKE_UIC             = @echo AbanQ ::   [UIC__] $< && \$\$QMAKE_UIC" >> settings.pro
echo "QMAKE_AR              = @echo AbanQ ::   [AR___] $< && \$\$QMAKE_AR" >> settings.pro
echo "QMAKE_LINK            = @echo AbanQ ::   [LK___] \$@ && \$\$QMAKE_LINK" >> settings.pro
echo "QMAKE_LINK_SHLIB      = @echo AbanQ ::   [LK___] \$@ && \$\$QMAKE_LINK_SHLIB" >> settings.pro
echo "QMAKE_MOVE            = @echo AbanQ ::   [MV___] \$@ && \$\$QMAKE_MOVE" >> settings.pro
echo "QMAKE_DEL_FILE        = @echo AbanQ ::   [RM___] \$@ && \$\$QMAKE_DEL_FILE" >> settings.pro
echo "QMAKE_DEL_DIR         = @echo AbanQ ::   [RMDIR] \$@ && \$\$QMAKE_DEL_DIR" >> settings.pro
echo "QMAKE_STRIP           = @echo AbanQ ::   [STRIP] \$@ && \$\$QMAKE_STRIP" >> settings.pro
echo "QMAKE_CHK_DIR_EXISTS  = @echo AbanQ ::   [CHK__] \$@ && \$\$QMAKE_CHK_DIR_EXISTS" >> settings.pro
echo "QMAKE_INSTALL_FILE    = @echo AbanQ ::   [INS__] \$@ && \$\$QMAKE_INSTALL_FILE" >> settings.pro
echo "QMAKE_INSTALL_PROGRAM = @echo AbanQ ::   [INS__] \$@ && \$\$QMAKE_INSTALL_PROGRAM" >> settings.pro

if [ "$OPT_DEBUG" = "yes" ]
then
	echo "CONFIG *= debug" >> settings.pro
	echo "DEFINES *= FL_DEBUG" >> settings.pro

fi

if [ "$OPT_DEBUGGER" = "yes" ]
then
	if [ "$OPT_DEBUG" = "no" ]
	then
		echo "DEFINES *= FL_DEBUG" >> settings.pro
	fi
	echo "DEFINES *= QSDEBUGGER FL_DEBUGGER" >> settings.pro
	QSADIR=qsa-debugger
fi

if [ "$OPT_SQLLOG" = "yes" ]
then
	echo "DEFINES *= FL_SQL_LOG" >> settings.pro

fi

if [ "$OPT_TEST" = "yes" ]
then
	echo "DEFINES *= FL_TEST" >> settings.pro
fi

if [ "$OPT_QUICK" = "yes" ]
then
	echo "DEFINES *= FL_QUICK_CLIENT" >> settings.pro
fi

echo -e "\nCompilando Hoard...\n"
cd $ACTUAL/src/hoard
$QTDIR/bin/qmake hoard.pro
make || exit 1
cd $ACTUAL

cp $PREFIX/lib/libhoard* $ACTUAL/src/qt/lib

echo -e "\nCompilando Qt ($QTDIR) ...\n"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib:$PREFIX/lib
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$QTDIR/lib:$PREFIX/lib
cd $QTDIR
make install || exit 1
export QTDIR=$PREFIX


echo "Compilando QSA..."
cd $ACTUAL/src/$QSADIR
cp -fv ../qt/.qmake.cache .qmake.cache
cp -fv ../qt/.qmake.cache src/$QSADIR/
cp -fv ../qt/.qmake.cache src/plugin/
./configure
make || exit 1
make install

cd $ACTUAL

echo -e "Creando Makefiles con qmake...\n"

cp -fv src/qt/.qmake.cache .qmake.cache
cp -fv src/qt/.qmake.cache src/advance/
cp -fv src/qt/.qmake.cache src/qwt/
cp -fv src/qt/.qmake.cache src/qwt/designer
cp -fv src/qt/.qmake.cache src/barcode/
cp -fv src/qt/.qmake.cache src/flbase/
cp -fv src/qt/.qmake.cache src/fllite/
cp -fv src/qt/.qmake.cache src/flbase/
cp -fv src/qt/.qmake.cache src/kugar/
cp -fv src/qt/.qmake.cache src/sqlite/
cp -fv src/qt/.qmake.cache src/libpq/
cp -fv src/qt/.qmake.cache src/dbf/
cp -fv src/qt/.qmake.cache src/kudesigner/
cp -fv src/qt/.qmake.cache src/teddy/
cp -fv src/qt/.qmake.cache src/plugins/designer/flfielddb/
cp -fv src/qt/.qmake.cache src/plugins/designer/fltabledb/
cp -fv src/qt/.qmake.cache src/plugins/sqldrivers/sqlite/
cp -fv src/qt/.qmake.cache src/plugins/sqldrivers/psql/
cp -fv src/qt/.qmake.cache src/plugins/styles/bluecurve/
cp -fv src/qt/.qmake.cache src/plugins/styles/kde/
cp -fv src/qt/.qmake.cache src/plugins/styles/kde/kdefx/
cp -fv src/qt/.qmake.cache src/plugins/styles/kde/kdelite/
cp -fv src/qt/.qmake.cache src/plugins/styles/kde/styles/
cp -fv src/qt/.qmake.cache src/plugins/styles/kde/styles/dotnet2/
cp -fv src/qt/.qmake.cache src/plugins/styles/kde/styles/liquid/
cp -fv src/qt/.qmake.cache src/plugins/styles/kde/styles/plastik/
cp -fv src/qt/.qmake.cache src/plugins/styles/

