*******************************************************************************
Program Depends
*******************************************************************************
--------
:common:
--------
bzip2
zlib
iconv (libc on GNU/Linux)
----------------
:libeiskaltdcpp:
----------------
gettext
libssl (>= 0.9.8)
liblua5.1 (optional, see cmake keys)
libpcrecpp0 (optional, see cmake keys)
miniupnpc (optional, see cmake keys)
libidn (optional, see cmake keys)
libattr (optional)
libboost-system (required only if Boost >= 1.50 is used)
----------------
:eiskaltdcpp-qt:
----------------
libqtcore4, libqtgui4, libqt4-network, libqt4-xml (>= 4.6.0)
libqt4-script (>= 4.6.0) (optional, see cmake keys)
libqt4-dbus (>= 4.6.0) (optional, see cmake keys)
libaspell (optional, see cmake keys)
-----------------
:eiskaltdcpp-gtk:
-----------------
gettext
libpango
libgtk2 (>= 2.24)
libglib2 (>= 2.24)
libnotify (>= 0.4.1) (optional, see cmake keys)
libgnome2 (optional, see cmake keys)
libcanberra-gtk3-0 (optional, see cmake keys)
--------------------
:eiskaltdcpp-daemon:
--------------------
libxmlrpc-c++4 (>= 1.19.0) (optional, see cmake keys)
-----------------
:eiskaltdcpp-cli:
-----------------
perl (>= 5.10)
perl modules:
    Getopt::Long  (libgetopt-long-descriptive-perl)
    Data::Dump    (libdata-dump-perl)
    Term::ShellUI (libterm-shellui-perl)
    RPC::XML      (librpc-xml-perl)  (optional, see cmake keys)
    JSON::RPC     (libjson-rpc-perl) (optional, see cmake keys)


*******************************************************************************
Optional Depends
*******************************************************************************
----------------
:eiskaltdcpp-qt:
----------------
sh (bash, dash, etc...)
    see examples/ and eiskaltdcpp-qt/qtscripts/
php5-cli (or other version, check the compatibility by yourself)
    see eiskaltdcpp-qt/examples/ and eiskaltdcpp-qt/qtscripts/
libqtscript4-core, libqtscript4-gui, libqtscript4-network, libqtscript4-xml
    see eiskaltdcpp-qt/qtscripts/
-----------------
:eiskaltdcpp-gtk:
-----------------
...


*******************************************************************************
Build Depends
*******************************************************************************
--------
:common:
--------
gcc (>= 4.4.0) or clang (>= 2.9)
iconv (libc on GNU/Linux)
cmake (>= 2.6.3)
pkg-config
bzip2
zlib
----------------
:libeiskaltdcpp:
----------------
gettext
libboost-dev (>= 1.39.0) (headers only if Boost < 1.50) (optional, see cmake keys)
liblua5.1-dev (optional, see cmake keys)
libpcre3-dev (optional, see cmake keys)
miniupnpc (optional, see cmake keys)
libidn (optional, see cmake keys)
libattr-dev (optional)
----------------
:eiskaltdcpp-qt:
----------------
qt4 (>= 4.6.0)
gcc (>= 4.5.0) or clang (>= 3.1)
libaspell-dev (optional, see cmake keys)
-----------------
:eiskaltdcpp-gtk:
-----------------
libgtk2.0-dev (optional, see cmake keys)
libgtk-3-dev  (optional, see cmake keys)
libnotify-dev (optional, see cmake keys)
libgnome2-dev (optional, see cmake keys)
libcanberra-gtk3-dev (optional, see cmake keys)
--------------------
:eiskaltdcpp-daemon:
--------------------
libxmlrpc-c++4-dev (>=1.19.0) (optional, see cmake keys)


*******************************************************************************
Installation in Linux and other UNIX-like systems
*******************************************************************************
mkdir -p builddir && cd builddir
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../
make -j2
sudo make install

---------
# Note: you can get the lastest program sorces from git repository
git clone git://github.com/eiskaltdcpp/eiskaltdcpp.git
# or
wget -4 -c https://nodeload.github.com/eiskaltdcpp/eiskaltdcpp/tar.gz/master
# or
svn export http://svn.github.com/eiskaltdcpp/eiskaltdcpp/ eiskaltdcpp


*******************************************************************************
Keys for cmake
*******************************************************************************
----------------
:libeiskaltdcpp:
----------------
-DLOCAL_BOOST=ON/OFF (default: OFF)
    use local boost headers
    Script downloads archive with only necessary headers: http://code.google.com/p/eiskaltdc/downloads/detail?name=boost.tar.gz
    (This archive have less size than official boost archive)
    If boost.tar.gz already available in source tree nothing happens.
-DLUA_SCRIPT=ON/OFF (default: OFF)
    lua scripts
-DPERL_REGEX=ON/OFF (default: OFF)
    use pcre lib for regex in perl style (now it uses only in ADL Search)
-DUSE_IDNA=ON/OFF (default: ON)
    Use libidn for rfc3490 (resolving Internationalized Domain Names)
-DWITH_DHT=ON/OFF (default: ON)
    DHT support (http://www.adcportal.com/wiki/StrongDC++_DHT)
-DLINK=STATIC/SHARED (default: SHARED)
    make static or shared library
    Option available only on Unix-like systems.
    On MS Windows platform it forcibly set to STATIC.
----------------
:eiskaltdcpp-qt:
----------------
-DUSE_QT=ON/OFF (default: ON)
    build EiskaltDC++ with Qt interface
-DUSE_ASPELL=ON/OFF (default: OFF)
    use or not use aspell
-DFREE_SPACE_BAR_C=ON/OFF (default: ON)
    free space bar in status panel
-DDBUS_NOTIFY=ON/OFF (default: ON)
    use or not use QtDBus module
-DUSE_JS=ON/OFF (default: OFF)
    Enable/disable QtScript basic support
-DUSE_QT_QML=ON/OFF (default: OFF)
    Enable/disable Qt Declarative UI support. Work only with Qt >= 4.7.0
-DUSE_QT_SQLITE=ON/OFF (default: OFF)
    Build with SQLite support. (This is experimental option)
 -----------------
:eiskaltdcpp-gtk:
-----------------
-DUSE_GTK=ON/OFF (default: OFF)
    build EiskaltDC++ with Gtk interface (based on FreeDC++ and LinuxDC++)
-DUSE_GTK3=ON/OFF (default: OFF)
    build EiskaltDC++ with Gtk interface using Gtk3 library
-DUSE_LIBGNOME2=ON/OFF (default: OFF)
    Enable/disable sound notifications support over libgnome2 in EiskaltDC++ Gtk
-DUSE_LIBCANBERRA=ON/OFF (default: OFF)
    Enable/disable sound notifications support over libcanberra in EiskaltDC++ Gtk
-DUSE_LIBNOTIFY=ON/OFF (default: ON)
    Enable/disable popup notifications support in EiskaltDC++ Gtk
--------------------
:eiskaltdcpp-daemon:
--------------------
-DNO_UI_DAEMON=ON/OFF (default: OFF)
    build daemon (without any UI)
-DXMLRPC_DAEMON=ON/OFF (default: OFF)
    make this daemon as xmlrpc server
-DJSONRPC_DAEMON=ON/OFF (default: OFF)
    make this daemon as json server
-----------------
:eiskaltdcpp-cli:
----------------
-DUSE_CLI_XMLRPC=ON/OFF (default: OFF)
    use command line interface to control daemon via XMLRPC
-DUSE_CLI_JSONRPC=ON/OFF (default: OFF)
    use command line interface to control daemon via JSONRPC
--------
:common:
--------
-DWITH_EMOTICONS=ON/OFF (default: ON)
    If ON install emoticons/
-DWITH_EXAMPLES=ON/OFF (default: ON)
    If ON install examples/
-DWITH_LUASCRIPTS=ON/OFF (default: OFF)
    If ON install luascripts/
-DUSE_MINIUPNP=ON/OFF (default: OFF)
    use or not use miniupnpc lib
-DLOCAL_MINIUPNP=ON/OFF (default: OFF)
    If ON use local miniupnpc lib
-DWITH_SOUNDS=ON/OFF (default: OFF)
    If ON install sounds/
-Dlinguas:STRING="needed translations, separator is whitespace" (default: *)
    examples:
    -Dlinguas="en ru" - install ru and en translations
    -Dlingaus="*"     - install all translations
    -Dlinguas=""      - don't install any translation
-DFORCE_XDG=ON/OFF (default: ON)
    use or not use $XDG_CONFIG_HOME and $XDG_CONFIG_DOWNLOADS variables
    see http://standards.freedesktop.org/basedir-spec/latest/ar01s03.html
-DCMAKE_INSTALL_PREFIX=<prefix for install> (default: /usr/local)
    .
-DLIBDIR=<lib prefix> (default: lib)
    install lib to <prefix for install>/<lib prefix>
    examples:
    -DLIBDIR=lib64 - install lib to <prefix for install>/lib64
-DLIB_INSTALL_DIR=<lib prefix> (default: lib)
    see -DLIBDIR
-DINSTALL_RUNTIME_PATH=ON/OFF (default: OFF)
    Set RPATH in library. About possible troubles see:
    https://fedoraproject.org/wiki/RPath_Packaging_Draft
    http://wiki.debian.org/RpathIssue
-DWITH_DEV_FILES=ON/OFF (default: OFF)
    If ON install development files (headers for libeiskaltdcpp)
    see also -DEISKALTDCPP_INCLUDE_DIR
-DEISKALTDCPP_INCLUDE_DIR=<dir> (default: <prefix for install>/include/eiskaltdcpp)
    install development files (headers for libeiskaltdcpp) to <dir>
-DDESKTOP_ENTRY_PATH=<prefix for install> (default: /usr/local/share/applications/)
    .
-DPIXMAPS_ENTRY_PATH=<prefix for install> (default: /usr/local/share/pixmaps/)
    .
-DENABLE_STACKTRACE=ON/OFF (default: OFF)
    Show stacktrace when program receive SIGSEGV
-DDO_NOT_USE_MUTEX=ON/OFF (default: OFF)
    Do not use mutex. While Haiku and WINE do not support mutexes, this option
    is necessary for them.
-DCMAKE_BUILD_TYPE={Release, RelWithDebInfo, Debug, MinRelSize}
    build type (please use RelWithDebInfo for debug mode, not Debug)
And other standart cmake keys...

---------
# Example of the complete assembly:
mkdir -p builddir && cd builddir
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DUSE_QT=ON -DUSE_GTK=ON -DUSE_JS=ON -DUSE_ASPELL=ON -DFREE_SPACE_BAR_C=ON  -DCREATE_MO=ON -DLUA_SCRIPT=ON -DWITH_SOUNDS=ON -DWITH_LUASCRIPTS=ON -DUSE_MINIUPNP=ON -DLOCAL_MINIUPNP=ON ../
make
sudo make install


*******************************************************************************
Uninstall program
*******************************************************************************
sudo make uninstall


*******************************************************************************
FreeBSD specific notes
*******************************************************************************
# If you use GCC, specific configuration options are not required. But if you
# use clang, try something like this:
mkdir -p builddir && cd builddir
cmake -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_CXX_FLAGS='-I/opt/local/include -stdlib=libc++' -DNO_UI_DAEMON=ON -DXMLRPC_DAEMON=ON -DJSONRPC_DAEMON=ON -DUSE_QT=ON ..
make
sudo make install


*******************************************************************************
Mac OS X specific notes
*******************************************************************************
Examples of build scripts:
macosx/build-universal-binary.sh
macosx/build.sh


*******************************************************************************
MS Windows specific notes
*******************************************************************************
Instructions are available in the file: win32/READ_ME.txt


*******************************************************************************
Haiku specific notes
*******************************************************************************
To configure program use command like this:
+cmake -DLOCAL_BOOST=ON -DCMAKE_INSTALL_PREFIX=/boot/apps/Eiskaltdcpp -DFORCE_XDG=OFF -DSHARE_DIR=/boot/apps/Eiskaltdcpp ..
