Notice of delineation from standardised building process
The dependency installation from tools/rbp/depends in the XBMC source does not correctly install the necessary dependencies nor does it list all of them. However, we can obtain all the build depends from the apt repository in Debian. Simply one needs to dpkg -x into bcm-rootfs/. After this, a tarball was created to encapsulate all these libraries.
Libraries such as libshairport were compiled with make -C depends/libshairport and the SOs obtained from the output directory.
librtmp 2.4+git is used to allow better RTMP (type 9 handshake) support.
Building XBMC requires the Raspbmc builders root filesystem. You can learn more about that here
Checking out the XBMC source
XBMC is built from the xbmc-rbp tree of XBMC on Github, and can be obtained with:
git clone https://github.com/xbmc/xbmc
Alternatively, the latest revision can be obtained in tarball format from here, however it is better to use git clone for multiple building as ccache will be easier to use.
Patching the XBMC source
You should patch the XBMC source with the Raspbmc XBMC patch, which configures the build script to set environment variables correctly and makes any other adjustments. The patches are available here. You can then apply them as such:
wget http://svn.stmlabs.com/svn/raspbmc/patches/XBMC-hardfp/patch_xbmc.sh sh patch_xbmc.sh
XBMC is built using a cross-toolchain. Building does not take a particularly long time.
Now we need to bootstrap & configure XBMC:
sh /path/to/xbmc/source/tools/rbp/setup-sdk.sh make -C /path/to/xbmc/source/tools/rbp/depends/xbmc
Now we can build (multiprocessor recommended):
cd /path/to/xbmc/source make -jX
XBMC can be easily packaged for Raspbmc with the create tarball script. This also installs the PVR addons
Now, run the script as follows:
make install sh create_tarball.sh
Installing your build
With your xbmc-rbp tarball FTPd to your home directory, the following commands will suffice for installing and launching the new XBMC:
sudo initctl stop xbmc sudo tar -xzf xbmc-rbp*.tar.gz -C /opt sudo initctl start xbmc
Be sure to check system information for build date details to verify you are running your build.