
 AkariXB - A Jabber/XMPP bot
 Copyright 2015-2016  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 (check carefully!)
===============================================================================

 - Qt 4.8.x or 5.x
 - QXmpp 0.9.x (might work with an older version)
 - QJSON, if you're building with Qt 4.



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

You'll need qmake and the qt-devel (>= 4.8, 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.

If you build with Qt 4.x, you'll also need QJSON development files.


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

  - Debian (and probably in its derivatives too):
      Qt 4: libqt4-dev, libqxmpp-dev, libqjson-dev.
      Qt 5: qt5-default, libqxmpp-dev.

    > Build tools: build-essentials, g++


  - Mageia (probably in Mandriva and ROSA, too):
      Qt 4:
          i586: libqt4-devel, libqjson-devel (libQXmpp is not available).
          x86_64: lib64qt4-devel, lib64qjson-devel.
      Qt 5:
          i586: libqt5network-devel (pulls needed stuff like libqt5base5-devel).
          x86_64: lib64qt5network-devel.

    > Build tools: gcc-c++


  - Fedora:
      Qt 4: qt-devel, qjson-devel.

    > Build tools: gcc-c++


  - openSUSE:
      Qt 4: libqt4-devel, libqjson-devel.


  - Archlinux (runtime dependencies include build-time dependencies):
      Qt 4: qt4, qjson.
      Qt 5: qt5-base (libQXmpp is not available, but it's in the AUR).


You might also need to install qt4-qmake, if your distribution does not include
it with the Qt development package.



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 commands 'qmake-qt4' or 'qmake-qt5' available, 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.

If your desktop environment is Plasma 5, but older than 5.5.0, (or maybe other
modern environments), and you build with Qt 4, you will need the SNI Qt plugin
in order for the system tray icon to appear.


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

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

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