mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-07 12:06:50 +02:00
1440c461f7
The solution arrived at in commite74dd00f5
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 commit68fc227dd
, 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
31 lines
936 B
Plaintext
31 lines
936 B
Plaintext
# src/template/darwin
|
|
|
|
# Note: Darwin is the original code name for macOS, also known as OS X.
|
|
# We still use "darwin" as the port name, partly because config.guess does.
|
|
|
|
# Select where system include files should be sought.
|
|
if test x"$PG_SYSROOT" = x"" ; then
|
|
PG_SYSROOT=`xcodebuild -version -sdk macosx Path 2>/dev/null`
|
|
fi
|
|
# Old xcodebuild versions may produce garbage, so validate the result.
|
|
if test x"$PG_SYSROOT" != x"" ; then
|
|
if test -d "$PG_SYSROOT" ; then
|
|
CPPFLAGS="-isysroot $PG_SYSROOT $CPPFLAGS"
|
|
else
|
|
PG_SYSROOT=""
|
|
fi
|
|
fi
|
|
|
|
# Select appropriate semaphore support. Darwin 6.0 (macOS 10.2) and up
|
|
# support System V semaphores; before that we have to use named POSIX
|
|
# semaphores, which are less good for our purposes because they eat a
|
|
# file descriptor per backend per max_connection slot.
|
|
case $host_os in
|
|
darwin[015].*)
|
|
USE_NAMED_POSIX_SEMAPHORES=1
|
|
;;
|
|
*)
|
|
USE_SYSV_SEMAPHORES=1
|
|
;;
|
|
esac
|