[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