On Tue, Jan 30, 2018 at 7:08 PM, Matt Billenstein <matt@vazor.com> wrote:
OSX is in a sad state linking to system libs on the later releases -- maybe 10.11 and on, not sure of the exact release -- they stopped shipping the headers for things like ssl and ffi since they don't want 3rd parties linking to deprecated versions of those libraries versus, in the case of ssl, their newer security framework. Recommendation is to bundle what you need if you're not using the framework -- something to think about.
There are also some practical issues with trying to distribute software using some deprecated Cocoa APIs or weak linked syscalls. The pythonmac-sig thead I linked to earlier has pointers to how to flare those up if one ever needs to distribute Python to a specific macOS version target range while compiling on a newer macOS. It would be nice to do more things the Apple way, including porting to modern runtime feature availability check cascades of the Cocoa APIs and using the Apple provided system Frameworks. This seems like a rather major workload and should be targeting 3.8. I'm willing to participate in that effort. The availability of syscalls across targets when cross-compiling for an older target is a more generic build system problem and I'm not sure if Python should do anything other than just document it being a thing. I'm personally fine patching pyconfig.h after running the configure script for this special case. As suggested on pythonmac-sig, I'd like to see 10.11 get chosen as the macOS to build on as it provides a decent balance between hardware compatibility and being new(er). -- Joni Orponen