Re: Strip -mmacosx-version-min options from plperl build - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Strip -mmacosx-version-min options from plperl build
Date
Msg-id 9518842c-6844-0c99-85ec-ec43fba3115f@enterprisedb.com
Whole thread Raw
In response to Re: Strip -mmacosx-version-min options from plperl build  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Strip -mmacosx-version-min options from plperl build
Re: Strip -mmacosx-version-min options from plperl build
List pgsql-hackers
On 18.08.22 15:53, Tom Lane wrote:
> Agreed on rejecting -mmacosx-version-min, but I wonder if we should
> think about adopting a whitelist-instead-of-blacklist approach to
> adopting stuff from perl_embed_ldflags.  ISTR that in pltcl we already
> use the approach of accepting only -L and -l, and perhaps similar
> strictness would serve us well here.
> 
> As an example, on a not-too-new MacPorts install, I see
> 
> $ /opt/local/bin/perl -MExtUtils::Embed -e ldopts
>      -L/opt/local/lib -Wl,-headerpad_max_install_names   -fstack-protector-strong
-L/opt/local/lib/perl5/5.28/darwin-thread-multi-2level/CORE-lperl
 
> 
> I can't see any really good reason why we should allow perl
> to be injecting that sort of -f option into the plperl build,
> and I'm pretty dubious about the -headerpad_max_install_names
> bit too.
> 
> I think also that this would allow us to drop the weird dance of
> trying to subtract ccdlflags.

After analyzing the source code of ExtUtils::Embed's ldopts, I think we 
can also do this by subtracting $Config{ldflags}, since

my $linkage = "$ccdlflags $ldflags @archives $ld_or_bs";

and we really just want the $ld_or_bs part. (@archives should be empty 
for our uses.)

This would get rid of -mmacosx-version-min and -arch and all the things 
you showed, including -L/opt/local/lib, which is probably there so that 
the build of Perl itself could look there for things, but we don't need it.
Attachment

pgsql-hackers by date:

Previous
From: "Drouvot, Bertrand"
Date:
Subject: Re: shared-memory based stats collector - v70
Next
From: Peter Smith
Date:
Subject: Re: Perform streaming logical transactions by background workers and parallel apply