From 22e6cd36c4bdab19ede5aacecad54e90fb04d9a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Wed, 3 Jul 2013 15:41:20 +0200 Subject: [PATCH] Link XS modules to libperl.so with EU::MM on Linux --- ...es-to-libperl.so-with-EU-MM-on-Linux.patch | 52 +++++++++++++++++++ perl.spec | 5 ++ 2 files changed, 57 insertions(+) create mode 100644 perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch diff --git a/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch b/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch new file mode 100644 index 0000000..18599f3 --- /dev/null +++ b/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch @@ -0,0 +1,52 @@ +From fc1f8ac36c34c35bad84fb7b99a26ab83c9ba075 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Wed, 3 Jul 2013 12:59:09 +0200 +Subject: [PATCH] Link XS modules to libperl.so with EU::MM on Linux +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + + + +Signed-off-by: Petr Písař +--- + cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +index a8b172f..a3fbce2 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +@@ -31,6 +31,7 @@ BEGIN { + $Is{IRIX} = $^O eq 'irix'; + $Is{NetBSD} = $^O eq 'netbsd'; + $Is{Interix} = $^O eq 'interix'; ++ $Is{Linux} = $^O eq 'linux'; + $Is{SunOS4} = $^O eq 'sunos'; + $Is{Solaris} = $^O eq 'solaris'; + $Is{SunOS} = $Is{SunOS4} || $Is{Solaris}; +@@ -932,7 +933,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP). + + my $libs = '$(LDLOADLIBS)'; + +- if (($Is{NetBSD} || $Is{Interix}) && $Config{'useshrplib'} eq 'true') { ++ if (($Is{Linux} || $Is{NetBSD} || $Is{Interix}) && $Config{'useshrplib'} eq 'true') { + # Use nothing on static perl platforms, and to the flags needed + # to link against the shared libperl library on shared perl + # platforms. We peek at lddlflags to see if we need -Wl,-R +@@ -941,6 +942,11 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP). + $libs .= ' -L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -Wl,-R$(PERL_ARCHLIB)/CORE -lperl'; + } elsif ($Config{'lddlflags'} =~ /-R/) { + $libs .= ' -L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -R$(PERL_ARCHLIB)/CORE -lperl'; ++ } else { ++ if ($ENV{PERL_CORE}) { ++ $libs .= ' -L$(PERL_INC)'; ++ } ++ $libs .= ' -lperl'; + } + } + +-- +1.8.1.4 + diff --git a/perl.spec b/perl.spec index fbba888..67f5e6c 100644 --- a/perl.spec +++ b/perl.spec @@ -105,6 +105,9 @@ Patch16: perl-5.16.3-Install-libperl.so-to-shrpdir-on-Linux.patch # Link XS modules to libperl.so with EU::CBuilder on Linux, bug #960048 Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch +# Link XS modules to libperl.so with EU::MM on Linux, bug #960048 +Patch201: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch + # Update some of the bundled modules # see http://fedoraproject.org/wiki/Perl/perl.spec for instructions @@ -1888,6 +1891,7 @@ tarball from perl.org. %patch15 -p1 %patch16 -p1 %patch200 -p1 +%patch201 -p1 %if !%{defined perl_bootstrap} # Local patch tracking @@ -1909,6 +1913,7 @@ perl -x patchlevel.h \ 'Fedora Patch15: Define SONAME for libperl.so' \ 'Fedora Patch16: Install libperl.so to -Dshrpdir value' \ 'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \ + 'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \ %{nil} %endif