Re: Strip -mmacosx-version-min options from plperl build

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Andrew Dunstan <andrew@dunslane.net>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-08-25T13:01:14Z
Lists: pgsql-hackers
On 25.08.22 02:14, Andrew Dunstan wrote:
>> In short: if the Cygwin Perl headers redefine PGDLLEXPORT (unlikely)
>> or somehow #define "__attribute__()" or "visibility()" into no-ops
>> (perhaps more likely) then we could explain this failure, and that
>> would also explain why it doesn't fail elsewhere.
>>
>> I can't readily check this, since I have no idea exactly which version
>> of the Perl headers lorikeet uses.
> 
> It's built against cygwin perl 5.32.
> 
> I don't see anything like that in perl.h. It's certainly using
> __attribute__() a lot.

This could be checked by running plperl.c through the preprocessor 
(replace gcc -c plperl.c -o plperl.o by gcc -E plperl.c -o plperl.i) and 
seeing what becomes of those symbols.

If we want to get the buildfarm green again sooner, we could force a 
--export-all-symbols directly.



Commits

  1. mingw: Define PGDLLEXPORT as __declspec (dllexport) as done for msvc

  2. Fix PL/Perl build on Cygwin

  3. Remove further unwanted linker flags from perl_embed_ldflags