From c79212508d84537a6294a038299c1a3d081d690f Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 27 May 2007 21:04:11 +0000 Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE) 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 2011/04/21 --- dist/XSLoader/XSLoader_pm.PL | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dist/XSLoader/XSLoader_pm.PL b/dist/XSLoader/XSLoader_pm.PL index 8012e35..db4f987 100644 --- a/dist/XSLoader/XSLoader_pm.PL +++ b/dist/XSLoader/XSLoader_pm.PL @@ -52,6 +52,20 @@ sub load { my ($caller, $modlibname) = caller(); my $module = $caller; + # 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\w*\/)?)((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"; + } + if (@_) { $module = $_[0]; } else {