Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 5b83604

Browse files
committed
On macOS, use -isysroot in link steps as well as compile steps.
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 49407dc 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
1 parent 2ded1f1 commit 5b83604

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

configure

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19424,8 +19424,10 @@ _ACEOF
1942419424
# literally, so that it's possible to override it at build time using
1942519425
# a command like "make ... PG_SYSROOT=path". This has to be done after
1942619426
# we've finished all configure checks that depend on CPPFLAGS.
19427+
# The same for LDFLAGS, too.
1942719428
if test x"$PG_SYSROOT" != x; then
1942819429
CPPFLAGS=`echo "$CPPFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"`
19430+
LDFLAGS=`echo "$LDFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"`
1942919431
fi
1943019432

1943119433

configure.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2427,8 +2427,10 @@ AC_SUBST(PG_VERSION_NUM)
24272427
# literally, so that it's possible to override it at build time using
24282428
# a command like "make ... PG_SYSROOT=path". This has to be done after
24292429
# we've finished all configure checks that depend on CPPFLAGS.
2430+
# The same for LDFLAGS, too.
24302431
if test x"$PG_SYSROOT" != x; then
24312432
CPPFLAGS=`echo "$CPPFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"`
2433+
LDFLAGS=`echo "$LDFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"`
24322434
fi
24332435
AC_SUBST(PG_SYSROOT)
24342436

src/template/darwin

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ fi
1111
if test x"$PG_SYSROOT" != x"" ; then
1212
if test -d "$PG_SYSROOT" ; then
1313
CPPFLAGS="-isysroot $PG_SYSROOT $CPPFLAGS"
14+
LDFLAGS="-isysroot $PG_SYSROOT $LDFLAGS"
1415
else
1516
PG_SYSROOT=""
1617
fi

0 commit comments

Comments
 (0)