Any reason not to use _DARWIN instead of _APPLE? (so we'd have BUILD_DARWIN and TARGET_DARWIN)