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

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

We currently recommend Ubuntu Precise(12.04) or later.
A gfx-adapter with OpenGL acceleration is highly recommended and 24/32 
bitdepth is required 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
-----------------------------------------------------------------------------

   $ sudo apt-get install git-core
   $ cd $HOME
   $ git clone git://github.com/xbmc/xbmc.git xbmc

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

Two methods exist to install the required Ubuntu packages:

[NOTICE] For supported old 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 and build-depends PPAs:
   $ sudo apt-get install python-software-properties software-properties-common
   $ sudo add-apt-repository ppa:team-xbmc/unstable
   $ sudo add-apt-repository ppa:team-xbmc/xbmc-ppa-build-depends
   $ sudo apt-get update

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

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

*** Avoid using "aptitude" for the build-dep command. It doesn't resolve everything.

*** For developers and anyone else who compiles frequently it is recommended to use ccache
   $ sudo apt-get install ccache

*** A tip for those with multiple computers at home is to check out distcc (totally unsupported from xbmc 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 libenca-dev libflac-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libglew-dev libiso9660-dev libjasper-dev libjpeg-dev liblzo2-dev libmad0-dev libmicrohttpd-dev libmodplug-dev libmpeg2-4-dev libmpeg3-dev libmysqlclient-dev libnfs-dev libogg-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libsamplerate-dev libsdl-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsmbclient-dev libsqlite3-dev libssh-dev libssl-dev libtiff-dev libtinyxml-dev libtool libudev-dev libusb-dev libvdpau-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

On 8.10 and older versions, libcurl is outdated and thus XBMC 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.10
   $ sudo apt-get install libtag1-dev

For <= 12.04
We need a new version of taglib than what is available. 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

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
-----------------------------------------------------------------------------
$ sudo apt-get remove xbmc*

EOF

