perl: fixed host compilation of static perl on MacOS

All symbols on MacOS are prefixed with an underscore which
interfered with the filtering mechanism (added in perl 5.28)
for extension libraries to be linked into static perl.

Signed-off-by: Jakub Piotr Cłapa <jpc@loee.pl>
(cherry-picked from commit 3954356)
This commit is contained in:
Jakub Piotr Cłapa 2019-08-22 10:55:03 +02:00 committed by Josef Schlehofer
parent bb00671ad4
commit 91da56a942
No known key found for this signature in database
GPG key ID: B950216FE4329F4C
2 changed files with 20 additions and 1 deletions

View file

@ -11,7 +11,7 @@ include perlver.mk
PKG_NAME:=perl
PKG_VERSION:=$(PERL_VERSION)
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_SOURCE_URL:=\
https://cpan.metacpan.org/src/5.0 \

View file

@ -0,0 +1,19 @@
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -2738,14 +2738,14 @@ sub _find_static_libs {
Called by a utility method of makeaperl. Checks whether a given file
is an XS library by seeing whether it defines any symbols starting
-with C<boot_>.
+with C<boot_> (with an optional leading underscore needed on MacOS).
=cut
sub xs_static_lib_is_xs {
my ($self, $libfile) = @_;
my $devnull = File::Spec->devnull;
- return `nm $libfile 2>$devnull` =~ /\bboot_/;
+ return `nm $libfile 2>$devnull` =~ /\b_?boot_/;
}
=item makefile (o)