35 lines
1.2 KiB
Diff
35 lines
1.2 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
|
||
|
|
||
|
Index: perl-5.14.2/dist/XSLoader/XSLoader_pm.PL
|
||
|
===================================================================
|
||
|
--- perl-5.14.2.orig/dist/XSLoader/XSLoader_pm.PL
|
||
|
+++ perl-5.14.2/dist/XSLoader/XSLoader_pm.PL
|
||
|
@@ -28,6 +28,20 @@ sub load {
|
||
|
|
||
|
my ($module, $modlibname) = 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 {
|