diff --git a/docs/guide/from_source_code.textile b/docs/guide/from_source_code.textile new file mode 100644 index 0000000000000000000000000000000000000000..14a325c8c5982df99bef8c769f6ab8cac296acc7 --- /dev/null +++ b/docs/guide/from_source_code.textile @@ -0,0 +1,96 @@ +h2. Install Boost and libidn + +You have to have boost-devel and libidn-devel installed before compiling Swiften, otherwise it will compile against bundled version of Boost and libidn and Spectrum compilation will fail. + +h2. Install Swiften from git repository: + +
+git clone git://swift.im/swift
+cd swift
+git checkout swift-2.0beta1
+./scons V=1 swiften_dll=1 Swiften SWIFTEN_INSTALLDIR=/usr/local force-configure=1
+sudo ./scons V=1 swiften_dll=1 Swiften SWIFTEN_INSTALLDIR=/usr/local /usr/local
+
+ +*Note* - If the output of "./scons" command contains following during the configure stage, you don't have boost-devel or libidn-devel installed during the compilation and *Swiften won't work properly*: +
+Checking for C++ header file boost/signals.hpp... no
+....
+Checking for C library idn... no
+
+ +The proper configure script output looks like this: +
+scons: Reading SConscript files ...
+Checking whether the C++ compiler worksyes
+Checking whether the C compiler worksyes
+Checking for C library z... yes
+Checking for C library resolv... yes
+Checking for C library pthread... yes
+Checking for C library dl... yes
+Checking for C library m... yes
+Checking for C library c... yes
+Checking for C library stdc++... yes
+Checking for C++ header file boost/signals.hpp... yes
+Checking for C library boost_signals... yes
+Checking for C++ header file boost/thread.hpp... yes
+Checking for C library boost_thread... no
+Checking for C library boost_thread-mt... yes
+Checking for C++ header file boost/regex.hpp... yes
+Checking for C library boost_regex... yes
+Checking for C++ header file boost/program_options.hpp... yes
+Checking for C library boost_program_options... yes
+Checking for C++ header file boost/filesystem.hpp... yes
+Checking for C library boost_filesystem... yes
+Checking for C++ header file boost/system/system_error.hpp... yes
+Checking for C library boost_system... yes
+Checking for C++ header file boost/date_time/date.hpp... yes
+Checking for C library boost_date_time... yes
+Checking for C++ header file boost/uuid/uuid.hpp... yes
+Checking for C function XScreenSaverQueryExtension()... yes
+Checking for package gconf-2.0... yes
+Checking for C header file gconf/gconf-client.h... yes
+Checking for C library gconf-2... yes
+Checking for C header file libxml/parser.h... no
+Checking for C header file libxml/parser.h... yes
+Checking for C library xml2... yes
+Checking for C header file idna.h... yes
+Checking for C library idn... yes
+Checking for C header file readline/readline.h... yes
+Checking for C library readline... yes
+Checking for C header file avahi-client/client.h... yes
+Checking for C library avahi-client... yes
+Checking for C library avahi-common... yes
+Checking for C header file openssl/ssl.h... yes
+
+ +Note that you have to have at least Python 2.5 to build Swiften. + +h2. Install Google protobuf + +In Fedora, you just have to install following packages: + +
+sudo yum install protobuf protobuf protobuf-devel
+
+ +h2. Install Libpurple for libpurple backend + +You should definitely have latest libpurple, so download Pidgin and compile it, because your distribution probably doesn't have the latest one. + +h2. Install libCommuni for libCommuni IRC backend + +The instructions are defined on "libCommuni wiki":https://github.com/communi/communi/wiki. + +h2. Install Spectrum 2 + +
+git clone git://github.com/hanzz/libtransport.git
+cd libtransport
+cmake . -DCMAKE_BUILD_TYPE=Debug
+make
+
+ +Before running make, check cmake output if the supported features are OK for you. If not, install libraries needed by Spectrum to provide specific feature. + +You can also install spectrum using "sudo make install"