xref: /xbmc/
NameDateSize

..16-Mar-201612 KiB

.dummy.am29-Dec-201298

.gitignore29-Dec-201229.4 KiB

addons/14-Feb-20124 KiB

bootstrap29-Dec-2012379

build-aux/29-Dec-20124 KiB

configure.in29-Dec-201259.8 KiB

CONTRIBUTORS29-Dec-2012180

copying.txt29-Dec-201217.9 KiB

docs/14-Feb-20124 KiB

doxygen_resources/29-Dec-20124 KiB

gitrev.sh29-Dec-2012278

keymapping.txt29-Dec-20124.7 KiB

language/14-Feb-20124 KiB

lib/29-Dec-20124 KiB

LICENSE.GPL29-Dec-201215.1 KiB

Makefile.in29-Dec-201222.9 KiB

Makefile.include.in29-Dec-20124 KiB

media/29-Dec-20124 KiB

project/14-Feb-20124 KiB

README.armel29-Dec-201211.4 KiB

README.ios29-Dec-20123.5 KiB

README.linux29-Dec-20125.6 KiB

README.osx29-Dec-20125.8 KiB

README.ubuntu29-Dec-20124.8 KiB

sounds/14-Feb-20124 KiB

system/29-Dec-20124 KiB

tools/29-Dec-20124 KiB

userdata/29-Dec-20124 KiB

xbmc/29-Dec-20124 KiB

XBMC-ATV2.xcodeproj/29-Dec-20124 KiB

XBMC-IOS.xcodeproj/29-Dec-20124 KiB

xbmc-xrandr.c29-Dec-201264.2 KiB

XBMC.xcodeproj/29-Dec-20124 KiB

README.armel

1TOC
21. Introduction
32. Using Scratchbox
4	2.1 Automatic Installation
5	2.2 Manual Installation
6	2.3 Installation Continued for both Automatic and Manual Methods
7	2.4 Setup Scratchbox
83. Getting the source code
94. Installing the required ARMEL packages
105. Obtaining the SGX files
116. How to compile
12	6.1 Configure & Make
13	6.2 Install
147. How to run
15	7.1 Obtaining the Packages
16	7.2 Installing the Files
17	7.3 Running XBMC
188. Troubleshooting
19
20
21-----------------------------------------------------------------------------
221. Introduction
23-----------------------------------------------------------------------------
24
25This is a port of XBMC for use on ARM Architecture.
26As this is not an official version of XBMC, in-depth testing on various setups has not been done. USE WITH CAUTION!
27For the purpose of this port, the following Hardware and Software was used.
28Software: Scratchbox (cross-compiler) on a Linux (Ubuntu) machine.
29Hardware: BeagleBoard (ARM Cortex-A8 with IMG POWERVR SGX).
30The source code is based on XBMC for Linux - version 9.11 (Camelot).
31
32All lines that are prefixed with the '$' character are commands that need to be typed into a standard linux terminal
33All lines that are prefixed with the '>' character are commands that need to be typed into scratchbox
34All lines that are prefixed with the '#' character are commands that need to be typed into a terminal on the beagleboard
35
36
37-----------------------------------------------------------------------------
382. Using Scratchbox
39-----------------------------------------------------------------------------
40
41First, you need scratch box, along with some other packages.
42The easiest way is to do the following automatic installation.
43If you dont succeed, or want to do it manually, follow the next step instead.
44
45	-----------------------------------------------------------------------------
46	2.1 Automatic Installation:
47	-----------------------------------------------------------------------------
48
49		$ sudo gedit /etc/apt/sources.list
50		
51	Add this to the end of the file, then save and exit gedit:
52		deb http://scratchbox.org/debian stable main
53		deb http://scratchbox.org/debian legacy main
54		
55	Now enter the following command:
56		$ sudo apt-get install scratchbox-core scratchbox-libs scratchbox-devkit-cputransp scratchbox-devkit-git scratchbox-devkit-mtd scratchbox-devkit-perl scratchbox-devkit-doctools scratchbox-toolchain-arm-linux-cs2007q3-51sb3 scratchbox-toolchain-host-gcc scratchbox-devkit-debian
57
58	-----------------------------------------------------------------------------
59	2.2 Manual Installation:
60	-----------------------------------------------------------------------------
61
62	Go to the following website:
63		http://www.scratchbox.org/download/files/sbox-releases/stable/tarball/
64	and download the following files (Unless specified, choose latest version):
65	- core
66	- libs
67	- cputransp
68	- doctools
69	- git
70	- mtd
71	- perl
72	- toolchain (cs2007q3-51sb3)
73	- host-gcc
74	- debian
75
76	To install
77		$ cd /
78		$ sudo tar xvf /<location of files>/scratchbox-core.tar.gz
79
80	Repeat for all the downloaded files.
81
82	-----------------------------------------------------------------------------
83	2.3 Installation Continued for both Automatic and Manual Methods:
84	-----------------------------------------------------------------------------
85
86	Now, a few changes needs to me made in order for it to work correctly:
87		$ sudo gedit /etc/sysctl.conf
88		
89	Change/Add these variables:
90		vm.mmap_min_addr = 4096
91        vm.vdso_enabled = 0
92	Save and Close.
93
94	Add yourself to scratchbox:
95		$ sb-adduser <username>
96		
97	Make sure it worked by doing the following command, and see if sbox is listed.
98		$ groups
99
100	If it isnt listed, restart and try again. If it still isnt listed, then do the following:
101		$ usermod -a -G sbox <username>
102		
103	It should now list (possibly after another logout)
104	Now you have access to scratchbox.
105	
106	-----------------------------------------------------------------------------
107	2.4 Setup Scratchbox:
108	-----------------------------------------------------------------------------
109	
110	Before setting up your target, you need a rootstrap. Obtain the latest rootstrap from:
111		http://linux.onarm.com/download/images/generic-X/
112	You want to download the file 'beagleboard-<date>-rootstrap.tar.gz'.
113
114	Do this every time you want to access scratchbox:
115		$ /scratchbox/login
116	
117	Time to setup your target:
118		> sb-menu
119	
120	A GUI will appear for the setup procedure.
121	    - Choose Setup
122	    - Create a NEW target, give it any name
123	    - Select the compiler you downloaded (arm-linux-cs2007q3-51sb3)
124	    - Select all development kits listed by highlighting each one and pressing enter, then Done and enter
125	    - Select CPU transparency (qemu-arm-cvs-m)
126	    - Yes to rootstrap. Locate the previously downloaded rootstrap to install.
127	    - Yes to install files
128	    - Only select DEVKIT and ETC. Remove all other files in list, then continue
129	    - And finally Yes to selecting target.
130
131	Now scratchbox is setup
132
133	
134-----------------------------------------------------------------------------
1353. Getting the source code
136-----------------------------------------------------------------------------
137
138   $ sudo apt-get install git-core
139   $ cd /scratchbox/users/<username>/home/<username>/
140   $ git clone git://github.com/xbmc/xbmc.git
141
142   
143-----------------------------------------------------------------------------
1444. Installing the required ARMEL packages
145-----------------------------------------------------------------------------
146
147There is a simple shell script that downloads a list of packages that are required and installs them into scratchbox.
148
149  > cd tools/arm/arm-scripts/
150  > ./install-pkgs.sh
151  
152Please check the output files for any possible errors that may have occured.
153
154Note. You will need the headers and shared object files for EGL and GLESv2 to continue.
155
156
157-----------------------------------------------------------------------------
1585. Obtaining the SGX files
159-----------------------------------------------------------------------------
160
161In order to continue, you will need the SGX SDK from TI's website.
162Once you have installed said SDK on a standard Linux machine, copy the neccessary .h and .so files to the appropriate directories in scratchbox:
163e.g /scratchbox/users/<username>/targets/<target_name>/usr/include/EGL/egl.h
164These files will also need to be transferred over to the board eventually.
165NOTE: XBMC has only been tested with the following versions of the OMAP35x Graphics SDK:
1663.00.00.05, 3.00.00.06, 3.00.00.08, 3.00.00.09
167
168
169-----------------------------------------------------------------------------
1706. How to compile
171-----------------------------------------------------------------------------
172
173To create the XBMC executable manually perform these following steps:
174
175	-----------------------------------------------------------------------------
176	6.1 Configure & Make:
177	-----------------------------------------------------------------------------
178	
179        $ ./bootstrap
180	    > ./configure --enable-gles
181
182    This will configure XBMC inside scratchbox ready for compilation on ARM.
183    Because the default is to build for OpenGL, we require the --enable-gles flag to be set for OpenGL ES 2.0.
184    (Note: No OpenGL ES 1.x available)
185	Now, build with the following:
186	
187		> make
188	
189	-----------------------------------------------------------------------------
190	6.2 Install:
191	-----------------------------------------------------------------------------
192
193	There is no need to do 'make install' as we dont want it installed into scratchbox.
194	There is also the slight problem of the fact that scratchbox's 'find' command is outdated and wont execute xbmc's 'make install' correctly.
195	Instead, use the provided shell script:
196		> cd /tools/arm/arm-scripts/
197		> ./create-xbmcfile.sh
198		
199	This will create a tar file tools/arm/arm-scripts/xbmc.tar.bz2 containing the xbmc files, ready for you to transfer to the board.
200
201
202-----------------------------------------------------------------------------
2037. How to run
204-----------------------------------------------------------------------------
205
206It is assumed you have a beagleboard with all the neccessary hardware installed.
207(e.g keyboard, mouse, and ethernet adapter)
208It is also assumed that you have it setup with either Angstrom or Ubuntu.
209
210	-----------------------------------------------------------------------------
211	7.1 Obtaining the Packages:
212	-----------------------------------------------------------------------------
213
214	For Ubuntu: See README.linux for list of packages to install.
215	If planning on not extracting the pkgs file, a few additional packages are required to be installed.
216	These are python and liblzo2
217
218	For Angstrom:
219		# opkg update
220		# opkg install subversion make g++ gcc gawk pmount libtool automake gperf unzip bison libsdl-1.2-dev libsdl-image-1.2-dev libsdl-gfx-dev libsdl-mixer-1.2-dev libfribidi-dev liblzo-dev libfreetype-dev libsqlite3-dev libasound2 python-sqlite3 libcurl4 libxrandr-dev libxrender-dev libmad-dev libogg-dev libvorbis-dev libmysqlclient-dev libpcre-dev libdbus-glib-1-dev hal-dev libjasper-dev libfontconfig-dev boost-dev libxt-dev libxmu-dev libpng-dev libjpeg-dev libsamplerate0-dev
221	
222	Unfortunately this will only install the packages that are available through opkg. There will be further packages that need to be installed.
223	Either use the method mentioned below, or selectively find and install packages, mentioned at the bottom of this README.
224
225	Alternatively, do the following:
226	First make sure you have done section 4. then do the following:
227		> cd xbmc_on_arm/arm-scripts/
228		> ./create-pkgsfile.sh
229
230	This will create a tar file xbmc_on_arm/arm-scripts/pkgs.tar.bz2 containing the packages, ready for you to transfer to the board.
231
232	-----------------------------------------------------------------------------
233	7.2 Installing the Files:
234	-----------------------------------------------------------------------------
235
236	Transfer the file(s), armel-pkgs.tar.bz2 (if using alternative method mentioned above) and xbmc.tar.bz2 to the beagleboard.
237	Do the following to extract them:
238		# tar xjf armel-pkgs.tar.bz2 -C /
239		# tar xjf xbmc.tar.bz2 -C /usr/
240
241	After this initial setup, during development, you should only need to replace /usr/share/xbmc/xbmc.bin with the newly created binary.
242	
243	-----------------------------------------------------------------------------
244	7.3 Running XBMC:
245	-----------------------------------------------------------------------------
246
247	Now, run XBMC by executing the binary:
248		# /usr/share/xbmc/xbmc.bin
249		
250	Run the binary and not the script as the script will fail.
251	
252	
253-----------------------------------------------------------------------------
2548. Troubleshooting
255-----------------------------------------------------------------------------
256	
257If it fails to run correctly, there are a few things to try out.
258First, is there any helpful output on the terminal?
259Check the log file, usually located ~/.xbmc/temp/xbmc.log
260It may have failed because of a missing package.
261If so, you will need to download the appropriate armel package from packages.debian.org,
262Extract the files with the command: dpkg-deb -x packagename.deb /path/to/extract/to
263Then tarball the extracted files: tar cjf pkg.tar.bz2 /path/to/extracted/files
264Then transfer them to the board, and extract: tar xjf pkg.tar.bz2
265This is because the .deb files cannot be extracted in Angstrom.
266
267If this is not the case, try various different parameters for xbmc.bin such as:
268xbmc.bin --standalone
269xbmc.bin -p
270xbmc.bin -fs
271Or build with debug for a more in-depth xbmc.log file by ommitting the line --disable-debug on configure.
272
273Feel free to contact me on mcgeagh@xbmc.org
274

README.ios

1TOC
21. Introduction
32. Getting the source code
43. Install required libs
5  3.1. Install Xcode
6  3.2. Install Cross libs and runtime environment
74. How to compile and run
8	4.1 Using XCode
9	4.2 Using Command line
105. Gesture Handling on iPad/iPhone/iPod touch
11
12-----------------------------------------------------------------------------
131. Introduction
14-----------------------------------------------------------------------------
15
16This is a platform port of XBMC for the Apple iOS operating system. 
17The current build system is Xcode 3.2.5 and iOS SDK 4.2 
18There are two ways to build XBMC for Mac.
19
201) command-line or
212) Xcode.
22
23Generally, Xcode is the easiest as it presents the build system in a GUI environment.
24The command-line build is still under development.
25
26XBMC for Mac is composed of a main binary with numerous dynamic libraries and
27codecs that support a multitude of music and video formats.
28
29NOTE TO NEW OS X USERS: All lines that are prefixed with the '$' character are
30commands that need to be typed into a Terminal window. Note that the '$'
31character itself should NOT be typed as part of the command.
32
33
34-----------------------------------------------------------------------------
352. Getting the source code
36-----------------------------------------------------------------------------
37
38 $ cd $HOME
39 $ git clone git://github.com/xbmc/xbmc.git xbmc
40
41-----------------------------------------------------------------------------
423.0 Install Xcode
43-----------------------------------------------------------------------------
44Install latest Xcode. You can download it from Apple's site after registration at
45(http://developer.apple.com/tools/download). 
46The preferred version is Xcode 3.2.5 and iOS SDK 4.2.
47
48-----------------------------------------------------------------------------
493.1 Install Cross libs and runtime environment
50-----------------------------------------------------------------------------
51
52 $ cd $HOME/XBMC
53 $ sudo mkdir -p /usr/local/bin; sudo cp tools/osx/ios-depends/gas-preprocessor/gas-preprocessor.pl /usr/local/bin/
54 $ make -C tools/osx/ios-depends
55
56-----------------------------------------------------------------------------
574. How to compile
58-----------------------------------------------------------------------------
59Both Xcode and Terminal compilation require that build environment be setup
60from the step 3.1.
61
62 $ cd $HOME/XBMC
63 $ make -C tools/osx/ios-depends/xbmc
64 $ make clean
65 $ make xcode_depends
66
67-----------------------------------------------------------------------------
684.1 Using Xcode
69-----------------------------------------------------------------------------
70Start XCode and open the XBMC project (XBMC-IOS.xcodeproj or XBMC-ATV2.xcodeproj)
71located in $HOME/XBMC.
72
73There are two relevant build targets : Release and Debug. Compile always for device
74end not simulator.
75
76-----------------------------------------------------------------------------
774.2 Using Terminal (command-line)
78-----------------------------------------------------------------------------
79
80 $ cd $HOME/XBMC
81 $ xcodebuild -project XBMC-IOS.xcodeproj -target XBMC -configuration Release build ONLY_ACTIVE_ARCH=YES ARCHS=armv7 VALID_ARCHS=armv7 IPHONEOS_DEPLOYMENT_TARGET=4.1 SDKROOT=iphoneos4.2
82
83or
84
85 $ xcodebuild -project XBMC-ATV2.xcodeproj -target XBMC -configuration Release build ONLY_ACTIVE_ARCH=YES ARCHS=armv7 VALID_ARCHS=armv7 IPHONEOS_DEPLOYMENT_TARGET=4.1 SDKROOT=iphoneos4.2
86
87
885. Gesture Handling on iPad/iPhone/iPod touch
89
90  Double Tap : Right Mouse Click
91  Swipe Left : Backspace
92  Swipe Right : Tab
93
94

README.linux

1TOC
21. Introduction
32. Getting the source code
43. Installing the required libraries and headers
54. How to compile
65. How to run
76. Uninstalling
8
9-----------------------------------------------------------------------------
101. Introduction
11-----------------------------------------------------------------------------
12
13A gfx-adapter with OpenGL acceleration is highly recommended and 24/32 bitdepth
14is required with OpenGL.
15
16NOTE TO NEW LINUX USERS: All lines that are prefixed with the '$'
17character are commands that need to be typed into a terminal window /
18console (similar to the command prompt for Windows). Note that the '$'
19character itself should NOT be typed as part of the command.
20
21
22-----------------------------------------------------------------------------
232. Getting the source code
24-----------------------------------------------------------------------------
25
26You will have to grab the source code of course. First install the git
27package provided by your distribution. Then from a terminal, type:
28
29   $ cd $HOME
30   $ git clone git://github.com/xbmc/xbmc.git xbmc
31
32-----------------------------------------------------------------------------
333. Installing the required libraries and headers
34-----------------------------------------------------------------------------
35
36You will then need the required libraries. The following is the list of packages
37that are used to build XBMC packages on Debian/Ubuntu (with all supported
38external libraries enabled).
39
40Build-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,
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, libsmbclient-dev,
55 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
59use ccache
60
61--------------------------------------------------------------
623.1. Using the XBMC PPA to get all build dependencies (Debian/Ubuntu only)
63--------------------------------------------------------------
64
65For this, you need to specify the PPA in your apt sources. Please find them on
66the forum.
67
68http://forum.xbmc.org/showthread.php?t=33327
69
70Update apt:
71   $ sudo apt-get update
72
73Here is the magic command to get the build dependencies (used to compile the
74version on the PPA).
75   $ sudo apt-get build-dep xbmc
76
77-----------------------------------------------------------------------------
784. How to compile
79-----------------------------------------------------------------------------
80
81To create the XBMC executable manually perform these steps:
82
83.0  $ ./bootstrap
84
85.1  $ ./configure <option1> <option2> ... (See --help for available options)
86
87A full listing of supported options can be viewed by typing
88'./configure --help'.
89
90.2  $ make
91
92Tip: 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
103This will install XBMC in the prefix provided in 4.1 as well as a launcher script.
104
105NOTE: You may need to run this with sudo (sudo make install) if your user
106doesn't have write permissions to the prefix you have provided (as in the
107default case, /usr/local).
108
109Tip: To override the location that XBMC is installed, use PREFIX=<path>.
110For example.
111
112    $ make install DESTDIR=$HOME/xbmc
113
114-----------------------------------------------------------------------------
1155. How to run
116-----------------------------------------------------------------------------
117How to run xbmc depends on the type of installation you have done. It is
118possible to run XBMC without the requirement to install xbmc anywhere else. In
119this case, type the following from the top source directory.
120
121    $ ./xbmc.bin
122
123If you chose to install XBMC using '/usr' or '/usr/local' as the PREFIX, you
124can just issue 'xbmc' in a teminal session.
125
126If you overridden PREFIX to install XBMC into some non-standard location, you
127will have to run xbmc by directly running 'xbmc.bin'. For example.
128
129    $ $HOME/xbmc/usr/share/xbmc.bin
130
131If you wish to use VDPAU decoding you will now have to change the Render Method
132in Settings->Videos->Player from "Auto Detect" to "VDPAU".
133
134-----------------------------------------------------------------------------
1356. Uninstalling
136-----------------------------------------------------------------------------
137Issue "make uninstall"  ("sudo make uninstall" if you user doesn't have write
138permission to the install directory) from your source tree. If you would like
139to also remove any settings and 3rd party addons (skins, scripts, etc) you
140should also run "rm -rf ~/.xbmc".
141
142NOTE: If you have rerun configure with a different prefix, you will either need
143to rerun configure with the correct prefix for this step to work correctly.
144
145EOF
146
147

README.osx

1TOC
21. Introduction
32. Getting the source code
43. Install required libs
5  3.1. Install Xcode
6  3.2. Install XBMC build depends
74. How to compile and run
8	4.1 Using XCode
9	4.2 Using Command line
105. Packaging
11
12-----------------------------------------------------------------------------
131. Introduction
14-----------------------------------------------------------------------------
15
16This is a platform port of XBMC for the Apple OSX operating system. Both 10.5
17and 10.6 Intel development platforms are supported. The current build system
18is Xcode 3.1.2 There are two ways to build XBMC for Mac, from command-line or
19from Xcode.
20
21Generally, Xcode is the easiest as it presents the build system in a GUI environment.
22The command-line build is still under development.
23
24XBMC for Mac is composed of a main binary with numerous dynamic libraries and
25codecs that support a multitude of music and video formats.
26
27NOTE TO NEW OS X USERS: All lines that are prefixed with the '$' character are
28commands that need to be typed into a Terminal window. Note that the '$'
29character itself should NOT be typed as part of the command.
30
31
32-----------------------------------------------------------------------------
332. Getting the source code
34-----------------------------------------------------------------------------
35
36 $ cd $HOME
37 $ git clone git://github.com/xbmc/xbmc.git xbmc
38
39-----------------------------------------------------------------------------
403.0 Install XCODE
41-----------------------------------------------------------------------------
42Install latest Xcode. You can download it from Apple's site after registration at
43(http://developer.apple.com/tools/download). You also need to install the 10.4
44sdk. If using Xcode 3.x, you MUST use Xcode 3.1.2 so update your existing version
45if you are running a previous Xcode 3.x version. Xcode 3.x only runs on 10.5.
46
47-----------------------------------------------------------------------------
483.1 Install XBMC build depends
49-----------------------------------------------------------------------------
50
51 $ cd $HOME/XBMC
52 $ make -C tools/osx/osx-depends
53
54-----------------------------------------------------------------------------
554. How to compile
56-----------------------------------------------------------------------------
57Both Xcode and Terminal compilation require that build environment be setup
58first. This is a simple step and involves the following:
59
60 $ cd $HOME/XBMC
61 $ make -C tools/osx/osx-depends/xbmc
62 $ make clean
63 $ make xcode_depends
64
65The configure operation will setup the build environment for codecs and
66internal libraries that are used by XBMC. This step is required for both Xcode
67and command-line building. The "make clean" ensures that there are no stale
68binaries from git that might cause problems. The last step will pre-build
69the majority of the codecs and libs:
70
71-----------------------------------------------------------------------------
724.1 Using Xcode
73-----------------------------------------------------------------------------
74Start XCode and open the XBMC project (XBMC.xcodeproj) located in $HOME/XBMC.
75For development, XBMC is run from the $HOME/XBMC directory and needs to have
76the XBMC_HOME environment variable set to know where that directory is located.
77To set XBMC_HOME environment variable:
78
79Menu -> Project -> Edit Active Executable "XBMC", click "Arguments" tab and
80add "XBMC_HOME" as an enviroment variable. Set the value to the path to the
81XBMC root folder. For example, "/Users/bigdog/Documents/XBMC"
82
83There are two build targets "XBMC" and "XBMC.app" with debug and release
84settings. The "XBMC" target is used for rapid build and debug cycles while
85the "XBMC.app" target is used to build a self contained OSX application.
86
87Set the build target to "XBMC" or "XBMC.app", then build. The build process
88will take a long time when builting the first time. You can see the progress
89in "Build Results". There are a large number of static and dynamic libaries
90that will need to be built. Once these are built, subsequent builds will be
91faster.
92
93After the build, you can ether run XBMC for Mac from Xcode or run it from
94the command-line. If you run it from the command-line, make sure your set
95the XBMC_HOME environment variable (export XBMC_HOME=$HOME/XBMC). Then, to
96run the debug version:
97
98$ ./build/Debug/XBMC
99
100Or the release version:
101
102$ ./build/Release/XBMC
103
104You can also build via Xcode from the command-line using the following:
105
106$ xcodebuild -configuration Release -target "XBMC.app" -project XBMC.xcodeproj
107
108You can specify "Release" instead of "Debug" as a configuration.
109
110-----------------------------------------------------------------------------
1114.2 Using Terminal (command-line) (this is a work in progress and might fail)
112-----------------------------------------------------------------------------
113There are two methods, a) make/Xcode and b) make (which might fail as it's under
114construction).
115
116If you want to build a cross-compiled version that can run under 10.5/10.4/AppleTV, 
117then you'll need to follow the additional steps listed in $HOME/XBMC/tools/XBMCTex/README.osx
118before running xcodebuild from the command-line.
119
120 a)
121 $ cd $HOME/XBMC
122 $ export XBMC_HOME=`pwd`
123 $ make xcode_depends
124 $ xcodebuild -sdk macosx10.4 -project XBMC.xcodeproj -target XBMC.app -configuration Release build
125
126 b)
127 $ cd $HOME/XBMC
128 $ export XBMC_HOME=`pwd`
129 $ make xbmc
130 $ ./xbmc.bin
131
132-----------------------------------------------------------------------------
1335. Packaging
134-----------------------------------------------------------------------------
135This section describes how to package XBMC in a disk image for
136distribution.
137
138  1. build XBMC.app from XCode so that the application bundle is correctly updated.
139
140  2. make -C tools/PackageMaker/
141
142  3. If completed successfully, a disk image named XBMC_for_Mac.dmg will be
143  present in the users XBMC build directory:
144
145Remember to unmount/eject XBMC.dmg before attempting to recreate it,
146otherwise dmgmaker.pl will fail.
147

README.ubuntu

1TOC
21. Introduction
32. Getting the source code
43. Installing the required Ubuntu packages
54. How to compile
65. Uninstalling
7
8-----------------------------------------------------------------------------
91. Introduction
10-----------------------------------------------------------------------------
11
12We currently recommend Ubuntu Hardy(8.04) or later.
13A gfx-adapter with OpenGL acceleration is highly recommended and 24/32 
14bitdepth is required with OpenGL.
15
16NOTE TO NEW LINUX USERS: All lines that are prefixed with the '#'
17character are commands that need to be typed into a terminal window /
18console (similar to the command prompt for Windows). Note that the '#'
19character itself should NOT be typed as part of the command.
20
21-----------------------------------------------------------------------------
222. Getting the source code
23-----------------------------------------------------------------------------
24
25   # sudo apt-get install git-core
26   # cd $HOME
27   # git clone git://github.com/xbmc/xbmc.git xbmc
28
29-----------------------------------------------------------------------------
303. Installing the required Ubuntu packages
31-----------------------------------------------------------------------------
32
33Two methods exist to install the required Ubuntu packages:
34
35[NOTICE] For supported old Ubuntu versions, some packages might be outdated.
36         For those, you can either compile them manually, or use our backports
37         available from our official PPA:
38
39         http://launchpad.net/~team-xbmc/+archive/ppa
40
41--------------------------------------------------------------------
423.1. Copy and paste the following line corresponding to your system
43--------------------------------------------------------------------
44
45For Ubuntu (all versions >= 7.04):
46
47   # sudo apt-get install subversion make g++ gcc gawk pmount libtool nasm yasm automake cmake gperf zip unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound-dev python-sqlite libglew-dev libcurl3 libcurl4-gnutls-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libenca-dev libxt-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmpeg3-dev libflac-dev libiso9660-dev libass-dev libssl-dev fp-compiler gdc libwavpack-dev libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs
48
49For Ubuntu Maverick (10.10):
50   # sudo apt-get install autopoint
51
52On 8.10 and older versions, libcurl is outdated and thus XBMC will not compile properly.
53In this case you will have to manually compile the latest version.
54   # wget http://curl.sourceforge.net/download/curl-7.19.7.tar.gz
55   # tar -xzf curl-7.19.7.tar.gz
56   # cd curl-7.19.7
57   # ./configure --disable-ipv6 --without-libidn --disable-ldap --prefix=/usr
58   # make
59   # sudo make install
60
61--------------------------------------------------------------
623.2. Use a single command to get all build dependencies
63--------------------------------------------------------------
64
65You can get all build dependencies used for building the packages on the PPA. For this, you 
66need to specify the PPA in your apt sources. Please find the documentation on how to add a
67PPA to your system here: 
68
69   http://launchpad.net/+help/soyuz/ppa-sources-list.html
70
71The PPA used for XBMC (developpement version) is located on the following page:
72
73   http://launchpad.net/~team-xbmc-svn/+archive/ppa
74
75[Note 1] Click on "Technical details about this PPA" to display the sources.list entries.
76
77[Note 2] If you are using a distribution that has outdated libraries, do not forget to use 
78         the following ppa:
79         http://launchpad.net/~team-xbmc/+archive/ppa
80
81Update apt:
82   # sudo apt-get update
83
84Here is the magic command to get the build dependencies (used to compile the version on the PPA).
85   #  sudo apt-get build-dep xbmc
86
87*** For Hardy add "deb http://ppa.launchpad.net/team-xbmc/xbmc-ppa-build-depends/ubuntu hardy main" to sources.list
88
89*** Avoid using "aptitude" for the build-dep command. It doesn't resolve everything.
90
91*** For developers and anyone else who compiles frequently it is recommended to use ccache
92sudo apt-get install ccache
93
94*** A tip for those with multiple computers at home is to check out distcc (totally unsupported from xbmc of course)
95sudo apt-get install distcc
96
97-----------------------------------------------------------------------------
984. How to compile
99-----------------------------------------------------------------------------
100See README.linux
101
102-----------------------------------------------------------------------------
1035. Uninstalling
104-----------------------------------------------------------------------------
105$ sudo apt-get remove xbmc*
106
107EOF
108
109