> >>> 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).