2009/11/12 Ian Lance Taylor <i
...@google.com>:
> That code is for 64-bit Mach. It may be that that support only
> appeared in the Darwin header files in OS X 10.5 and later--I'm not
> sure.
10.5 is the first version to have 64 bit support, so yes, you are correct.
> Can anybody suggest a #ifdef or something to detect this case?
There's __LP64__ which is defined to 1 when compiling for a 64 bit architecture.
There's also __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__. The system
headers seem to use this to detect which specific platform you're
compiling for and enables specific types based on this.
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) &&
__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
...
#endif
1050 is the magic value for 10.5.0.
Cheers,
Carsten Sørensen