Fixed: Also check for the day prior to the epoch to account for timezone issues when...
[xbmc:xbmc-antiquated.git] / README.linux
1 TOC
2 1. Introduction
3 2. Getting the source code
4 3. Installing the required libraries and headers
5 4. How to compile
6 5. How to run
7 6. Uninstalling
8
9 -----------------------------------------------------------------------------
10 1. Introduction
11 -----------------------------------------------------------------------------
12
13 A gfx-adapter with OpenGL acceleration is highly recommended and 24/32 bitdepth
14 is required with OpenGL.
15
16 NOTE TO NEW LINUX USERS: All lines that are prefixed with the '$'
17 character are commands that need to be typed into a terminal window /
18 console (similar to the command prompt for Windows). Note that the '$'
19 character itself should NOT be typed as part of the command.
20
21
22 -----------------------------------------------------------------------------
23 2. Getting the source code
24 -----------------------------------------------------------------------------
25
26 You will have to grab the source code of course. First install the subversion
27 package provided by your distribution. Then from a terminal, type:
28
29    $ cd $HOME
30    $ svn checkout http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk xbmc
31
32 -----------------------------------------------------------------------------
33 3. Installing the required libraries and headers
34 -----------------------------------------------------------------------------
35
36 You will then need the required libraries. The following is the list of packages
37 that are used to build XBMC packages on Debian/Ubuntu (with all supported
38 external libraries enabled).
39
40 Build-Depends: debhelper (>= 7.0.50~), python-support, cmake,
41  autotools-dev, autoconf, automake, unzip, libboost-dev, zip, libtool,
42  libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev, libglew-dev,
43  libmad0-dev, libjpeg-dev, libsamplerate-dev, libogg-dev, libvorbis-dev,
44  libfreetype6-dev, libfontconfig-dev, libbz2-dev, libfribidi-dev,
45  libsqlite3-dev, libmysqlclient-dev, libasound-dev, libpng12-dev | libpng-dev,
46  libpcre3-dev, liblzo2-dev, libcdio-dev, libsdl-dev, libsdl-image1.2-dev,
47  libsdl-mixer1.2-dev, libenca-dev, libjasper-dev, libxt-dev, libxtst-dev,
48  libxmu-dev, libxinerama-dev, libcurl4-gnutls-dev | libcurl-dev,
49  libdbus-1-dev, libhal-storage-dev, libhal-dev, libpulse-dev,
50  libavahi-common-dev, libavahi-client-dev, libxrandr-dev, libavcodec-dev,
51  libavformat-dev, libavutil-dev, libpostproc-dev, libswscale-dev,
52  libmpeg2-4-dev, libass-dev (>= 0.9.8), libmpcdec-dev, libflac-dev,
53  libwavpack-dev, python-dev, gawk, gperf, nasm [!amd64], libcwiid1-dev,
54  libbluetooth-dev, zlib1g-dev, libmms-dev (>= 0.4), libsmbclient-dev,
55  libfaad-dev, libiso9660-dev, libssl-dev, lsb-release, libvdpau-dev, libmicrohttpd-dev,
56  libmodplug-dev, librtmp-dev, libcrystalhd-dev, curl
57
58 *** For developers and anyone else who compiles frequently it is recommended to
59 use ccache
60
61 --------------------------------------------------------------
62 3.1. Using the XBMC PPA to get all build dependencies (Debian/Ubuntu only)
63 --------------------------------------------------------------
64
65 For this, you need to specify the PPA in your apt sources. Please find them on
66 the forum.
67
68 http://forum.xbmc.org/showthread.php?t=33327
69
70 Update apt:
71    $ sudo apt-get update
72
73 Here is the magic command to get the build dependencies (used to compile the
74 version on the PPA).
75    $ sudo apt-get build-dep xbmc
76
77 -----------------------------------------------------------------------------
78 4. How to compile
79 -----------------------------------------------------------------------------
80
81 To create the XBMC executable manually perform these steps:
82
83 .0  $ ./bootstrap
84
85 .1  $ ./configure <option1> <option2> ... (See --help for available options)
86
87 A full listing of supported options can be viewed by typing
88 './configure --help'.
89
90 .2  $ make
91
92 Tip: by adding -j<number> to the make command, you describe how many
93      concurrent jobs will be used. So for dualcore the command is: 
94
95     $ make -j2
96
97 .3  $ make -C lib/addons/script.module.pil
98
99 .4  $ make -C lib/addons/script.module.pysqlite
100     
101 .5  $ make install
102
103 This will install XBMC in the prefix provided in 4.1 as well as a launcher script.
104
105 NOTE: You may need to run this with sudo (sudo make install) if your user
106 doesn't have write permissions to the prefix you have provided (as in the
107 default case, /usr/local).
108
109 Tip: To override the location that XBMC is installed, use PREFIX=<path>.
110 For example.
111
112     $ make install DESTDIR=$HOME/xbmc
113
114 -----------------------------------------------------------------------------
115 5. How to run
116 -----------------------------------------------------------------------------
117 How to run xbmc depends on the type of installation you have done. It is
118 possible to run XBMC without the requirement to install xbmc anywhere else. In
119 this case, type the following from the top source directory.
120
121     $ ./xbmc.bin
122
123 If you chose to install XBMC using '/usr' or '/usr/local' as the PREFIX, you
124 can just issue 'xbmc' in a teminal session.
125
126 If you overridden PREFIX to install XBMC into some non-standard location, you
127 will have to run xbmc by directly running 'xbmc.bin'. For example.
128
129     $ $HOME/xbmc/usr/share/xbmc.bin
130
131 If you wish to use VDPAU decoding you will now have to change the Render Method
132 in Settings->Videos->Player from "Auto Detect" to "VDPAU".
133
134 -----------------------------------------------------------------------------
135 6. Uninstalling
136 -----------------------------------------------------------------------------
137 Issue "make uninstall"  ("sudo make uninstall" if you user doesn't have write
138 permission to the install directory) from your source tree. If you would like
139 to also remove any settings and 3rd party addons (skins, scripts, etc) you
140 should also run "rm -rf ~/.xbmc".
141
142 NOTE: If you have rerun configure with a different prefix, you will either need
143 to rerun configure with the correct prefix for this step to work correctly.
144
145 EOF
146