Files
poky/meta/recipes-devtools/perl/perl-5.12.3/perl-dynloader.patch
Nitin A Kamble 829b985eb5 perl: upgrade from 5.12.2 to 5.12.3
And changed the perl tarball URL to more stable cpan location.

(From OE-Core rev: 3a08c401f298095840a2aee9079845f5ff434410)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-28 10:44:22 +01:00

32 lines
1.3 KiB
Diff

Upstream-Status:Inappropriate [embedded specific]
Allow the location that .so files are searched for for dynamic
loading to be changed via an environment variable. This is to allow
us to load .so's from the host system while building for the target
system.
Update by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/21
--- perl-5.12.3/dist/XSLoader/XSLoader_pm.PL 2007/04/20 09:03:08 1.1
+++ perl-5.12.3/dist/XSLoader/XSLoader_pm.PL 2007/04/20 09:03:08
@@ -65,6 +65,19 @@
print OUT <<'EOT';
my $modpname = join('/',@modparts);
my $modlibname = (caller())[1];
+ # OE: Allow env to form dynamic loader to look in a different place
+ # This is so it finds the host .so files, not the targets
+ if (defined $ENV{PERLHOSTLIB})
+ {
+ my $hostlib = $ENV{PERLHOSTLIB};
+ print STDERR "*** Module name IN: $modlibname\n";
+ ($p1, $p2, $p3, $p4, $p5) = $modlibname =~ m/(^(.*lib\/)?)((perl\/[0-9\.]*\/)?)(.*)$/;
+ print STDERR "*** p1: $p1 p3: $p3 p5: $p5\n";
+ if ( $p1 ne "" ) {
+ $modlibname = $hostlib.$p5;
+ }
+ print STDERR "*** Module name OUT: $modlibname\n";
+ }
my $c = @modparts;
$modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename
my $file = "$modlibname/auto/$modpname/$modfname.$dl_dlext";