TOC
1. Introduction
2. Getting the source code
3. Installing the required Ubuntu packages
4. How to compile
5. Uninstalling

-----------------------------------------------------------------------------
1. Introduction
-----------------------------------------------------------------------------

A graphics-adapter with OpenGL acceleration is highly recommended.
24/32 bitdepth is required along with OpenGL.

Note to new Linux users.
All lines that are prefixed with the '$' character are commands, that need to be typed
into a terminal window / console (similar to the command prompt for Windows).
Note that the '$' character itself should NOT be typed as part of the command.

-----------------------------------------------------------------------------
2. Getting the source code
-----------------------------------------------------------------------------

.0  $ cd $HOME
.1  $ git clone git://github.com/xbmc/xbmc.git kodi

Note: You can clone any specific branch.

.1  $ git clone -b <branch> git://github.com/xbmc/xbmc.git kodi

-----------------------------------------------------------------------------
3. Installing the required Ubuntu packages
-----------------------------------------------------------------------------

Two methods exist to install the required Ubuntu packages:

[NOTICE] For supported older Ubuntu versions, some packages might be outdated.
         For those, you can either compile them manually, or use our backports
         available from our official stable PPA:

         http://launchpad.net/~team-xbmc/+archive/ppa

-----------------------------------------------------------------------------
3a. Use a single command to get all build dependencies
-----------------------------------------------------------------------------
[NOTICE] Supported on Ubuntu >= 11.10 (oneiric)

You can get all build dependencies used for building the packages on the PPA

Add the unstable PPA:

For <= 12.04 lts:
    $ sudo apt-get install python-software-properties
    $ sudo add-apt-repository ppa:team-xbmc/xbmc-nightly

For >= 14.04 lts:
    $ sudo apt-get install software-properties-common
    $ sudo add-apt-repository -s ppa:team-xbmc/xbmc-nightly 

Add build-depends PPA:
    $ sudo add-apt-repository ppa:team-xbmc/xbmc-ppa-build-depends

Here is the magic command to get the build dependencies (used to compile the version on the PPA).
    $ sudo apt-get update
    $ sudo apt-get build-dep kodi

Optional: If you do not want Kodi to be installed via PPA, you can removed the PPAs again:
    $ sudo add-apt-repository -r ppa:team-xbmc/xbmc-nightly
    $ sudo add-apt-repository -r ppa:team-xbmc/xbmc-ppa-build-depends

Note: Do not use "aptitude" for the build-dep command. It doesn't resolve everything properly.
      For developers and anyone else who compiles frequently it is recommended to use ccache
    $ sudo apt-get install ccache

Tip: For those with multiple computers at home is to try out distcc
    (fully unsupported from Kodi of course)
    $ sudo apt-get install distcc

-----------------------------------------------------------------------------
3b. Alternative: Manual dependency installation
-----------------------------------------------------------------------------

For Ubuntu (all versions >= 7.04):

    $ sudo apt-get install automake bison build-essential cmake curl cvs default-jre fp-compiler gawk gdc gettext git-core gperf libasound2-dev libass-dev libboost-dev libboost-thread-dev libbz2-dev libcap-dev libcdio-dev libcurl3 libcurl4-gnutls-dev libdbus-1-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libgif-dev libglew-dev libiso9660-dev libjasper-dev libjpeg-dev liblzo2-dev libmicrohttpd-dev libmodplug-dev libmpeg2-4-dev libmpeg3-dev libmysqlclient-dev libnfs-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libsdl2-dev libsmbclient-dev libsqlite3-dev libssh-dev libssl-dev libtiff-dev libtinyxml-dev libtool libudev-dev libusb-dev libva-dev libvdpau-dev libvorbis-dev libvorbisenc2 libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount python-dev python-imaging python-sqlite swig unzip yasm zip zlib1g-dev

For >= 10.10:
    $ sudo apt-get install autopoint libltdl-dev

For >= 12.04 lts: Backport for Precise of libyajl2
	& sudo-add-apt-repository ppa:team-xbmc/xbmc-nightly
	& sudo apt-get install libyajl-dev
	
For >= 12.10:
	$ sudo apt-get install libtag1-dev

On 8.10 and older versions, libcurl is outdated and thus Kodi will not compile properly.
In this case you will have to manually compile the latest version.
    $ wget http://curl.sourceforge.net/download/curl-7.19.7.tar.gz
    $ tar -xzf curl-7.19.7.tar.gz
    $ cd curl-7.19.7
    $ ./configure --disable-ipv6 --without-libidn --disable-ldap --prefix=/usr
    $ make
    $ sudo make install

For <= 12.04
Kodi needs a new version of taglib other than what is available at this time.
We supply a Makefile in lib/taglib to make it easy to install into /usr/local.
    $ sudo apt-get remove libtag1-dev
    $ make -C lib/taglib
    $ sudo make -C lib/taglib install

or use prepackaged from the Kodi PPA.

    $ sudo apt-get install libtag1-dev

Unless you are proficient with how Linux libraries and versions work, do not
try to provide it yourself, as you will likely mess up for other programs.

-----------------------------------------------------------------------------
4. How to compile
-----------------------------------------------------------------------------
See README.linux

-----------------------------------------------------------------------------
4.1. Test Suite
-----------------------------------------------------------------------------
See README.linux

-----------------------------------------------------------------------------
5. Uninstalling
-----------------------------------------------------------------------------
Remove any PPA installed Kodi.
    $ sudo apt-get remove kodi* xbmc*

See README.linux/Uninstalling for removing compiled versions of Kodi.
EOF
