Merge pull request #4878 from FernetMenta/xfade
[vuplus_xbmc] / docs / README.osx
index 4221131..fa4ec45 100644 (file)
@@ -13,8 +13,8 @@ TOC
 1. Introduction
 -----------------------------------------------------------------------------
 
-This is a platform port of XBMC for the Apple OSX operating system. Both 10.6
-and 10.7 Intel development platforms are supported. Xcode 3.2.6 and 4.3 and newer
+This is a platform port of XBMC for the Apple OSX operating system. 10.6, 10.7
+and 10.8 Intel development platforms are supported. Xcode 3.2.6 and 4.3 and newer
 are the recommended versions.
 There are 3 ways to build XBMC for Mac, from command-line with make, from command-line
 using xcodebuild or from Xcode.
@@ -27,11 +27,15 @@ codecs that support a multitude of music and video formats.
 
 On Snow Leopard (OSX 10.6.x) we recommend using Xcode 3.2.6.
 On Lion (OSX 10.7.x) we recommend using Xcode 4.3.x.
+On Mountain Lion (OSX 10.8.1) we recommend using Xcode 4.4.
 
 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.
 
+ATTENTION: When using Mountain Lion (OSX 10.8.x) you need to download and install
+XQuartz from https://xquartz.macosforge.org/landing/ since its not part of OSX
+anymore.
 
 -----------------------------------------------------------------------------
 2. Getting the source code
@@ -43,6 +47,8 @@ character itself should NOT be typed as part of the command.
 -----------------------------------------------------------------------------
 3.0 Install XCODE
 -----------------------------------------------------------------------------
+See point 3.0a below for an updated list of supported/tested Xcode/osx constellations!!!
+
 Install latest Xcode (4.3.2 or 3.2.6 as of the writing). You can download it from 
 
 1. Apple's site after registration at http://developer.apple.com/tools/download (Xcode 3.2.6)
@@ -57,29 +63,46 @@ Xcode 4.3.x only runs on 10.7.x (Lion).
 Xcode 4.4 only runs on 10.8.x (Mountain Lion).
 
 -----------------------------------------------------------------------------
+3.0a Supported Xcode and OSX constellations
+-----------------------------------------------------------------------------
+As far as we know the compilation for mac osx should work with the following
+constellations of Xcode and osx versions (to be updated once we know more):
+1. XCode 3.2.6 against OSX SDK 10.6 on 10.6.x (Snow Leopard)
+2. XCode 4.3.x against OSX SDK 10.6 and 10.7 on 10.7.x (Lion)
+3. XCode 4.6 against OSX SDK 10.6, 10.7 and 10.8 on 10.7.x (Lion) and 10.8.x (ML)
+
+-----------------------------------------------------------------------------
 3.1 Install XBMC build depends
 -----------------------------------------------------------------------------
+ The following commands will build using the latest OSX SDK found on your
+ system.
 
 3.1.1 Compiling as 32 Bit binary
  $ cd $HOME/XBMC
- $ cd tools/darwin/depends
+ $ cd tools/depends
  $ ./bootstrap
- $ ./configure --with-darwin=osx
+ $ ./configure --host=i386-apple-darwin
  $ make
 
 3.1.2 Compiling as 64 Bit binary
  $ cd $HOME/XBMC
- $ cd tools/darwin/depends
+ $ cd tools/depends
  $ ./bootstrap
- $ ./configure --with-darwin=osx --with-arch=x86_64
+ $ ./configure --host=x86_64-apple-darwin
  $ make
 
-IMPORTANT!! for Mountain Lion users. In Xcode 4.4 there is only SDK 10.7 and 10.8
-available. The XBMC buildsystem defaults to 10.6. So for compiling with ML
-you have to specify the 10.7 SDK explicitly on configure:
+ NOTE: You can speedup compilation on multicore systems by doing
+ "make -j<number of cores>" instead of "make". For a dualcore this would read:
+ "make -j2"
+
+ ADVANCED developers only! If you want to specify an OSX SDK version (if
+ multiple versions are installed) - then append it to the configure line
+ above (example below would use OSX SDK 10.7 and build for 64bit):
 
- $ ./configure --with-darwin=osx --with-sdk=10.7
+ $ ./configure --host=x86_64-apple-darwin --with-sdk=10.7
 
+ Ensure that you also adapt the xcode project to use this SDK version.
 
 -----------------------------------------------------------------------------
 4. How to compile
@@ -91,15 +114,14 @@ first. This is a simple step and involves the following:
     by compiling via Xcode GUI
 
  $ cd $HOME/XBMC
- $ make -C tools/darwin/depends/xbmc
+ $ make -C tools/depends/target/xbmc
  $ make clean
  $ make xcode_depends
- $ make -C lib/addons/script.module.pil
 
 4.b Compilation by using command-line building via make (experimental)
 
  $ cd $HOME/XBMC
- $ make -C tools/darwin/depends/xbmc
+ $ make -C tools/depends/target/xbmc
  $ make clean
 
 The configure operation will setup the build environment for codecs and
@@ -134,8 +156,9 @@ Set the build target to "XBMC" or "XBMC.app" and be sure to select the same
 architecture as selected in step 3.1 (either i386 for 32Bit or x86_64 for 64Bit), 
 then build. 
 
-Mountain Lion users have to ensure to build against 10.7 SDK not 10.8 (which is
-selected in Xcode 4.4 by default).
+If you have selected a specific OSX SDK Version in step 3.1 then you might need 
+to adapt the active target to use the same OSX SDK version. Else build will fail 
+(you will see alot of errors with at least non-found boost/shared_ptr.hpp).
 
 The build process will take a long time when building the first time. 
 You can see the progress in "Build Results". There are a large number of static 
@@ -176,7 +199,6 @@ developers).
  $ cd $HOME/XBMC
  $ export XBMC_HOME=`pwd`
  $ make xcode_depends
- $ make -C lib/addons/script.module.pil
  $ xcodebuild -sdk macosx10.7 -project XBMC.xcodeproj -target XBMC.app ONLY_ACTIVE_ARCH=YES \
    ARCHS=x86_64 VALID_ARCHS=x86_64  -configuration Release build
 
@@ -194,11 +216,11 @@ distribution.
 
   1. build XBMC.app from XCode so that the application bundle is correctly updated.
 
-  2. make -C tools/darwin/packaging/xbmc-osx
+  2. $ cd 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:
+  3. $ ./mkdmg-xbmc-osx.sh release
 
-Remember to unmount/eject XBMC.dmg before attempting to recreate it,
-otherwise dmgmaker.pl will fail.
+  4. Use release or debug - you have to be sure that you build the corresponding
+     version before.
 
+  6. Find the corresponding dmg in the packaging dir.