]> granicus.if.org Git - postgresql/commit
Yet further rethinking of build changes for macOS Mojave.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Nov 2018 22:54:00 +0000 (18:54 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Nov 2018 22:54:00 +0000 (18:54 -0400)
commit401202b7988ca75549c6cb6609ac958675f0aeb7
treef13d927f08515fed0e7c34e3f4674f12e8fa60cb
parentf35187b3689f53dab03a560b436640139b602094
Yet further rethinking of build changes for macOS Mojave.

The solution arrived at in commit e74dd00f5 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 68fc227dd,
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
configure
configure.in
doc/src/sgml/installation.sgml
src/Makefile.global.in
src/template/darwin