Just one more thing...

Michel Fortin michel.fortin at michelf.com
Sat Feb 14 17:08:25 PST 2009


On 2009-02-14 16:27:22 -0500, Walter Bright <newshound1 at digitalmars.com> said:

> Anders F Björklund wrote:
>> I gather this only works with Mac OS X 10.5 "Leopard" ?
>> 
>> $ dmd/osx/bin/dmd hello.d
>> Bus error
>> 
>> Could it be rebuilt with the MacOSX10.4u.sdk, perhaps ?
> 
> Is 10.5 really binary incompatible with 10.4 ?

It is compatible, unless you're using a new API or new linker features 
which weren't available in 10.4.

Development on Mac OS X works by choosing a target SDK and a deployment 
target version. Unless you want to use new APIs from 10.5, you should 
use the MacOSX10.4u.sdk SDK. Here's some documentation about how to do 
that:

<http://developer.apple.com/documentation/developertools/conceptual/cross_development/Using/chapter_3_section_2.html#//apple_ref/doc/uid/20002000-1114311-BABGCAAB>

If 

you use the 10.5 SDK, or no SDK at all, then the new APIs from 10.5 are 
available and if your software links to some of that it won't be 
possible to run it on 10.4. You can set the (minimum) deployment target 
to 10.4 if you want: this will cause functions from 10.5 to be 
weak-linked, and then you can check at runtime if they're available and 
not use them if they're not. But if you don't need anything specific to 
10.5, you should just use the 10.4 SDK and then you'll be pretty sure 
it runs correctly there.


> And not even a nice message when it isn't?

Unfortunately no, not automatically.

-- 
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/



More information about the Digitalmars-d-announce mailing list