OSXHorrors » History » Version 10

Version 9 (Chris Cannam, 2011-02-28 05:11 PM) → Version 10/29 (Chris Cannam, 2011-02-28 05:11 PM)

h1. OS/X version, hardware platform, and Qt version compatibility

*Executive summary:* For a program like EasyHg that demands the widest possible compatibility, we currently want to hit the following targets:

* 10.4 PPC 32-bit Carbon
* 10.4 Intel 32-bit Carbon
* 10.6 Intel 64-bit Cocoa

To do this, we currently need at least two builds of Qt:

* 10.5 or 10.6 gcc-4.2 Cocoa x86_64 and optionally i386
* 10.4 gcc-4.0 Carbon PPC and i386

This currently means the Qt 4.7.1 default distribution plus a separate Carbon build will do.

Note it is not possible to cover all platforms in a single build step, we always need to do at least two separate builds plus lipo.

h2. OS/X 10.6

h3. As target

* By far the most common version as of Feb 2011
* Not supported on PPC
* Runs in 64-bit mode by default where possible
* Note Python is also 64-bit by default, so PyQt needs to be as well
*
Is _not_ always 64-bit -- it is supported on 32-bit-only hardware such as Core Duo (first Intel Macs)

h3. As build host

* Builds 64-bit by default
* Can be used to do 32-bit Intel and PPC builds

h2. OS/X 10.5

h3. As target

* Not all that much more widely used than 10.4 -- if we were dropping 10.4, we probably might as well drop 10.5 as well
* Last version supported for PPC platforms
* Runs in 32-bit mode by default
* Can build for it from 10.5, 10.6
* Requires SDK @/Developer/SDKs/MacOSX10.5.SDK@
* First version to support Objective-C 2.0
* Qt Cocoa supported

h3. As build host

* Builds 32-bit by default
* Can be used to do 64-bit builds

h2. OS/X 10.4

h3. As target

* Oldest version still apparently in use as of Feb 2011: not very widespread (low single digit %age of Mac users), but at least two researchers here use it
* Appears in PPC and i386 systems
* Runs in 32-bit mode only
* Can build for it from 10.4, 10.5, 10.6
* Requires SDK @/Developer/SDKs/MacOSX10.4u.SDK@
* Requires @-mmacosx-version-min=10.4@ on 10.5+
* Requires gcc-4.0 to be requested explicitly on 10.6
* Does not support Objective-C 2.0
* Not a supported target for Qt's Cocoa builds, Qt Carbon needed

h3. As build host

* Does not support Objective-C 2.0
* 10.4u SDK can be used to build 64-bit executables of simple C/C++ programs such as plugins, but not of GUIs or anything using Core frameworks