From 6a5bc5a1089ff6cf31f10a9082f097c30a6e273d Mon Sep 17 00:00:00 2001 From: "S. Davilla" Date: Fri, 4 May 2012 12:14:41 -0400 Subject: move README.xx to docs and create a generic README --- README | 3 + README.armel | 273 ----------------------------------------------------- README.ios | 99 ------------------- README.linux | 144 ---------------------------- README.osx | 151 ----------------------------- README.ubuntu | 108 --------------------- docs/README.armel | 273 +++++++++++++++++++++++++++++++++++++++++++++++++++++ docs/README.ios | 99 +++++++++++++++++++ docs/README.linux | 144 ++++++++++++++++++++++++++++ docs/README.osx | 151 +++++++++++++++++++++++++++++ docs/README.ubuntu | 108 +++++++++++++++++++++ 11 files changed, 778 insertions(+), 775 deletions(-) create mode 100644 README delete mode 100644 README.armel delete mode 100644 README.ios delete mode 100644 README.linux delete mode 100644 README.osx delete mode 100644 README.ubuntu create mode 100644 docs/README.armel create mode 100644 docs/README.ios create mode 100644 docs/README.linux create mode 100644 docs/README.osx create mode 100644 docs/README.ubuntu diff --git a/README b/README new file mode 100644 index 0000000000..ccd466ab27 --- /dev/null +++ b/README @@ -0,0 +1,3 @@ +XBMC is a multimedia application that runs on multiple platforms. + +See docs/README.xxx for specific platform build information. diff --git a/README.armel b/README.armel deleted file mode 100644 index fdbec70af8..0000000000 --- a/README.armel +++ /dev/null @@ -1,273 +0,0 @@ -TOC -1. Introduction -2. Using Scratchbox - 2.1 Automatic Installation - 2.2 Manual Installation - 2.3 Installation Continued for both Automatic and Manual Methods - 2.4 Setup Scratchbox -3. Getting the source code -4. Installing the required ARMEL packages -5. Obtaining the SGX files -6. How to compile - 6.1 Configure & Make - 6.2 Install -7. How to run - 7.1 Obtaining the Packages - 7.2 Installing the Files - 7.3 Running XBMC -8. Troubleshooting - - ------------------------------------------------------------------------------ -1. Introduction ------------------------------------------------------------------------------ - -This is a port of XBMC for use on ARM Architecture. -As this is not an official version of XBMC, in-depth testing on various setups has not been done. USE WITH CAUTION! -For the purpose of this port, the following Hardware and Software was used. -Software: Scratchbox (cross-compiler) on a Linux (Ubuntu) machine. -Hardware: BeagleBoard (ARM Cortex-A8 with IMG POWERVR SGX). -The source code is based on XBMC for Linux - version 9.11 (Camelot). - -All lines that are prefixed with the '$' character are commands that need to be typed into a standard linux terminal -All lines that are prefixed with the '>' character are commands that need to be typed into scratchbox -All lines that are prefixed with the '#' character are commands that need to be typed into a terminal on the beagleboard - - ------------------------------------------------------------------------------ -2. Using Scratchbox ------------------------------------------------------------------------------ - -First, you need scratch box, along with some other packages. -The easiest way is to do the following automatic installation. -If you dont succeed, or want to do it manually, follow the next step instead. - - ----------------------------------------------------------------------------- - 2.1 Automatic Installation: - ----------------------------------------------------------------------------- - - $ sudo gedit /etc/apt/sources.list - - Add this to the end of the file, then save and exit gedit: - deb http://scratchbox.org/debian stable main - deb http://scratchbox.org/debian legacy main - - Now enter the following command: - $ 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 - - ----------------------------------------------------------------------------- - 2.2 Manual Installation: - ----------------------------------------------------------------------------- - - Go to the following website: - http://www.scratchbox.org/download/files/sbox-releases/stable/tarball/ - and download the following files (Unless specified, choose latest version): - - core - - libs - - cputransp - - doctools - - git - - mtd - - perl - - toolchain (cs2007q3-51sb3) - - host-gcc - - debian - - To install - $ cd / - $ sudo tar xvf //scratchbox-core.tar.gz - - Repeat for all the downloaded files. - - ----------------------------------------------------------------------------- - 2.3 Installation Continued for both Automatic and Manual Methods: - ----------------------------------------------------------------------------- - - Now, a few changes needs to me made in order for it to work correctly: - $ sudo gedit /etc/sysctl.conf - - Change/Add these variables: - vm.mmap_min_addr = 4096 - vm.vdso_enabled = 0 - Save and Close. - - Add yourself to scratchbox: - $ sb-adduser - - Make sure it worked by doing the following command, and see if sbox is listed. - $ groups - - If it isnt listed, restart and try again. If it still isnt listed, then do the following: - $ usermod -a -G sbox - - It should now list (possibly after another logout) - Now you have access to scratchbox. - - ----------------------------------------------------------------------------- - 2.4 Setup Scratchbox: - ----------------------------------------------------------------------------- - - Before setting up your target, you need a rootstrap. Obtain the latest rootstrap from: - http://linux.onarm.com/download/images/generic-X/ - You want to download the file 'beagleboard--rootstrap.tar.gz'. - - Do this every time you want to access scratchbox: - $ /scratchbox/login - - Time to setup your target: - > sb-menu - - A GUI will appear for the setup procedure. - - Choose Setup - - Create a NEW target, give it any name - - Select the compiler you downloaded (arm-linux-cs2007q3-51sb3) - - Select all development kits listed by highlighting each one and pressing enter, then Done and enter - - Select CPU transparency (qemu-arm-cvs-m) - - Yes to rootstrap. Locate the previously downloaded rootstrap to install. - - Yes to install files - - Only select DEVKIT and ETC. Remove all other files in list, then continue - - And finally Yes to selecting target. - - Now scratchbox is setup - - ------------------------------------------------------------------------------ -3. Getting the source code ------------------------------------------------------------------------------ - - $ sudo apt-get install git-core - $ cd /scratchbox/users//home// - $ git clone git://github.com/xbmc/xbmc.git - - ------------------------------------------------------------------------------ -4. Installing the required ARMEL packages ------------------------------------------------------------------------------ - -There is a simple shell script that downloads a list of packages that are required and installs them into scratchbox. - - > cd tools/arm/arm-scripts/ - > ./install-pkgs.sh - -Please check the output files for any possible errors that may have occured. - -Note. You will need the headers and shared object files for EGL and GLESv2 to continue. - - ------------------------------------------------------------------------------ -5. Obtaining the SGX files ------------------------------------------------------------------------------ - -In order to continue, you will need the SGX SDK from TI's website. -Once you have installed said SDK on a standard Linux machine, copy the neccessary .h and .so files to the appropriate directories in scratchbox: -e.g /scratchbox/users//targets//usr/include/EGL/egl.h -These files will also need to be transferred over to the board eventually. -NOTE: XBMC has only been tested with the following versions of the OMAP35x Graphics SDK: -3.00.00.05, 3.00.00.06, 3.00.00.08, 3.00.00.09 - - ------------------------------------------------------------------------------ -6. How to compile ------------------------------------------------------------------------------ - -To create the XBMC executable manually perform these following steps: - - ----------------------------------------------------------------------------- - 6.1 Configure & Make: - ----------------------------------------------------------------------------- - - $ ./bootstrap - > ./configure --enable-gles - - This will configure XBMC inside scratchbox ready for compilation on ARM. - Because the default is to build for OpenGL, we require the --enable-gles flag to be set for OpenGL ES 2.0. - (Note: No OpenGL ES 1.x available) - Now, build with the following: - - > make - - ----------------------------------------------------------------------------- - 6.2 Install: - ----------------------------------------------------------------------------- - - There is no need to do 'make install' as we dont want it installed into scratchbox. - There is also the slight problem of the fact that scratchbox's 'find' command is outdated and wont execute xbmc's 'make install' correctly. - Instead, use the provided shell script: - > cd /tools/arm/arm-scripts/ - > ./create-xbmcfile.sh - - 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. - - ------------------------------------------------------------------------------ -7. How to run ------------------------------------------------------------------------------ - -It is assumed you have a beagleboard with all the neccessary hardware installed. -(e.g keyboard, mouse, and ethernet adapter) -It is also assumed that you have it setup with either Angstrom or Ubuntu. - - ----------------------------------------------------------------------------- - 7.1 Obtaining the Packages: - ----------------------------------------------------------------------------- - - For Ubuntu: See README.linux for list of packages to install. - If planning on not extracting the pkgs file, a few additional packages are required to be installed. - These are python and liblzo2 - - For Angstrom: - # opkg update - # 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 - - Unfortunately this will only install the packages that are available through opkg. There will be further packages that need to be installed. - Either use the method mentioned below, or selectively find and install packages, mentioned at the bottom of this README. - - Alternatively, do the following: - First make sure you have done section 4. then do the following: - > cd xbmc_on_arm/arm-scripts/ - > ./create-pkgsfile.sh - - 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. - - ----------------------------------------------------------------------------- - 7.2 Installing the Files: - ----------------------------------------------------------------------------- - - Transfer the file(s), armel-pkgs.tar.bz2 (if using alternative method mentioned above) and xbmc.tar.bz2 to the beagleboard. - Do the following to extract them: - # tar xjf armel-pkgs.tar.bz2 -C / - # tar xjf xbmc.tar.bz2 -C /usr/ - - After this initial setup, during development, you should only need to replace /usr/share/xbmc/xbmc.bin with the newly created binary. - - ----------------------------------------------------------------------------- - 7.3 Running XBMC: - ----------------------------------------------------------------------------- - - Now, run XBMC by executing the binary: - # /usr/share/xbmc/xbmc.bin - - Run the binary and not the script as the script will fail. - - ------------------------------------------------------------------------------ -8. Troubleshooting ------------------------------------------------------------------------------ - -If it fails to run correctly, there are a few things to try out. -First, is there any helpful output on the terminal? -Check the log file, usually located ~/.xbmc/temp/xbmc.log -It may have failed because of a missing package. -If so, you will need to download the appropriate armel package from packages.debian.org, -Extract the files with the command: dpkg-deb -x packagename.deb /path/to/extract/to -Then tarball the extracted files: tar cjf pkg.tar.bz2 /path/to/extracted/files -Then transfer them to the board, and extract: tar xjf pkg.tar.bz2 -This is because the .deb files cannot be extracted in Angstrom. - -If this is not the case, try various different parameters for xbmc.bin such as: -xbmc.bin --standalone -xbmc.bin -p -xbmc.bin -fs -Or build with debug for a more in-depth xbmc.log file by ommitting the line --disable-debug on configure. - -Feel free to contact me on mcgeagh@xbmc.org diff --git a/README.ios b/README.ios deleted file mode 100644 index aac3a73a49..0000000000 --- a/README.ios +++ /dev/null @@ -1,99 +0,0 @@ -TOC -1. Introduction -2. Getting the source code -3. Install required libs - 3.1. Install Xcode - 3.2. Install Cross libs and runtime environment -4. How to compile and run - 4.1 Using XCode - 4.2 Using Command line -5. Gesture Handling on iPad/iPhone/iPod touch - ------------------------------------------------------------------------------ -1. Introduction ------------------------------------------------------------------------------ - -This is a platform port of XBMC for the Apple iOS operating system. -The current build system is Xcode 3.x and iOS SDK 4.2/4.3 -There are two ways to build XBMC for Mac. - -1) command-line or -2) Xcode. - -Generally, Xcode is the easiest as it presents the build system in a GUI environment. -The command-line build is still under development. - -XBMC for Mac is composed of a main binary with numerous dynamic libraries and -codecs that support a multitude of music and video formats. - -NOTE TO NEW OS X USERS: All lines that are prefixed with the '$' character are -commands that need to be typed into a Terminal window. Note that the '$' -character itself should NOT be typed as part of the command. - - ------------------------------------------------------------------------------ -2. Getting the source code ------------------------------------------------------------------------------ - - $ cd $HOME - $ git clone git://github.com/xbmc/xbmc.git xbmc - $ cd xbmc - $ git submodule update --init addons/skin.touched - ------------------------------------------------------------------------------ -3.0 Install Xcode ------------------------------------------------------------------------------ -Install latest Xcode. You can download it from Apple's site after registration at -(http://developer.apple.com/tools/download). -The preferred version is Xcode 3.2.5 and iOS SDK 4.2. - ------------------------------------------------------------------------------ -3.1 Install Cross libs and runtime environment ------------------------------------------------------------------------------ - - $ cd $HOME/XBMC - $ sudo mkdir -p /usr/local/bin; sudo cp tools/darwin/depends/gas-preprocessor/gas-preprocessor.pl /usr/local/bin/ - $ cd tools/darwin/depends - $ ./bootstrap - $ ./configure --with-darwin=ios - $ make - ------------------------------------------------------------------------------ -4. How to compile ------------------------------------------------------------------------------ -Both Xcode and Terminal compilation require that build environment be setup -from the step 3.1. - - $ cd $HOME/XBMC - $ make -C tools/darwin/depends/xbmc - $ make clean - $ make xcode_depends - ------------------------------------------------------------------------------ -4.1 Using Xcode ------------------------------------------------------------------------------ -Start XCode and open the XBMC project (XBMC-IOS.xcodeproj or XBMC-ATV2.xcodeproj) -located in $HOME/XBMC. - -There are two relevant build targets : Release and Debug. Compile always for device -end not simulator. - ------------------------------------------------------------------------------ -4.2 Using Terminal (command-line) ------------------------------------------------------------------------------ - - $ cd $HOME/XBMC - $ 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 - -or - - $ 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 - - -5. Gesture Handling on iPad/iPhone/iPod touch - -double finger swipe left -> back -double finger tap -> right mouse -single finger tap -> left mouse -panning, and flicking -> panning and flicking works for media lists only at the moment ... scrollbars and other stuff are only clickable (single tap), for now - diff --git a/README.linux b/README.linux deleted file mode 100644 index cd337a7303..0000000000 --- a/README.linux +++ /dev/null @@ -1,144 +0,0 @@ - -TOC -1. Introduction -2. Getting the source code -3. Installing the required libraries and headers -4. How to compile -5. How to run -6. Uninstalling - ------------------------------------------------------------------------------ -1. Introduction ------------------------------------------------------------------------------ - -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 ------------------------------------------------------------------------------ - -You will have to grab the source code of course. First install the git -package provided by your distribution. Then from a terminal, type: - - $ cd $HOME - $ git clone git://github.com/xbmc/xbmc.git xbmc - ------------------------------------------------------------------------------ -3. Installing the required libraries and headers ------------------------------------------------------------------------------ - -You will then need the required libraries. The following is the list of packages -that are used to build XBMC packages on Debian/Ubuntu (with all supported -external libraries enabled). - -Build-Depends: debhelper (>= 7.0.50~), python-support, cmake, - autotools-dev, autoconf, automake, unzip, libboost-dev, zip, libtool, - libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev, libglew-dev, - libmad0-dev, libjpeg-dev, libsamplerate-dev, libogg-dev, libvorbis-dev, - libfreetype6-dev, libfontconfig-dev, libbz2-dev, libfribidi-dev, - libsqlite3-dev, libmysqlclient-dev, libasound2-dev, libpng12-dev | libpng-dev, - libpcre3-dev, liblzo2-dev, libcdio-dev, libsdl-dev, libsdl-image1.2-dev, - libsdl-mixer1.2-dev, libenca-dev, libjasper-dev, libxt-dev, - libxmu-dev, libxinerama-dev, libcurl4-gnutls-dev | libcurl-dev, - libdbus-1-dev, libhal-storage-dev, libhal-dev, libpulse-dev, - libavahi-common-dev, libavahi-client-dev, libxrandr-dev, libavcodec-dev, - libavformat-dev, libavutil-dev, libpostproc-dev, libswscale-dev, - libmpeg2-4-dev, libass-dev (>= 0.9.8), libmpcdec-dev, libflac-dev, - python-dev, gawk, gperf, nasm [!amd64], libcwiid1-dev, - libbluetooth-dev, zlib1g-dev, libsmbclient-dev, libboost-thread-dev - libiso9660-dev, libssl-dev, lsb-release, libvdpau-dev, libmicrohttpd-dev, - libmodplug-dev, librtmp-dev, libcrystalhd-dev, curl, python-dev, libyajl-dev, - libplist-dev, libusb-dev, libudev-dev, libltdl-dev, libtinyxml-dev - -*** For developers and anyone else who compiles frequently it is recommended to -use ccache - --------------------------------------------------------------- -3.1. Using the XBMC PPA to get all build dependencies (Debian/Ubuntu only) --------------------------------------------------------------- - -For this, you need to specify the PPA in your apt sources. Please find them on -the forum. - -http://forum.xbmc.org/showthread.php?t=33327 - -Update apt: - $ 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 - ------------------------------------------------------------------------------ -4. How to compile ------------------------------------------------------------------------------ - -To create the XBMC executable manually perform these steps: - -.0 $ ./bootstrap - -.1 $ ./configure ... (See --help for available options) - -A full listing of supported options can be viewed by typing -'./configure --help'. - -.2 $ make - -Tip: by adding -j to the make command, you describe how many - concurrent jobs will be used. So for dualcore the command is: - - $ make -j2 - -.3 $ make install - -This will install XBMC in the prefix provided in 4.1 as well as a launcher script. - -NOTE: You may need to run this with sudo (sudo make install) if your user -doesn't have write permissions to the prefix you have provided (as in the -default case, /usr/local). - -Tip: To override the location that XBMC is installed, use PREFIX=. -For example. - - $ make install DESTDIR=$HOME/xbmc - ------------------------------------------------------------------------------ -5. How to run ------------------------------------------------------------------------------ -How to run xbmc depends on the type of installation you have done. It is -possible to run XBMC without the requirement to install xbmc anywhere else. In -this case, type the following from the top source directory. - - $ ./xbmc.bin - -If you chose to install XBMC using '/usr' or '/usr/local' as the PREFIX, you -can just issue 'xbmc' in a teminal session. - -If you overridden PREFIX to install XBMC into some non-standard location, you -will have to run xbmc by directly running 'xbmc.bin'. For example. - - $ $HOME/xbmc/usr/share/xbmc.bin - -If you wish to use VDPAU decoding you will now have to change the Render Method -in Settings->Videos->Player from "Auto Detect" to "VDPAU". - ------------------------------------------------------------------------------ -6. Uninstalling ------------------------------------------------------------------------------ -Issue "make uninstall" ("sudo make uninstall" if you user doesn't have write -permission to the install directory) from your source tree. If you would like -to also remove any settings and 3rd party addons (skins, scripts, etc) you -should also run "rm -rf ~/.xbmc". - -NOTE: If you have rerun configure with a different prefix, you will either need -to rerun configure with the correct prefix for this step to work correctly. - -EOF - diff --git a/README.osx b/README.osx deleted file mode 100644 index 51703f405e..0000000000 --- a/README.osx +++ /dev/null @@ -1,151 +0,0 @@ -TOC -1. Introduction -2. Getting the source code -3. Install required libs - 3.1. Install Xcode - 3.2. Install XBMC build depends -4. How to compile and run - 4.1 Using XCode - 4.2 Using Command line -5. Packaging - ------------------------------------------------------------------------------ -1. Introduction ------------------------------------------------------------------------------ - -This is a platform port of XBMC for the Apple OSX operating system. Both 10.5 -and 10.6 Intel development platforms are supported. Xcode 4.x is not supported. -The current build system is Xcode 3.2.5 There are two ways to build XBMC for Mac, -from command-line or from Xcode. - -Generally, Xcode is the easiest as it presents the build system in a GUI environment. -The command-line build is still under development. - -XBMC for Mac is composed of a main binary with numerous dynamic libraries and -codecs that support a multitude of music and video formats. - -NOTE TO NEW OS X USERS: All lines that are prefixed with the '$' character are -commands that need to be typed into a Terminal window. Note that the '$' -character itself should NOT be typed as part of the command. - - ------------------------------------------------------------------------------ -2. Getting the source code ------------------------------------------------------------------------------ - - $ cd $HOME - $ git clone git://github.com/xbmc/xbmc.git xbmc - ------------------------------------------------------------------------------ -3.0 Install XCODE ------------------------------------------------------------------------------ -Install latest Xcode. You can download it from Apple's site after registration at -(http://developer.apple.com/tools/download). You also need to install the 10.4 -sdk. If using Xcode 3.x, you MUST use Xcode 3.1.2 or a newer version, so update -your existing version. if you are running a previous Xcode 3.x version. -Xcode 3.x only runs on 10.5 and above. If you are running 10.7, DO NOT USE Xcode 4.x, -it will fail. Use Xcode 3.x under 10.7. - ------------------------------------------------------------------------------ -3.1 Install XBMC build depends ------------------------------------------------------------------------------ - - $ cd $HOME/XBMC - $ cd tools/darwin/depends - $ ./bootstrap - $ ./configure --with-darwin=osx - $ make - ------------------------------------------------------------------------------ -4. How to compile ------------------------------------------------------------------------------ -Both Xcode and Terminal compilation require that build environment be setup -first. This is a simple step and involves the following: - - $ cd $HOME/XBMC - $ make -C tools/darwin/depends/xbmc - $ make clean - $ make xcode_depends - -The configure operation will setup the build environment for codecs and -internal libraries that are used by XBMC. This step is required for both Xcode -and command-line building. The "make clean" ensures that there are no stale -binaries from git that might cause problems. The last step will pre-build -the majority of the codecs and libs: - ------------------------------------------------------------------------------ -4.1 Using Xcode ------------------------------------------------------------------------------ -Start XCode and open the XBMC project (XBMC.xcodeproj) located in $HOME/XBMC. -For development, XBMC is run from the $HOME/XBMC directory and needs to have -the XBMC_HOME environment variable set to know where that directory is located. -To set XBMC_HOME environment variable: - -Menu -> Project -> Edit Active Executable "XBMC", click "Arguments" tab and -add "XBMC_HOME" as an enviroment variable. Set the value to the path to the -XBMC root folder. For example, "/Users/bigdog/Documents/XBMC" - -There are two build targets "XBMC" and "XBMC.app" with debug and release -settings. The "XBMC" target is used for rapid build and debug cycles while -the "XBMC.app" target is used to build a self contained OSX application. - -Set the build target to "XBMC" or "XBMC.app", then build. The build process -will take a long time when builting the first time. You can see the progress -in "Build Results". There are a large number of static and dynamic libaries -that will need to be built. Once these are built, subsequent builds will be -faster. - -After the build, you can ether run XBMC for Mac from Xcode or run it from -the command-line. If you run it from the command-line, make sure your set -the XBMC_HOME environment variable (export XBMC_HOME=$HOME/XBMC). Then, to -run the debug version: - -$ ./build/Debug/XBMC - -Or the release version: - -$ ./build/Release/XBMC - -You can also build via Xcode from the command-line using the following: - -$ xcodebuild -configuration Release -target "XBMC.app" -project XBMC.xcodeproj - -You can specify "Release" instead of "Debug" as a configuration. - ------------------------------------------------------------------------------ -4.2 Using Terminal (command-line) (this is a work in progress and might fail) ------------------------------------------------------------------------------ -There are two methods, a) make/Xcode and b) make (which might fail as it's under -construction). - -If you want to build a cross-compiled version that can run under 10.5/10.4/AppleTV, -then you'll need to follow the additional steps listed in $HOME/XBMC/tools/XBMCTex/README.osx -before running xcodebuild from the command-line. - - a) - $ cd $HOME/XBMC - $ export XBMC_HOME=`pwd` - $ make xcode_depends - $ xcodebuild -sdk macosx10.4 -project XBMC.xcodeproj -target XBMC.app -configuration Release build - - b) - $ cd $HOME/XBMC - $ export XBMC_HOME=`pwd` - $ make xbmc - $ ./xbmc.bin - ------------------------------------------------------------------------------ -5. Packaging ------------------------------------------------------------------------------ -This section describes how to package XBMC in a disk image for -distribution. - - 1. build XBMC.app from XCode so that the application bundle is correctly updated. - - 2. make -C tools/darwin/packaging/xbmc-osx - - 3. If completed successfully, a disk image named XBMC_for_Mac.dmg will be - present in the users XBMC build directory: - -Remember to unmount/eject XBMC.dmg before attempting to recreate it, -otherwise dmgmaker.pl will fail. diff --git a/README.ubuntu b/README.ubuntu deleted file mode 100644 index df1578f4cd..0000000000 --- a/README.ubuntu +++ /dev/null @@ -1,108 +0,0 @@ -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 Hardy(8.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 PPA: - - http://launchpad.net/~team-xbmc/+archive/ppa - --------------------------------------------------------------------- -3.1. Copy and paste the following line corresponding to your system --------------------------------------------------------------------- - -For Ubuntu (all versions >= 7.04): - - # sudo apt-get install git-core 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 libasound2-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 libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs python-dev libyajl-dev libboost-thread-dev libplist-dev libusb-dev libudev-dev libtinyxml-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 - --------------------------------------------------------------- -3.2. Use a single command to get all build dependencies --------------------------------------------------------------- - -You can get all build dependencies used for building the packages on the PPA. For this, you -need to specify the PPA in your apt sources. Please find the documentation on how to add a -PPA to your system here: - - http://launchpad.net/+help/soyuz/ppa-sources-list.html - -The PPA used for XBMC (developpement version) is located on the following page: - - http://launchpad.net/~team-xbmc/+archive/unstable - -[Note 1] Click on "Technical details about this PPA" to display the sources.list entries. - -[Note 2] If you are using a distribution that has outdated libraries, do not forget to use - the following ppa: - http://launchpad.net/~team-xbmc/+archive/ppa - -Update apt: - # 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 - -*** For Hardy add "deb http://ppa.launchpad.net/team-xbmc/xbmc-ppa-build-depends/ubuntu hardy main" to sources.list - -*** 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 - ------------------------------------------------------------------------------ -4. How to compile ------------------------------------------------------------------------------ -See README.linux - ------------------------------------------------------------------------------ -5. Uninstalling ------------------------------------------------------------------------------ -$ sudo apt-get remove xbmc* - -EOF - diff --git a/docs/README.armel b/docs/README.armel new file mode 100644 index 0000000000..fdbec70af8 --- /dev/null +++ b/docs/README.armel @@ -0,0 +1,273 @@ +TOC +1. Introduction +2. Using Scratchbox + 2.1 Automatic Installation + 2.2 Manual Installation + 2.3 Installation Continued for both Automatic and Manual Methods + 2.4 Setup Scratchbox +3. Getting the source code +4. Installing the required ARMEL packages +5. Obtaining the SGX files +6. How to compile + 6.1 Configure & Make + 6.2 Install +7. How to run + 7.1 Obtaining the Packages + 7.2 Installing the Files + 7.3 Running XBMC +8. Troubleshooting + + +----------------------------------------------------------------------------- +1. Introduction +----------------------------------------------------------------------------- + +This is a port of XBMC for use on ARM Architecture. +As this is not an official version of XBMC, in-depth testing on various setups has not been done. USE WITH CAUTION! +For the purpose of this port, the following Hardware and Software was used. +Software: Scratchbox (cross-compiler) on a Linux (Ubuntu) machine. +Hardware: BeagleBoard (ARM Cortex-A8 with IMG POWERVR SGX). +The source code is based on XBMC for Linux - version 9.11 (Camelot). + +All lines that are prefixed with the '$' character are commands that need to be typed into a standard linux terminal +All lines that are prefixed with the '>' character are commands that need to be typed into scratchbox +All lines that are prefixed with the '#' character are commands that need to be typed into a terminal on the beagleboard + + +----------------------------------------------------------------------------- +2. Using Scratchbox +----------------------------------------------------------------------------- + +First, you need scratch box, along with some other packages. +The easiest way is to do the following automatic installation. +If you dont succeed, or want to do it manually, follow the next step instead. + + ----------------------------------------------------------------------------- + 2.1 Automatic Installation: + ----------------------------------------------------------------------------- + + $ sudo gedit /etc/apt/sources.list + + Add this to the end of the file, then save and exit gedit: + deb http://scratchbox.org/debian stable main + deb http://scratchbox.org/debian legacy main + + Now enter the following command: + $ 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 + + ----------------------------------------------------------------------------- + 2.2 Manual Installation: + ----------------------------------------------------------------------------- + + Go to the following website: + http://www.scratchbox.org/download/files/sbox-releases/stable/tarball/ + and download the following files (Unless specified, choose latest version): + - core + - libs + - cputransp + - doctools + - git + - mtd + - perl + - toolchain (cs2007q3-51sb3) + - host-gcc + - debian + + To install + $ cd / + $ sudo tar xvf //scratchbox-core.tar.gz + + Repeat for all the downloaded files. + + ----------------------------------------------------------------------------- + 2.3 Installation Continued for both Automatic and Manual Methods: + ----------------------------------------------------------------------------- + + Now, a few changes needs to me made in order for it to work correctly: + $ sudo gedit /etc/sysctl.conf + + Change/Add these variables: + vm.mmap_min_addr = 4096 + vm.vdso_enabled = 0 + Save and Close. + + Add yourself to scratchbox: + $ sb-adduser + + Make sure it worked by doing the following command, and see if sbox is listed. + $ groups + + If it isnt listed, restart and try again. If it still isnt listed, then do the following: + $ usermod -a -G sbox + + It should now list (possibly after another logout) + Now you have access to scratchbox. + + ----------------------------------------------------------------------------- + 2.4 Setup Scratchbox: + ----------------------------------------------------------------------------- + + Before setting up your target, you need a rootstrap. Obtain the latest rootstrap from: + http://linux.onarm.com/download/images/generic-X/ + You want to download the file 'beagleboard--rootstrap.tar.gz'. + + Do this every time you want to access scratchbox: + $ /scratchbox/login + + Time to setup your target: + > sb-menu + + A GUI will appear for the setup procedure. + - Choose Setup + - Create a NEW target, give it any name + - Select the compiler you downloaded (arm-linux-cs2007q3-51sb3) + - Select all development kits listed by highlighting each one and pressing enter, then Done and enter + - Select CPU transparency (qemu-arm-cvs-m) + - Yes to rootstrap. Locate the previously downloaded rootstrap to install. + - Yes to install files + - Only select DEVKIT and ETC. Remove all other files in list, then continue + - And finally Yes to selecting target. + + Now scratchbox is setup + + +----------------------------------------------------------------------------- +3. Getting the source code +----------------------------------------------------------------------------- + + $ sudo apt-get install git-core + $ cd /scratchbox/users//home// + $ git clone git://github.com/xbmc/xbmc.git + + +----------------------------------------------------------------------------- +4. Installing the required ARMEL packages +----------------------------------------------------------------------------- + +There is a simple shell script that downloads a list of packages that are required and installs them into scratchbox. + + > cd tools/arm/arm-scripts/ + > ./install-pkgs.sh + +Please check the output files for any possible errors that may have occured. + +Note. You will need the headers and shared object files for EGL and GLESv2 to continue. + + +----------------------------------------------------------------------------- +5. Obtaining the SGX files +----------------------------------------------------------------------------- + +In order to continue, you will need the SGX SDK from TI's website. +Once you have installed said SDK on a standard Linux machine, copy the neccessary .h and .so files to the appropriate directories in scratchbox: +e.g /scratchbox/users//targets//usr/include/EGL/egl.h +These files will also need to be transferred over to the board eventually. +NOTE: XBMC has only been tested with the following versions of the OMAP35x Graphics SDK: +3.00.00.05, 3.00.00.06, 3.00.00.08, 3.00.00.09 + + +----------------------------------------------------------------------------- +6. How to compile +----------------------------------------------------------------------------- + +To create the XBMC executable manually perform these following steps: + + ----------------------------------------------------------------------------- + 6.1 Configure & Make: + ----------------------------------------------------------------------------- + + $ ./bootstrap + > ./configure --enable-gles + + This will configure XBMC inside scratchbox ready for compilation on ARM. + Because the default is to build for OpenGL, we require the --enable-gles flag to be set for OpenGL ES 2.0. + (Note: No OpenGL ES 1.x available) + Now, build with the following: + + > make + + ----------------------------------------------------------------------------- + 6.2 Install: + ----------------------------------------------------------------------------- + + There is no need to do 'make install' as we dont want it installed into scratchbox. + There is also the slight problem of the fact that scratchbox's 'find' command is outdated and wont execute xbmc's 'make install' correctly. + Instead, use the provided shell script: + > cd /tools/arm/arm-scripts/ + > ./create-xbmcfile.sh + + 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. + + +----------------------------------------------------------------------------- +7. How to run +----------------------------------------------------------------------------- + +It is assumed you have a beagleboard with all the neccessary hardware installed. +(e.g keyboard, mouse, and ethernet adapter) +It is also assumed that you have it setup with either Angstrom or Ubuntu. + + ----------------------------------------------------------------------------- + 7.1 Obtaining the Packages: + ----------------------------------------------------------------------------- + + For Ubuntu: See README.linux for list of packages to install. + If planning on not extracting the pkgs file, a few additional packages are required to be installed. + These are python and liblzo2 + + For Angstrom: + # opkg update + # 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 + + Unfortunately this will only install the packages that are available through opkg. There will be further packages that need to be installed. + Either use the method mentioned below, or selectively find and install packages, mentioned at the bottom of this README. + + Alternatively, do the following: + First make sure you have done section 4. then do the following: + > cd xbmc_on_arm/arm-scripts/ + > ./create-pkgsfile.sh + + 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. + + ----------------------------------------------------------------------------- + 7.2 Installing the Files: + ----------------------------------------------------------------------------- + + Transfer the file(s), armel-pkgs.tar.bz2 (if using alternative method mentioned above) and xbmc.tar.bz2 to the beagleboard. + Do the following to extract them: + # tar xjf armel-pkgs.tar.bz2 -C / + # tar xjf xbmc.tar.bz2 -C /usr/ + + After this initial setup, during development, you should only need to replace /usr/share/xbmc/xbmc.bin with the newly created binary. + + ----------------------------------------------------------------------------- + 7.3 Running XBMC: + ----------------------------------------------------------------------------- + + Now, run XBMC by executing the binary: + # /usr/share/xbmc/xbmc.bin + + Run the binary and not the script as the script will fail. + + +----------------------------------------------------------------------------- +8. Troubleshooting +----------------------------------------------------------------------------- + +If it fails to run correctly, there are a few things to try out. +First, is there any helpful output on the terminal? +Check the log file, usually located ~/.xbmc/temp/xbmc.log +It may have failed because of a missing package. +If so, you will need to download the appropriate armel package from packages.debian.org, +Extract the files with the command: dpkg-deb -x packagename.deb /path/to/extract/to +Then tarball the extracted files: tar cjf pkg.tar.bz2 /path/to/extracted/files +Then transfer them to the board, and extract: tar xjf pkg.tar.bz2 +This is because the .deb files cannot be extracted in Angstrom. + +If this is not the case, try various different parameters for xbmc.bin such as: +xbmc.bin --standalone +xbmc.bin -p +xbmc.bin -fs +Or build with debug for a more in-depth xbmc.log file by ommitting the line --disable-debug on configure. + +Feel free to contact me on mcgeagh@xbmc.org diff --git a/docs/README.ios b/docs/README.ios new file mode 100644 index 0000000000..aac3a73a49 --- /dev/null +++ b/docs/README.ios @@ -0,0 +1,99 @@ +TOC +1. Introduction +2. Getting the source code +3. Install required libs + 3.1. Install Xcode + 3.2. Install Cross libs and runtime environment +4. How to compile and run + 4.1 Using XCode + 4.2 Using Command line +5. Gesture Handling on iPad/iPhone/iPod touch + +----------------------------------------------------------------------------- +1. Introduction +----------------------------------------------------------------------------- + +This is a platform port of XBMC for the Apple iOS operating system. +The current build system is Xcode 3.x and iOS SDK 4.2/4.3 +There are two ways to build XBMC for Mac. + +1) command-line or +2) Xcode. + +Generally, Xcode is the easiest as it presents the build system in a GUI environment. +The command-line build is still under development. + +XBMC for Mac is composed of a main binary with numerous dynamic libraries and +codecs that support a multitude of music and video formats. + +NOTE TO NEW OS X USERS: All lines that are prefixed with the '$' character are +commands that need to be typed into a Terminal window. Note that the '$' +character itself should NOT be typed as part of the command. + + +----------------------------------------------------------------------------- +2. Getting the source code +----------------------------------------------------------------------------- + + $ cd $HOME + $ git clone git://github.com/xbmc/xbmc.git xbmc + $ cd xbmc + $ git submodule update --init addons/skin.touched + +----------------------------------------------------------------------------- +3.0 Install Xcode +----------------------------------------------------------------------------- +Install latest Xcode. You can download it from Apple's site after registration at +(http://developer.apple.com/tools/download). +The preferred version is Xcode 3.2.5 and iOS SDK 4.2. + +----------------------------------------------------------------------------- +3.1 Install Cross libs and runtime environment +----------------------------------------------------------------------------- + + $ cd $HOME/XBMC + $ sudo mkdir -p /usr/local/bin; sudo cp tools/darwin/depends/gas-preprocessor/gas-preprocessor.pl /usr/local/bin/ + $ cd tools/darwin/depends + $ ./bootstrap + $ ./configure --with-darwin=ios + $ make + +----------------------------------------------------------------------------- +4. How to compile +----------------------------------------------------------------------------- +Both Xcode and Terminal compilation require that build environment be setup +from the step 3.1. + + $ cd $HOME/XBMC + $ make -C tools/darwin/depends/xbmc + $ make clean + $ make xcode_depends + +----------------------------------------------------------------------------- +4.1 Using Xcode +----------------------------------------------------------------------------- +Start XCode and open the XBMC project (XBMC-IOS.xcodeproj or XBMC-ATV2.xcodeproj) +located in $HOME/XBMC. + +There are two relevant build targets : Release and Debug. Compile always for device +end not simulator. + +----------------------------------------------------------------------------- +4.2 Using Terminal (command-line) +----------------------------------------------------------------------------- + + $ cd $HOME/XBMC + $ 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 + +or + + $ 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 + + +5. Gesture Handling on iPad/iPhone/iPod touch + +double finger swipe left -> back +double finger tap -> right mouse +single finger tap -> left mouse +panning, and flicking -> panning and flicking works for media lists only at the moment ... scrollbars and other stuff are only clickable (single tap), for now + diff --git a/docs/README.linux b/docs/README.linux new file mode 100644 index 0000000000..cd337a7303 --- /dev/null +++ b/docs/README.linux @@ -0,0 +1,144 @@ + +TOC +1. Introduction +2. Getting the source code +3. Installing the required libraries and headers +4. How to compile +5. How to run +6. Uninstalling + +----------------------------------------------------------------------------- +1. Introduction +----------------------------------------------------------------------------- + +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 +----------------------------------------------------------------------------- + +You will have to grab the source code of course. First install the git +package provided by your distribution. Then from a terminal, type: + + $ cd $HOME + $ git clone git://github.com/xbmc/xbmc.git xbmc + +----------------------------------------------------------------------------- +3. Installing the required libraries and headers +----------------------------------------------------------------------------- + +You will then need the required libraries. The following is the list of packages +that are used to build XBMC packages on Debian/Ubuntu (with all supported +external libraries enabled). + +Build-Depends: debhelper (>= 7.0.50~), python-support, cmake, + autotools-dev, autoconf, automake, unzip, libboost-dev, zip, libtool, + libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev, libglew-dev, + libmad0-dev, libjpeg-dev, libsamplerate-dev, libogg-dev, libvorbis-dev, + libfreetype6-dev, libfontconfig-dev, libbz2-dev, libfribidi-dev, + libsqlite3-dev, libmysqlclient-dev, libasound2-dev, libpng12-dev | libpng-dev, + libpcre3-dev, liblzo2-dev, libcdio-dev, libsdl-dev, libsdl-image1.2-dev, + libsdl-mixer1.2-dev, libenca-dev, libjasper-dev, libxt-dev, + libxmu-dev, libxinerama-dev, libcurl4-gnutls-dev | libcurl-dev, + libdbus-1-dev, libhal-storage-dev, libhal-dev, libpulse-dev, + libavahi-common-dev, libavahi-client-dev, libxrandr-dev, libavcodec-dev, + libavformat-dev, libavutil-dev, libpostproc-dev, libswscale-dev, + libmpeg2-4-dev, libass-dev (>= 0.9.8), libmpcdec-dev, libflac-dev, + python-dev, gawk, gperf, nasm [!amd64], libcwiid1-dev, + libbluetooth-dev, zlib1g-dev, libsmbclient-dev, libboost-thread-dev + libiso9660-dev, libssl-dev, lsb-release, libvdpau-dev, libmicrohttpd-dev, + libmodplug-dev, librtmp-dev, libcrystalhd-dev, curl, python-dev, libyajl-dev, + libplist-dev, libusb-dev, libudev-dev, libltdl-dev, libtinyxml-dev + +*** For developers and anyone else who compiles frequently it is recommended to +use ccache + +-------------------------------------------------------------- +3.1. Using the XBMC PPA to get all build dependencies (Debian/Ubuntu only) +-------------------------------------------------------------- + +For this, you need to specify the PPA in your apt sources. Please find them on +the forum. + +http://forum.xbmc.org/showthread.php?t=33327 + +Update apt: + $ 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 + +----------------------------------------------------------------------------- +4. How to compile +----------------------------------------------------------------------------- + +To create the XBMC executable manually perform these steps: + +.0 $ ./bootstrap + +.1 $ ./configure ... (See --help for available options) + +A full listing of supported options can be viewed by typing +'./configure --help'. + +.2 $ make + +Tip: by adding -j to the make command, you describe how many + concurrent jobs will be used. So for dualcore the command is: + + $ make -j2 + +.3 $ make install + +This will install XBMC in the prefix provided in 4.1 as well as a launcher script. + +NOTE: You may need to run this with sudo (sudo make install) if your user +doesn't have write permissions to the prefix you have provided (as in the +default case, /usr/local). + +Tip: To override the location that XBMC is installed, use PREFIX=. +For example. + + $ make install DESTDIR=$HOME/xbmc + +----------------------------------------------------------------------------- +5. How to run +----------------------------------------------------------------------------- +How to run xbmc depends on the type of installation you have done. It is +possible to run XBMC without the requirement to install xbmc anywhere else. In +this case, type the following from the top source directory. + + $ ./xbmc.bin + +If you chose to install XBMC using '/usr' or '/usr/local' as the PREFIX, you +can just issue 'xbmc' in a teminal session. + +If you overridden PREFIX to install XBMC into some non-standard location, you +will have to run xbmc by directly running 'xbmc.bin'. For example. + + $ $HOME/xbmc/usr/share/xbmc.bin + +If you wish to use VDPAU decoding you will now have to change the Render Method +in Settings->Videos->Player from "Auto Detect" to "VDPAU". + +----------------------------------------------------------------------------- +6. Uninstalling +----------------------------------------------------------------------------- +Issue "make uninstall" ("sudo make uninstall" if you user doesn't have write +permission to the install directory) from your source tree. If you would like +to also remove any settings and 3rd party addons (skins, scripts, etc) you +should also run "rm -rf ~/.xbmc". + +NOTE: If you have rerun configure with a different prefix, you will either need +to rerun configure with the correct prefix for this step to work correctly. + +EOF + diff --git a/docs/README.osx b/docs/README.osx new file mode 100644 index 0000000000..51703f405e --- /dev/null +++ b/docs/README.osx @@ -0,0 +1,151 @@ +TOC +1. Introduction +2. Getting the source code +3. Install required libs + 3.1. Install Xcode + 3.2. Install XBMC build depends +4. How to compile and run + 4.1 Using XCode + 4.2 Using Command line +5. Packaging + +----------------------------------------------------------------------------- +1. Introduction +----------------------------------------------------------------------------- + +This is a platform port of XBMC for the Apple OSX operating system. Both 10.5 +and 10.6 Intel development platforms are supported. Xcode 4.x is not supported. +The current build system is Xcode 3.2.5 There are two ways to build XBMC for Mac, +from command-line or from Xcode. + +Generally, Xcode is the easiest as it presents the build system in a GUI environment. +The command-line build is still under development. + +XBMC for Mac is composed of a main binary with numerous dynamic libraries and +codecs that support a multitude of music and video formats. + +NOTE TO NEW OS X USERS: All lines that are prefixed with the '$' character are +commands that need to be typed into a Terminal window. Note that the '$' +character itself should NOT be typed as part of the command. + + +----------------------------------------------------------------------------- +2. Getting the source code +----------------------------------------------------------------------------- + + $ cd $HOME + $ git clone git://github.com/xbmc/xbmc.git xbmc + +----------------------------------------------------------------------------- +3.0 Install XCODE +----------------------------------------------------------------------------- +Install latest Xcode. You can download it from Apple's site after registration at +(http://developer.apple.com/tools/download). You also need to install the 10.4 +sdk. If using Xcode 3.x, you MUST use Xcode 3.1.2 or a newer version, so update +your existing version. if you are running a previous Xcode 3.x version. +Xcode 3.x only runs on 10.5 and above. If you are running 10.7, DO NOT USE Xcode 4.x, +it will fail. Use Xcode 3.x under 10.7. + +----------------------------------------------------------------------------- +3.1 Install XBMC build depends +----------------------------------------------------------------------------- + + $ cd $HOME/XBMC + $ cd tools/darwin/depends + $ ./bootstrap + $ ./configure --with-darwin=osx + $ make + +----------------------------------------------------------------------------- +4. How to compile +----------------------------------------------------------------------------- +Both Xcode and Terminal compilation require that build environment be setup +first. This is a simple step and involves the following: + + $ cd $HOME/XBMC + $ make -C tools/darwin/depends/xbmc + $ make clean + $ make xcode_depends + +The configure operation will setup the build environment for codecs and +internal libraries that are used by XBMC. This step is required for both Xcode +and command-line building. The "make clean" ensures that there are no stale +binaries from git that might cause problems. The last step will pre-build +the majority of the codecs and libs: + +----------------------------------------------------------------------------- +4.1 Using Xcode +----------------------------------------------------------------------------- +Start XCode and open the XBMC project (XBMC.xcodeproj) located in $HOME/XBMC. +For development, XBMC is run from the $HOME/XBMC directory and needs to have +the XBMC_HOME environment variable set to know where that directory is located. +To set XBMC_HOME environment variable: + +Menu -> Project -> Edit Active Executable "XBMC", click "Arguments" tab and +add "XBMC_HOME" as an enviroment variable. Set the value to the path to the +XBMC root folder. For example, "/Users/bigdog/Documents/XBMC" + +There are two build targets "XBMC" and "XBMC.app" with debug and release +settings. The "XBMC" target is used for rapid build and debug cycles while +the "XBMC.app" target is used to build a self contained OSX application. + +Set the build target to "XBMC" or "XBMC.app", then build. The build process +will take a long time when builting the first time. You can see the progress +in "Build Results". There are a large number of static and dynamic libaries +that will need to be built. Once these are built, subsequent builds will be +faster. + +After the build, you can ether run XBMC for Mac from Xcode or run it from +the command-line. If you run it from the command-line, make sure your set +the XBMC_HOME environment variable (export XBMC_HOME=$HOME/XBMC). Then, to +run the debug version: + +$ ./build/Debug/XBMC + +Or the release version: + +$ ./build/Release/XBMC + +You can also build via Xcode from the command-line using the following: + +$ xcodebuild -configuration Release -target "XBMC.app" -project XBMC.xcodeproj + +You can specify "Release" instead of "Debug" as a configuration. + +----------------------------------------------------------------------------- +4.2 Using Terminal (command-line) (this is a work in progress and might fail) +----------------------------------------------------------------------------- +There are two methods, a) make/Xcode and b) make (which might fail as it's under +construction). + +If you want to build a cross-compiled version that can run under 10.5/10.4/AppleTV, +then you'll need to follow the additional steps listed in $HOME/XBMC/tools/XBMCTex/README.osx +before running xcodebuild from the command-line. + + a) + $ cd $HOME/XBMC + $ export XBMC_HOME=`pwd` + $ make xcode_depends + $ xcodebuild -sdk macosx10.4 -project XBMC.xcodeproj -target XBMC.app -configuration Release build + + b) + $ cd $HOME/XBMC + $ export XBMC_HOME=`pwd` + $ make xbmc + $ ./xbmc.bin + +----------------------------------------------------------------------------- +5. Packaging +----------------------------------------------------------------------------- +This section describes how to package XBMC in a disk image for +distribution. + + 1. build XBMC.app from XCode so that the application bundle is correctly updated. + + 2. make -C tools/darwin/packaging/xbmc-osx + + 3. If completed successfully, a disk image named XBMC_for_Mac.dmg will be + present in the users XBMC build directory: + +Remember to unmount/eject XBMC.dmg before attempting to recreate it, +otherwise dmgmaker.pl will fail. diff --git a/docs/README.ubuntu b/docs/README.ubuntu new file mode 100644 index 0000000000..df1578f4cd --- /dev/null +++ b/docs/README.ubuntu @@ -0,0 +1,108 @@ +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 Hardy(8.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 PPA: + + http://launchpad.net/~team-xbmc/+archive/ppa + +-------------------------------------------------------------------- +3.1. Copy and paste the following line corresponding to your system +-------------------------------------------------------------------- + +For Ubuntu (all versions >= 7.04): + + # sudo apt-get install git-core 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 libasound2-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 libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs python-dev libyajl-dev libboost-thread-dev libplist-dev libusb-dev libudev-dev libtinyxml-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 + +-------------------------------------------------------------- +3.2. Use a single command to get all build dependencies +-------------------------------------------------------------- + +You can get all build dependencies used for building the packages on the PPA. For this, you +need to specify the PPA in your apt sources. Please find the documentation on how to add a +PPA to your system here: + + http://launchpad.net/+help/soyuz/ppa-sources-list.html + +The PPA used for XBMC (developpement version) is located on the following page: + + http://launchpad.net/~team-xbmc/+archive/unstable + +[Note 1] Click on "Technical details about this PPA" to display the sources.list entries. + +[Note 2] If you are using a distribution that has outdated libraries, do not forget to use + the following ppa: + http://launchpad.net/~team-xbmc/+archive/ppa + +Update apt: + # 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 + +*** For Hardy add "deb http://ppa.launchpad.net/team-xbmc/xbmc-ppa-build-depends/ubuntu hardy main" to sources.list + +*** 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 + +----------------------------------------------------------------------------- +4. How to compile +----------------------------------------------------------------------------- +See README.linux + +----------------------------------------------------------------------------- +5. Uninstalling +----------------------------------------------------------------------------- +$ sudo apt-get remove xbmc* + +EOF + -- cgit v1.2.3