-------- Compatibility ----------------------------------

The toolbox should work and compile on all versions of Octave later
than version 3.4, but it is generally recommended to upgrade Octave to 
the latest stable release. For demos etc. to work, you will need
to install some of the Octave-forge packages.

All versions of LTFAT from 1.4.2 are also itself an Octave-forge package 
and the easiest way to install the toolbox is by typing the command

pkg install -forge ltfat

on the Octave prompt, which downloads LTFAT directly from the 
Octave-forge and compiles everything. This was tested on Linux, on
Windows with MXE-Octave and Mac X unsing Octave from Homebrew.
Since you are reading this, you have probably downloaded LTFAT from
elsewhere and you want to compile sources by yourself. 

-------- What can be compiled -------------------------------

- Static backend libraries libltfat.a, libltfatf.a

- Fast Oct-interfaces linking to the backend libraries and some
  additional MEX files.

Block processing framework (optional, experimental)

- Mex-interface playrec

- Java classes for blockproc GUI

------------------------------------------------------------------------
-------- Compiling backend libs and the Octave interfaces  -------------
------------------------------------------------------------------------

LTFAT comes with C++ Octave interfaces to replace (shadow) all 
computationally intensitive functions in the toolbox.

To compile the Octave interfaces, type "ltfatmex" on the Octave
command prompt. This will compile the LTFAT C library and all the
available oct-functions.

LTFAT backend lib and Oct-interfaces depends on the following
libraries: FFTW3, BLAS, LAPACK, which are usually distributed with
Octave itself, so there is no need for installing them separately.

--------- Compiling on MacOS ------------------------------------------

The GCC compiler is needed to compile the LTFAT on Mac OS X. When the 
Xcode Command Line Tools are installed the compilation of the LTFAT should
work without any problem. Alternatively, Clang could be used to compile
the LTFAT. The BLAS, LAPACK and FFTW libraries are taken directly from 
the Octave installation and doesn’t have to be installed separately.

--------- Compiling on Microsoft Windows ------------------------------

Currently, there is no direct way of compiling ltfat on MXE-Octave.
Please use the Octave-forge package.

--------- Compiling on Linux ----------------------------------------

To compile, you must have installed the Octave development package and
all its dependencies (the 'mkoctfile' script must be available).
This will also install all necessary libraries and header files needed
for compilation.

* On Fedora / Redhat this package is called "octave-devel"

* On Debian / Ubuntu this package is called "octave-headers"

Install the octave-forge packages to add extra toolboxes available for
Octave.

---------------------------------------------------------------------------
-------- Compiling parts for the block processing framework ———------------
---------------------------------------------------------------------------

Everything should be already compiled if you have downloaded the binary release.

In order to get the block processing framework working from the source, one
has to compile the MEX-interface playrec and the JAVA GUI classes. This can be
done by typing

"ltfatmex playrec" and "ltfatmex java".

Playrec MEX depends on the PORTAUDIO library, which has to be installed on your
system prior running the commands. Compiling JAVA classes requires Java Development
Kit to be installed. From Octave 3.8.0 the JAVA package is part of core Octave, so it
doesn’t have to be installed separately.

NOTE: Compiled Java classes (packed in blockproc.jar) are platform independent
so compiling it and installing JDK can be avoided by taking the archive from any
binary LTFAT package (from ltfat/blockproc/java).


--------- Compiling on Mac ------------

It is recommended to compile PortAudio v19 to use with the block 
processing framework. PortAudio v19 only compiles on OS X version 10.4 or
later. For any version of Octave older than 3.8.0 the JAVA package should
be installed which requires the Java Development Kit to be installed. 
The Java Development Kit could be downloaded through the Apple Developer 
Downloads.

--------- Compiling on Microsoft Windows --------------------------

Currently, there is no direct way of compiling ltfat on MXE-Octave.
Please use the Octave-forge package.

--------- Compiling on Linux ------------------------------------

- On Redhat / Fedora, TBD

- On Debian / Ubuntu, install the packages 'portaudio19-dev', 'openjdk-7-jdk' 

