From b4e936859dc441102eb0b6fb7a104f3948c90490 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 23 Aug 2022 16:00:38 +0200 Subject: [PATCH] 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 Reviewed-by: Andres Freund Discussion: https://www.postgresql.org/message-id/flat/8c4fcb72-2574-ff7c-4c25-1f032d4a2a57%40enterprisedb.com --- config/perl.m4 | 10 +++++----- configure | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/config/perl.m4 b/config/perl.m4 index c823fc8cf0..c9fd91397c 100644 --- a/config/perl.m4 +++ b/config/perl.m4 @@ -81,9 +81,9 @@ AC_MSG_RESULT([$perl_embed_ccflags]) # PGAC_CHECK_PERL_EMBED_LDFLAGS # ----------------------------- # We are after Embed's ldopts, but without the subset mentioned in -# Config's ccdlflags; and also without any -arch flags, which recent -# Apple releases put in unhelpfully. (If you want a multiarch build -# you'd better be specifying it in more places than plperl's final link.) +# Config's ccdlflags and ldflags. (Those are the choices of those who +# built the Perl installation, which are not necessarily appropriate +# for building PostgreSQL.) AC_DEFUN([PGAC_CHECK_PERL_EMBED_LDFLAGS], [AC_REQUIRE([PGAC_PATH_PERL]) AC_MSG_CHECKING(for flags to link embedded Perl) @@ -99,8 +99,8 @@ if test "$PORTNAME" = "win32" ; then fi else pgac_tmp1=`$PERL -MExtUtils::Embed -e ldopts` - pgac_tmp2=`$PERL -MConfig -e 'print $Config{ccdlflags}'` - perl_embed_ldflags=`echo X"$pgac_tmp1" | sed -e "s/^X//" -e "s%$pgac_tmp2%%" -e ["s/ -arch [-a-zA-Z0-9_]*//g"]` + pgac_tmp2=`$PERL -MConfig -e 'print "$Config{ccdlflags} $Config{ldflags}"'` + perl_embed_ldflags=`echo X"$pgac_tmp1" | sed -e "s/^X//" -e "s%$pgac_tmp2%%"` fi AC_SUBST(perl_embed_ldflags)dnl if test -z "$perl_embed_ldflags" ; then diff --git a/configure b/configure index 4bd050008b..814014a96b 100755 --- a/configure +++ b/configure @@ -10477,8 +10477,8 @@ if test "$PORTNAME" = "win32" ; then fi else pgac_tmp1=`$PERL -MExtUtils::Embed -e ldopts` - pgac_tmp2=`$PERL -MConfig -e 'print $Config{ccdlflags}'` - perl_embed_ldflags=`echo X"$pgac_tmp1" | sed -e "s/^X//" -e "s%$pgac_tmp2%%" -e "s/ -arch [-a-zA-Z0-9_]*//g"` + pgac_tmp2=`$PERL -MConfig -e 'print "$Config{ccdlflags} $Config{ldflags}"'` + perl_embed_ldflags=`echo X"$pgac_tmp1" | sed -e "s/^X//" -e "s%$pgac_tmp2%%"` fi if test -z "$perl_embed_ldflags" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5