Skip to content

Commit b4e9368

Browse files
committed
Remove further unwanted linker flags from perl_embed_ldflags
Remove the contents of $Config{ldflags} from ExtUtils::Embed's ldopts, like we already do with $Config{ccdlflags}. Those flags are the choices of those who built the Perl installation, which are not necessarily appropriate for building PostgreSQL. What we really want from ldopts are the options identifying the location and name of the libperl library, but unfortunately it doesn't appear possible to get that separately from the other stuff. The motivation for this was to strip -mmacosx-version-min options. We already did something similar for the -arch option. Both of those are now covered by this more general approach. Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Reviewed-by: Andres Freund <andres@anarazel.de> Discussion: https://www.postgresql.org/message-id/flat/8c4fcb72-2574-ff7c-4c25-1f032d4a2a57%40enterprisedb.com
1 parent 0f47457 commit b4e9368

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

config/perl.m4

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ AC_MSG_RESULT([$perl_embed_ccflags])
8181
# PGAC_CHECK_PERL_EMBED_LDFLAGS
8282
# -----------------------------
8383
# We are after Embed's ldopts, but without the subset mentioned in
84-
# Config's ccdlflags; and also without any -arch flags, which recent
85-
# Apple releases put in unhelpfully. (If you want a multiarch build
86-
# you'd better be specifying it in more places than plperl's final link.)
84+
# Config's ccdlflags and ldflags. (Those are the choices of those who
85+
# built the Perl installation, which are not necessarily appropriate
86+
# for building PostgreSQL.)
8787
AC_DEFUN([PGAC_CHECK_PERL_EMBED_LDFLAGS],
8888
[AC_REQUIRE([PGAC_PATH_PERL])
8989
AC_MSG_CHECKING(for flags to link embedded Perl)
@@ -99,8 +99,8 @@ if test "$PORTNAME" = "win32" ; then
9999
fi
100100
else
101101
pgac_tmp1=`$PERL -MExtUtils::Embed -e ldopts`
102-
pgac_tmp2=`$PERL -MConfig -e 'print $Config{ccdlflags}'`
103-
perl_embed_ldflags=`echo X"$pgac_tmp1" | sed -e "s/^X//" -e "s%$pgac_tmp2%%" -e ["s/ -arch [-a-zA-Z0-9_]*//g"]`
102+
pgac_tmp2=`$PERL -MConfig -e 'print "$Config{ccdlflags} $Config{ldflags}"'`
103+
perl_embed_ldflags=`echo X"$pgac_tmp1" | sed -e "s/^X//" -e "s%$pgac_tmp2%%"`
104104
fi
105105
AC_SUBST(perl_embed_ldflags)dnl
106106
if test -z "$perl_embed_ldflags" ; then

configure

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10477,8 +10477,8 @@ if test "$PORTNAME" = "win32" ; then
1047710477
fi
1047810478
else
1047910479
pgac_tmp1=`$PERL -MExtUtils::Embed -e ldopts`
10480-
pgac_tmp2=`$PERL -MConfig -e 'print $Config{ccdlflags}'`
10481-
perl_embed_ldflags=`echo X"$pgac_tmp1" | sed -e "s/^X//" -e "s%$pgac_tmp2%%" -e "s/ -arch [-a-zA-Z0-9_]*//g"`
10480+
pgac_tmp2=`$PERL -MConfig -e 'print "$Config{ccdlflags} $Config{ldflags}"'`
10481+
perl_embed_ldflags=`echo X"$pgac_tmp1" | sed -e "s/^X//" -e "s%$pgac_tmp2%%"`
1048210482
fi
1048310483
if test -z "$perl_embed_ldflags" ; then
1048410484
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5

0 commit comments

Comments
 (0)