Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 49407dc

Browse filesBrowse 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.) This should be back-patched, but first let's see if the buildfarm likes it on HEAD. 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 926fa80 commit 49407dc
Copy full SHA for 49407dc

File tree

Expand file treeCollapse file tree

3 files changed

+5
-0
lines changed
Filter options
Expand file treeCollapse file tree

3 files changed

+5
-0
lines changed

‎configure

Copy file name to clipboardExpand all lines: configure
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19192,8 +19192,10 @@ _ACEOF
1919219192
# literally, so that it's possible to override it at build time using
1919319193
# a command like "make ... PG_SYSROOT=path". This has to be done after
1919419194
# we've finished all configure checks that depend on CPPFLAGS.
19195+
# The same for LDFLAGS, too.
1919519196
if test x"$PG_SYSROOT" != x; then
1919619197
CPPFLAGS=`echo "$CPPFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"`
19198+
LDFLAGS=`echo "$LDFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"`
1919719199
fi
1919819200

1919919201

‎configure.ac

Copy file name to clipboardExpand all lines: configure.ac
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2360,8 +2360,10 @@ AC_SUBST(PG_VERSION_NUM)
23602360
# literally, so that it's possible to override it at build time using
23612361
# a command like "make ... PG_SYSROOT=path". This has to be done after
23622362
# we've finished all configure checks that depend on CPPFLAGS.
2363+
# The same for LDFLAGS, too.
23632364
if test x"$PG_SYSROOT" != x; then
23642365
CPPFLAGS=`echo "$CPPFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"`
2366+
LDFLAGS=`echo "$LDFLAGS" | sed -e "s| $PG_SYSROOT | \\\$(PG_SYSROOT) |"`
23652367
fi
23662368
AC_SUBST(PG_SYSROOT)
23672369

‎src/template/darwin

Copy file name to clipboardExpand all lines: src/template/darwin
+1Lines 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 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.