[Openmcl-devel] Incompatibility with Xcode 4?

Gary Byers gb at clozure.com
Tue Mar 15 18:52:43 PDT 2011

On Tue, 15 Mar 2011, Gary Palter wrote:

> On Mar 15, 2011, at 8:33 PM, Gary Byers wrote:
>> The good news is that XCode 4.0 can't be used to develop applications
>> that use 10.7-specific features.  (They don't release headers/documentation
>> for unreleased OS versions.)  I have no idea how post-4.0 versions of XCode
>> will be distributed (or what OS versions, if any, Apple will decide to drop
>> support for)
> While Xcode 4.0 doesn't support 10.7 development, you can still specify a minimum target of 10.5.  You just can't use the 10.5 SDK as it's not there.  You have to use the 10.6 SDK and be careful about not calling 10.6 APIs without checking that they're available first.
> I think it should be possible to build CCL using Xcode 4 and have it run on 10.5.  I've not tried this myself and I don't have any machines running 10.5 I can use right now.

I sent mail to this list yesterday suggesting a similar approach and
Matt changed the Darwin Makefiles to make parameterizing them easier.
The approach that I tried involved simply not specifiying an SDK
explicitly (letting the C compiler find headers in /usr/include), and
a kernel built on Snow Leopard with that change seems to run on 10.5.
(We may need to #define a few things to deal with 10.5->10.6 changes;
I think that Matt's familiar with the details.)

>> If you don't upgrade to XCode 4.1, how will you be able to develop applications
>> for iOS 4.3, and if you don't develop such applications how will Apple make any
>> money from allowing you to sell them ?  Some people are just so selfish ...
>> If you actually need to continue to develop for/support Leopard, Apple recommends
>> that you install both XCode 3.x and 4.x in separate directories.  If you can
>> predict how the order in which these packages are installed affects which
>> versions of the command-line tools (if any) get installed in places like /usr/bin,
>> then you know far too much about about how the installation process works.  (At
>> some point in a late beta release of XCode 4, the option to install the command-line
>> tools at all was disabled by default; I don't know whether or not this was true
>> of the final version.)
> Only one version of the command line tools (in /usr/bin, etc.) can be installed.  So, it's entirely up to the developer which version they get.  If you've already installed, say Xcode 4, and then install Xcode 3 and say to install the command line tools, they will replace those from Xcode 4.  And, of course, vice-versa.

If you know for sure that the installer just blindly overwrites whatever's there,
then you clearly know too much about installer behavior.

> I believe both Xcode 3 and 4 installers now default to not installing the command line tools to force the developer to decide what to do.

XCode 3 enables the option to install command-line tools (it leaves the option
for the 10.4 SDK unchecked.)  If it were possible to talk publically about
post-4.0 versions, it would be possible to say something interesting (fsvo 
"interesting") about how those versions do or do not differ from 4.0 in this
regard, but of course that isn't possible.

I hadn't considered the possibility that the decision to leave this unchecked
in the 4.0 installer was made by grownups or made for some rational reason,
but I suppose that it could have been.

More information about the Openmcl-devel mailing list