mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-20 05:17:00 +08:00
We previously put the -isysroot switch only into CPPFLAGS, theorizing that it was only needed to find the right copies of include files. However, it seems that we also need to use it while linking programs, to find the right stub ".tbd" files for libraries. We got away without that up to now, but apparently that was mostly luck. It may also be that failures are only observed when the Xcode version is noticeably out of sync with the host macOS version; the case that's prompting action right now is that builds fail when using latest Xcode (12.2) on macOS Catalina, even though it's fine on Big Sur. Hence, add -isysroot to LDFLAGS as well. (It seems that the more common practice is to put it in CFLAGS, whence it'd be included at both compile and link steps. However, we can't mess with CFLAGS in the platform template file without confusing configure's logic for choosing default CFLAGS.) Back-patch of 49407dc32 into all supported branches. Report and patch by James Hilliard (some cosmetic mods by me) Discussion: https://postgr.es/m/20201120003314.20560-1-james.hilliard1@gmail.com
35 lines
1.0 KiB
Plaintext
35 lines
1.0 KiB
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"
|
|
LDFLAGS="-isysroot $PG_SYSROOT $LDFLAGS"
|
|
else
|
|
PG_SYSROOT=""
|
|
fi
|
|
fi
|
|
|
|
# Extra CFLAGS for code that will go into a shared library
|
|
CFLAGS_SL=""
|
|
|
|
# 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
|