Fix binary mismatch for MSVC plperl vs gcc built perl libs
authorAndrew Dunstan <[email protected]>
Sun, 27 Nov 2022 14:03:22 +0000 (09:03 -0500)
committerAndrew Dunstan <[email protected]>
Sun, 27 Nov 2022 14:18:32 +0000 (09:18 -0500)
commit68d89d80c3db06ad080a0f291e165456fb2f51f7
treeedf55488c56cdcbccf700c39f104d3486ec6aef0
parenta2dcd78dd0837c5b705569f99d86ebf0d5a5725f
Fix binary mismatch for MSVC plperl vs gcc built perl libs

When loading plperl built against Strawberry perl or the msys2 ucrt perl
that have been built with gcc, a binary mismatch has been encountered
which looks like this:

loadable library and perl binaries are mismatched (got handshake key 0000000012800080, needed 0000000012900080)

To cure this we bring the handshake keys into sync by adding
NO_THREAD_SAFE_LOCALE to the defines used to build plperl.

Discussion: https://postgr.es/m/20211005004334[email protected]
Discussion: https://postgr.es/m/c2da86a0-2906-744c-923d-16da6047875e@dunslane.net

Backpatch to all live branches.
src/tools/msvc/Mkvcbuild.pm