> >>> OK, I thought there would be some defines that we could use for that, too 
> >>> bad if there isn't
> >>> and indeed we might need to perform another runtime check then as 
> >>> suggested by Iain.
> >> 
> >> I can see a possible interface, operatingSystemVersion in NSProcessInfo.h 
> >> - Objective C
> >> needed, I think
> > 
> > Some of the NS interfaces are available to regular C (e.g. stuff in 
> > CoreFoundation), and I am
> > fairly/very sure that we will be able to find a machanism that does not 
> > involve introducing an
> > ObjC dep.  [I am obvioulsy not in any way against ObjC - since i’m the 
> > maintainer ;) .. but it
> > seems heavyweight for solving this issue].
> 
> It certainly would be heavyweight, since TargetConditionals.h includes 
> TARGET_OS_OSX, 
> which is 1 if we’re compiling for macOS and 0 otherwise (there’s a useful 
> chart at :83 in the 
> MacOSX13.1 SDK).
> 
> Two ways ahead here:
> (1) just replace the current __arm__, __arm64__ test with this

That would be fine here (replace refs to *arm* by TARGET_OS_OSX), since this 
was my original
suggestion (copied at the top of this email).

> (2) as 1, but implement the runtime test for case sensitivity only for macOS
> 
> Whether (2) is acceptable depends, I suppose, on what issues Iain encountered 
> on Darwin 9 
> & Darwin 17. I’ll be content to go with (1).

Reply via email to