/*! \page installation Installation
Currently SHOGUN has been confirmed to be <b>fully functional</b> on PowerPC,
i386 and AMD64 Linux (tested on debian/ubuntu and gentoo).  We also managed
to compile SHOGUN on MacOSX and via cygwin on WIN32 platforms. However some
manual tweakings of configuration files might be necessary.

\section from_package From a Package
SHOGUN is currently pre-packaged for debian (see http://www.debian.org) and
available on MacOSX via macports (see http://www.macports.org )

\subsection on_debian Installation on Debian/Ubuntu
On debian, depending on the interface you want, install the package(s)

\verbatim
libshogun-dev         - for C++ developers building extensions using
                        libshogun
shogun-csharp-modular - for the modular csharp interface
shogun-lua-modular    - for the modular lua interface
shogun-java-modular   - for the modular java interface
shogun-octave-static  - for the static octave interface
shogun-octave-modular - for the modular octave interface
shogun-python-static  - for the static python interface
shogun-python-modular - for the modular python interface
shogun-r-static       - for the static r interface
shogun-ruby-modular   - for the modular ruby interface
shogun-cmdline-static - for the static command-line interface.
shogun-elwms-static   - for the static eierlegende wollmilchsau interface
                        (one interface to r/python/octave allowing
						to run commands in non-native languages)
shogun-doc            - for the documentation
\endverbatim

\subsection on_osx Installation on MacOSX

The mac port is provided by James Kyle (Thanks!!) and makes installations on
OSX as easy as under linux. To install shogun you will need macports (see
http://www.macports.org). Then issue

\verbatim
sudo port selfupdate

sudo port install swig -php5 -ruby -perl +python
  (shogun users who want the r and octave interfaces should add
  +octave and/or +r to this list)

sudo port install shogun
  (for r, octave, and elwms interfaces: +r +octave +elwms)
\endverbatim

Add \verbatim DYLD_FALLBACK_LIBRARY_PATH=${macports_prefix}/lib \endverbatim
to your shell profile. *Tip* the default ${macports_prefix} is /opt/local/. In
that case, the  library path would be /opt/local/lib.


\section from_source Installing SHOGUN from Source

Download SHOGUN from http://www.shogun-toolbox.org , aswell as its requirements.

\subsection requirements Requirements

SHOGUN requires the standard linux utils like bash, grep, test, sed, cut, ldd,
uname gcc g++ and cat python (debian package: python2.4 or python2.5)
for the ./configure to work.

Optionally you will need atlas and lapack (debian packages lapack3-dev, 
atlas3-headers atlas3-base-dev or atlas3-altivec-dev atlas3-sse2-dev)
installed. Note that atlas/lapack is only supported under linux (high
performance computing should be done under linux only anyway). In case
atlas/lapack is unavailable, don't worry most of shogun will work without, though
slightly slower versions are used. To enable Multiple %Kernel Learning with
CPLEX(tm) just make sure cplex can be found in the PATH. If it is not found
shogun will resort to GLPK (if version at least 4.29 is found) for 1-norm MKL,
p-norm MKL with p>1 will work nonetheless.

\li To compile the C# interface you need to have the C# developer files 
(debian package mono-utils) installed.

\li To compile the Lua interface you need to have the Lua developer files 
(debian package lua) installed.

\li To compile the Java interface you need to have the Java developer files 
(debian package openjdk-6-jdk) installed.

\li To compile the R interface you need to have the R developer files 
(debian package r-base-dev) installed.

\li To compile the Ruby interface you need to have the Ruby developer files 
(debian package ruby) installed.

\li To compile the octave interface you need to have the octave developer files 
(debian package octave3.0-headers) installed.

\li To compile the python interface you need to have numpy version 1.x installed 
(debian package python-numpy) installed.

\section compiling_shogun Compiling SHOGUN

\subsection most_platforms: General
On most platforms (Linux,MacOSX,cygwin) it is sufficient to issue

\verbatim
./configure
make
sudo make install
\endverbatim

In case you just want to compile for a single interfaces you can use
\verbatim
./configure --interfaces=libshogun,libshogunui,<interface>
make
sudo make install
\endverbatim

where \b interface is one of the following

\li python_static or python_modular -- for python (see http://www.python.org)

\li octave_static or octave_modular -- for octave (see http://www.octave.org)

\li r_static or r_modular -- for r (see http://www.r-project.org).

\li java_modular -- for java (see http://www.java.com).

\li lua_modular -- for lua (see http://www.lua.org).

\li ruby_modular -- for ruby (see http://ruby-lang.org/).

\li csharp_modular -- for csharp (see http://www.csharp-station.com/).

\li matlab_static -- for matlab (see http://www.mathworks.com)

\li libshogun_static -- for for regular shogun library

(you don't need to compile libshogunui in case you compile a modular interface)

However, just running 
\verbatim ./configure\endverbatim
will autodetect and configure for the available interfaces.

Call
\verbatim./configure --help \endverbatim
to see the list of additional options detailed below.
\verbinclude Configure.generated

If this does not work for you, consult the INSTALL file for platform specific
build instructions. The INSTALL file is contained in the shogun src distribution and quoted below.
\verbinclude INSTALL

*/
