On 06.07.21 22:34, Tom Lane wrote:
2. We'd really like to use preadv/pwritev where available.

A couple of things that I haven't seen made clear in this thread yet:

- Where is the availability boundary for preadv/pwritev on macOS?

- What is the impact of having vs. not having these functions?

I
maintain that MACOSX_DEPLOYMENT_TARGET is not only not the right
approach to that, but it's actually counterproductive.  It forces
you to build for the lowest common denominator, ie the oldest macOS
release you want to support.  Even when running on a release that
has pwritev, your build will never use it.

I think this is just the way that building backward-compatible binaries on macOS (and Windows) works. You have to pick a target that is old enough to capture enough of your audience but not too old to miss out on interesting new OS features. People who build GUI applications for macOS, iOS, etc. face this trade-off all the time; for POSIX-level programming things just move slower so that the questions present themselves less often. I don't think we need to go out of our way to fight this system. This is something users will have opted into after all. Users who want Linux-style rebuilt-for-every-release binaries have those options available on macOS as well.


Reply via email to