• Tom Lane's avatar
    Yet further rethinking of build changes for macOS Mojave. · 1440c461
    Tom Lane authored
    The solution arrived at in commit e74dd00f presumes that the compiler
    has a suitable default -isysroot setting ... but further experience
    shows that in many combinations of macOS version, XCode version, Xcode
    command line tools version, and phase of the moon, Apple's compiler
    will *not* supply a default -isysroot value.
    
    We could potentially go back to the approach used in commit 68fc227d,
    but I don't have a lot of faith in the reliability or life expectancy of
    that either.  Let's just revert to the approach already shipped in 11.0,
    namely specifying an -isysroot switch globally.  As a partial response to
    the concerns raised by Jakob Egger, adjust the contents of Makefile.global
    to look like
    
    CPPFLAGS = -isysroot $(PG_SYSROOT) ...
    PG_SYSROOT = /path/to/sysroot
    
    This allows overriding the sysroot path at build time in a relatively
    painless way.
    
    Add documentation to installation.sgml about how to use the PG_SYSROOT
    option.  I also took the opportunity to document how to work around
    macOS's "System Integrity Protection" feature.
    
    As before, back-patch to all supported versions.
    
    Discussion: https://postgr.es/m/20840.1537850987@sss.pgh.pa.us
    1440c461
darwin 936 Bytes