Installing DeSmuME from source on OS X

From DeSmuME
(Difference between revisions)
Jump to: navigation, search
Line 29: Line 29:
 
| Yes
 
| Yes
 
| No
 
| No
 +
|-
 +
! scope="row" | OpenEmu Plug-in
 +
| DeSmuME (XCode 4).xcodeproj
 +
| No
 +
| No
 +
| No
 +
| Yes
 
|}
 
|}
  
Line 56: Line 63:
 
* If you are running OS X v10.7 (or "Lion") and you want to build a standard DeSmuME application that does not require backwards compatibility with Leopard, then you may skip installing Xcode 3 and only install Xcode 4.
 
* If you are running OS X v10.7 (or "Lion") and you want to build a standard DeSmuME application that does not require backwards compatibility with Leopard, then you may skip installing Xcode 3 and only install Xcode 4.
 
* If you are running OS X v10.7 (or "Lion"), and you want to build a standard DeSmuME application that runs on Leopard and also includes the build enhancements of newer compilers, then you must install both Xcode 3 and Xcode 4.
 
* If you are running OS X v10.7 (or "Lion"), and you want to build a standard DeSmuME application that runs on Leopard and also includes the build enhancements of newer compilers, then you must install both Xcode 3 and Xcode 4.
 +
* If you want to build the OpenEmu Plug-in, you must install Xcode 4.
  
 
==== Download Xcode ====
 
==== Download Xcode ====
Line 126: Line 134:
  
 
=== Legacy App Build Using the Legacy Project ===
 
=== Legacy App Build Using the Legacy Project ===
 +
TBD
 +
 +
=== OpenEmu Plug-in Build Using the Xcode 4 Project ===
 
TBD
 
TBD
  
Line 140: Line 151:
 
! scope="col" width="100" | lipo (Official-like App Build)
 
! scope="col" width="100" | lipo (Official-like App Build)
 
! scope="col" width="100" | Legacy Project (Legacy App Build)
 
! scope="col" width="100" | Legacy Project (Legacy App Build)
 +
! scope="col" width="100" | Xcode 4 Project (OpenEmu Plug-in)
 
|-
 
|-
 
! scope="row" | PPC
 
! scope="row" | PPC
Line 146: Line 158:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | PPC64
 
! scope="row" | PPC64
Line 152: Line 165:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | i386
 
! scope="row" | i386
Line 158: Line 172:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | x86_64
 
! scope="row" | x86_64
 +
| Yes
 
| Yes
 
| Yes
 
| Yes
 
| Yes
Line 170: Line 186:
 
| No
 
| No
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | OS X v10.5 (Leopard)
 
! scope="row" | OS X v10.5 (Leopard)
Line 176: Line 193:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | OS X v10.6 (Snow Leopard)
 
! scope="row" | OS X v10.6 (Snow Leopard)
Line 182: Line 200:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | OS X v10.7 (Lion)
 
! scope="row" | OS X v10.7 (Lion)
Line 187: Line 206:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
| No
+
| Yes
 +
| Yes
 
|-
 
|-
 
! scope="row" | OS X v10.8 (Mountain Lion)
 
! scope="row" | OS X v10.8 (Mountain Lion)
 +
| No
 
| No
 
| No
 
| No
 
| No
Line 205: Line 226:
 
! scope="col" width="100" | Official-like App (lipo)
 
! scope="col" width="100" | Official-like App (lipo)
 
! scope="col" width="100" | Legacy App (Xcode 3 Legacy)
 
! scope="col" width="100" | Legacy App (Xcode 3 Legacy)
 +
! scope="col" width="100" | OpenEmu Plug-in (Xcode 4)
 
|-
 
|-
 
! scope="row" | PowerPC, 32-bit
 
! scope="row" | PowerPC, 32-bit
Line 211: Line 233:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | PowerPC, 64-bit
 
! scope="row" | PowerPC, 64-bit
Line 217: Line 240:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | Intel, 32-bit
 
! scope="row" | Intel, 32-bit
Line 223: Line 247:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | Intel, 64-bit
 
! scope="row" | Intel, 64-bit
 +
| Yes
 
| Yes
 
| Yes
 
| Yes
 
| Yes
Line 235: Line 261:
 
| No
 
| No
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | OS X v10.5 (Leopard)
 
! scope="row" | OS X v10.5 (Leopard)
Line 241: Line 268:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | OS X v10.6 (Snow Leopard)
 
! scope="row" | OS X v10.6 (Snow Leopard)
Line 247: Line 275:
 
| Yes
 
| Yes
 
| Yes
 
| Yes
 +
| No
 
|-
 
|-
 
! scope="row" | OS X v10.7 (Lion)
 
! scope="row" | OS X v10.7 (Lion)
 +
| Yes
 
| Yes
 
| Yes
 
| Yes
 
| Yes
Line 255: Line 285:
 
|-
 
|-
 
! scope="row" | OS X v10.8 (Mountain Lion)
 
! scope="row" | OS X v10.8 (Mountain Lion)
 +
| Unknown
 
| Unknown
 
| Unknown
 
| Unknown
 
| Unknown
Line 262: Line 293:
  
  
=== Feature Comparison of Builds ===
+
=== Feature Comparison of App Builds ===
 
TBD
 
TBD
  

Revision as of 19:45, 7 March 2012

Contents

Available Build Targets

Project File OS X v10.4 (Tiger) OS X v10.5 (Leopard) OS X v10.6 (Snow Leopard) OS X v10.7 (Lion)
Standard App (Universal) DeSmuME (Xcode 3).xcodeproj No Yes Yes No
Standard App (Intel-only) DeSmuME (Xcode 4).xcodeproj No Yes Yes Yes
Legacy App (Universal) DeSmuME (Legacy).xcodeproj Yes Yes Yes No
OpenEmu Plug-in DeSmuME (XCode 4).xcodeproj No No No Yes

Set Up the Build Environment

All DeSmuME build targets must be built using Apple's Xcode IDE. The Xcode project files, included in the desmume/src/cocoa directory of the source code, are supported for the following versions of Xcode:

Project File Name Supported Xcode Version
DeSmuME (Xcode 3).xcodeproj v3.2.6 only
DeSmuME (Xcode 4).xcodeproj v4.3 or later
DeSmuME (Legacy).xcodeproj v3.2.6 only

Xcode Setup

It is usually best to install both Xcode 3 and Xcode 4 so that you can use all of the build targets and all of the build options. However, depending on your needs, you may not necessarily need to install both versions of Xcode.

  • If you want to build a standard DeSmuME application that runs on PowerPC machines, you must install Xcode 3.
  • If you want to build a legacy DeSmuME application, you must install Xcode 3.
  • If you want to build a standard DeSmuME application that runs on Leopard, but does not require the build enhancements of newer compilers, then you must install Xcode 3, but you may skip installing Xcode 4.
  • If you are running OS X v10.7 (or "Lion") and you want to build a standard DeSmuME application that does not require backwards compatibility with Leopard, then you may skip installing Xcode 3 and only install Xcode 4.
  • If you are running OS X v10.7 (or "Lion"), and you want to build a standard DeSmuME application that runs on Leopard and also includes the build enhancements of newer compilers, then you must install both Xcode 3 and Xcode 4.
  • If you want to build the OpenEmu Plug-in, you must install Xcode 4.

Download Xcode

Below are the download links to Xcode 3 and Xcode 4.

Uninstall Previous Versions of Xcode

We highly recommend that you uninstall any previous versions of Xcode before you begin your installation. Doing so will better guarantee that you will have a clean build environment for DeSmuME. The easiest method for uninstalling Xcode is to use the uninstall-devtools script, located in the Library folder of your Xcode installation.

Note: You do not need to uninstall any versions of Xcode that are v4.3 or later. These versions of Xcode are self-contained application packages, which do not conflict with other Xcode versions.

To uninstall Xcode, open Terminal and type the following command into the command line:

sudo /Developer/Library/uninstall-devtools -mode=all

Note: You must be logged into an Administrator account to use this command.

Note: This command assumes that Xcode was installed at the default location. The path to the uninstall-devtools script may be different if you did not use the default location when installing Xcode from before.

Set Up Xcode 3

Note: If you do not require the build options that Xcode 3 provides, then you may skip this step. See the Xcode Setup section for more details.

After Xcode 3 is downloaded, you will have a traditional .dmg disk image containing a package installer. Start the Xcode 3 installation by opening the installer, and follow the onscreen instructions until you get to the installation list.

Your installation may be different, depending on your needs:

  • If you are planning on using the Legacy project, you will need to install the Mac OS X 10.4 SDK.
  • If you are planning on installing Xcode 4, take note of the install location. You will need it later for when you need to make symbolic links between Xcode 3 and Xcode 4. We recommend using the default location, /Developer.
  • If you are planning on installing Xcode 4, then you should skip installing the iOS SDK, which is listed under Essentials. Since Xcode 4 already has a newer version of the iOS SDK, installing the version included with Xcode 3 will be a waste of time and disk space.

Continue the installation as normal and let the installation finish.

Set Up Xcode 4

When you download Xcode 4 from the Mac App Store, the application should already install itself to the Applications folder once the download is complete.

Note: If you do not require the build options that Xcode 4 provides, then you may skip this step. See the Xcode Setup section for more details.

To support SDKs older than OS X v10.6 (or "Snow Leopard") in Xcode 4, you must first install Xcode 3, then make symbolic links from the Xcode 3 SDKs directory into the Xcode 4 SDKs directory. To do this, open Terminal and type the following commands into the command line:

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
sudo ln -s /Developer/SDKs/MacOSX10.4u.sdk
sudo ln -s /Developer/SDKs/MacOSX10.5.sdk

Note: You must be logged into an Administrator account to use these commands.

Note: These commands assume that Xcode 3 was installed at the default location. The path to the SDKs directory may be different if you did not use the default location when installing Xcode 3.

Now, the OS X v10.4 (or "Tiger") and Leopard SDKs should now be available in Xcode 4.

Download the DeSmuME Source Code

TBD

Download via SourceForge

TBD

Download via Command Line

TBD

Build the DeSmuME Source

TBD

Standard App Build Using the Xcode 3 Project

TBD

Standard App Build Using the Xcode 4 Project

TBD

Official-like App Build Using lipo

TBD

Legacy App Build Using the Legacy Project

TBD

OpenEmu Plug-in Build Using the Xcode 4 Project

TBD

Appendix A: Comparison Charts of Different Builds

TBD

Build Target Availability

TBD

Xcode 3 Project (Standard App Build) Xcode 4 Project (Standard App Build) lipo (Official-like App Build) Legacy Project (Legacy App Build) Xcode 4 Project (OpenEmu Plug-in)
PPC Yes No Yes Yes No
PPC64 Yes No Yes Yes No
i386 Yes Yes Yes Yes No
x86_64 Yes Yes Yes Yes Yes
OS X v10.4 (Tiger) No No No Yes No
OS X v10.5 (Leopard) Yes Yes Yes Yes No
OS X v10.6 (Snow Leopard) Yes Yes Yes Yes No
OS X v10.7 (Lion) No Yes Yes Yes Yes
OS X v10.8 (Mountain Lion) No No No No No

Build Compatibility

TBD

Standard App (Xcode 3) Standard App (Xcode 4) Official-like App (lipo) Legacy App (Xcode 3 Legacy) OpenEmu Plug-in (Xcode 4)
PowerPC, 32-bit Yes No Yes Yes No
PowerPC, 64-bit Yes No Yes Yes No
Intel, 32-bit Yes Yes Yes Yes No
Intel, 64-bit Yes Yes Yes Yes Yes
OS X v10.4 (Tiger) No No No Yes No
OS X v10.5 (Leopard) Yes Yes Yes Yes No
OS X v10.6 (Snow Leopard) Yes Yes Yes Yes No
OS X v10.7 (Lion) Yes Yes Yes Yes Yes
OS X v10.8 (Mountain Lion) Unknown Unknown Unknown Unknown Unknown


Feature Comparison of App Builds

TBD

Standard App (Xcode 3) Standard App (Xcode 4) Official-like App (lipo) Legacy App (Xcode 3 Legacy)
Relative Performance Fast Fastest Fastest Slow
User Interface Current Current Current Based on v0.9.7
Personal tools