
 AkariXB - A Jabber/XMPP bot
 Copyright 2015-2019  JanKusanagi JRR <jancoding@gmx.com>

===============================================================================

   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.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the
   Free Software Foundation, Inc.,
   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.

   Or visit http://www.gnu.org/licenses/

===============================================================================


These are some basic instructions on how to build AkariXB from source, in case
you don't have precompiled packages available for your operating system.



General runtime dependencies
===============================================================================

 - Qt 5.6 or newer.
 - QXMPP 0.9.x or newer, built for Qt 5.



Dependencies for building
===============================================================================

You'll need qmake and the qt-devel (>= 5.6, including QtNetwork and QtDBUS
modules, if they are separate), and qxmpp-devel packages.
Qmake might be included in the Qt development packages, or it might be a
separate package. You'll also need the 'lrelease' tool (part of Qt Linguist)
to automatically generate the translations.


These are the names of the packages for the build dependencies
in some GNU/Linux distributions:


  - Mageia (probably in Mandriva and ROSA, too):

      lib64qt5base5-devel, lib64qxmpp-devel.

      ** Note: For the i586 architechture, remove the "64" from the package
               names, such as libqt5base5-devel.

    >> Build tools: gcc-c++, qttools5


  - Debian (and probably in its derivatives too):

      qt5-default, libqxmpp-dev.

    >> Build tools: build-essential, g++, qttools5-dev-tools


  - Fedora:

      qt5-qtbase-devel, qxmpp-qt5-devel.

      ** Note: For now, you will need to rename /usr/include/qxmpp-qt5/ and
               /usr/lib{64}/libqxmpp-qt5.so, removing the "-qt5" parts.

    >> Build tools: gcc-c++, qt5-linguist


  - openSUSE:

      libqt5-qtbase-devel, libqxmpp-qt5-devel.

      ** Note: For now, you will need to rename /usr/include/qxmpp-qt5/ and
               /usr/lib{64}/libqxmpp-qt5.so, removing the "-qt5" parts.

    >> Build tools: libqt5-linguist


  - Archlinux and Parabola (runtime deps also include build-time deps):

      qt5-base, qxmpp, qt5-tools.

      ** Note: As of December 2017 at least, the qxmpp package is no longer
               in their repositories.
               There is a version in AUR, please vote for it:
               https://aur.archlinux.org/packages/qxmpp-qt5/


  - FreeBSD (runtime deps include build-time deps):
      qt5-widgets and qxmpp-qt5.

    >> Build tools: qmake-qt5, qt5-buildtools



You might also need to install qt5-qmake (or similar), if your distribution
does not include it with the Qt development package. Most necessary build tools
are listed above.



Build process
===============================================================================

From AkariXB's main directory, where AkariXB.pro is located, execute:

        mkdir build               # Create a clean directory for the build
        cd build                  # Go into it
        qmake ..                  # Ask Qmake to generate a Makefile[*]
        make                      # Run Make to compile the project

[*]if you have the command 'qmake-qt5' available, you might need to use that
instead of 'qmake'!


That should do it!


There is an installation target if you wish to use 'make install', but you can
just run the resulting "akarixb" binary without installation.
The language files will be embedded into the binary upon compilation,
so there's no need to keep them afterwards.



AkariXB is built on and for GNU/linux, but it will probably work under other
systems, as long as they are supported by Qt, and have ports of the necessary
dependencies.



===============================================================================

Visit https://jancoding.wordpress.com/akarixb for more information.

Get the latest development source from https://gitlab.com/akarixb/akarixb-dev
