mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Support linking with MinGW-built Perl.
This is necessary for ActivePerl 5.18 onwards and for Strawberry Perl. It is not sufficient for 32-bit builds with newer Visual Studio; these fail with error LINK2026. Back-patch to 9.3 (all supported versions). Reported by Victor Wagner. Discussion: https://postgr.es/m/20160326154321.7754ab8f@wagner.wagner.home
This commit is contained in:
@ -42,6 +42,14 @@
|
||||
#undef vsnprintf
|
||||
#endif
|
||||
|
||||
/*
|
||||
* ActivePerl 5.18 and later are MinGW-built, and their headers use GCC's
|
||||
* __inline__. Translate to something MSVC recognizes.
|
||||
*/
|
||||
#ifdef _MSC_VER
|
||||
#define __inline__ inline
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Get the basic Perl API. We use PERL_NO_GET_CONTEXT mode so that our code
|
||||
|
@ -615,9 +615,10 @@ sub mkvcbuild
|
||||
}
|
||||
}
|
||||
$plperl->AddReference($postgres);
|
||||
my $perl_path = $solution->{options}->{perl} . '\lib\CORE\perl*.lib';
|
||||
my $perl_path = $solution->{options}->{perl} . '\lib\CORE\*perl*';
|
||||
# ActivePerl 5.16 provided perl516.lib; 5.18 provided libperl518.a
|
||||
my @perl_libs =
|
||||
grep { /perl\d+.lib$/ } glob($perl_path);
|
||||
grep { /perl\d+\.lib$|libperl\d+\.a$/ } glob($perl_path);
|
||||
if (@perl_libs == 1)
|
||||
{
|
||||
$plperl->AddLibrary($perl_libs[0]);
|
||||
|
Reference in New Issue
Block a user