summaryrefslogtreecommitdiff
path: root/recipes/perl/perl-5.8.8/perl-dynloader.patch
diff options
context:
space:
mode:
authorLukas Gorris <lukas.gorris@gmail.com>2009-03-30 21:20:14 +0200
committerLukas Gorris <lukas.gorris@gmail.com>2009-03-30 21:20:14 +0200
commita93dfebb9e7a34ffba9b1ae5e8e496dfab4c3c43 (patch)
tree6c38a4617c92398269e6603a0509fc3006811368 /recipes/perl/perl-5.8.8/perl-dynloader.patch
parent4255898da29e7e0c521d064afedbc4075b3e8155 (diff)
parentd7fdcef3d8c8b80926d579c2db179b594429cebe (diff)
Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into org.openembedded.dev
Diffstat (limited to 'recipes/perl/perl-5.8.8/perl-dynloader.patch')
-rw-r--r--recipes/perl/perl-5.8.8/perl-dynloader.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/recipes/perl/perl-5.8.8/perl-dynloader.patch b/recipes/perl/perl-5.8.8/perl-dynloader.patch
new file mode 100644
index 0000000000..e2dc774d5e
--- /dev/null
+++ b/recipes/perl/perl-5.8.8/perl-dynloader.patch
@@ -0,0 +1,23 @@
+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.
+
+--- perl-5.8.8/ext/DynaLoader/XSLoader_pm.PL 2007/04/20 09:03:08 1.1
++++ perl-5.8.8/ext/DynaLoader/XSLoader_pm.PL 2007/04/20 09:41:28
+@@ -65,6 +65,15 @@
+ 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";
++ $modlibname =~ s#(?<!/)(\.\./)*lib/#$hostlib#g;
++ 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";