[perl] Link XS modules to libperl.so with EU::MM on Linux

Petr Pisar ppisar at fedoraproject.org
Fri Jul 12 07:37:24 UTC 2013


commit 22e6cd36c4bdab19ede5aacecad54e90fb04d9a3
Author: Petr Písař <ppisar at redhat.com>
Date:   Wed Jul 3 15:41:20 2013 +0200

    Link XS modules to libperl.so with EU::MM on Linux

 ...modules-to-libperl.so-with-EU-MM-on-Linux.patch |   52 ++++++++++++++++++++
 perl.spec                                          |    5 ++
 2 files changed, 57 insertions(+), 0 deletions(-)
---
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?= <ppisar at redhat.com>
+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
+
+<https://bugzilla.redhat.com/show_bug.cgi?id=960048>
+<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=327585#50>
+
+Signed-off-by: Petr Písař <ppisar at redhat.com>
+---
+ 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
 


More information about the scm-commits mailing list