summaryrefslogtreecommitdiff
path: root/packages/perl/perl-5.8.8/perl-dynloader.patch
diff options
context:
space:
mode:
authorJamie Lenehan <lenehan@twibble.org>2007-04-21 02:52:14 +0000
committerJamie Lenehan <lenehan@twibble.org>2007-04-21 02:52:14 +0000
commit9d7a595a810e75c945a6c5da1868c01fb091746a (patch)
tree95cd605515570965fddbc3987f1f87c816556bb6 /packages/perl/perl-5.8.8/perl-dynloader.patch
parentffb2d5eab2ae13cc66f107e6d4988b4075036144 (diff)
perl: Add 5.8.8 and use DEFAULT_PREFERENCE to disable it until more
testing is done. Main differences from the 5.8.7 recipe are: * Always use gcc to link. Same arch's require this, while others can happily use ld. Use gcc for everything. * Fix threading issues by enabling threading in both perl-native and perl. In fact make the configurations almost identical. * No per ARCH configuration, just 32/64/le/be configs. This should stop configurations differing between arch's which made fixing things 5.8.7 difficult. Also means new ARCH's should work without any changes. * Fix up the way miniperl is handled so it shouldn't be the cause of problems for people anymore. * Stop perl-modules depending on perl-dbg, perl-pod, perl-dev etc. * In theory should work for MACHINE="native" now. Only tested for an sh4/glibc target built on an x86_64 host so far. A lot more testing and more cleanups are needed before this is ready to be enabled by default. NOTE: You must build the matching version of perl-native before attempting to build perl (that applies for any version).
Diffstat (limited to 'packages/perl/perl-5.8.8/perl-dynloader.patch')
-rw-r--r--packages/perl/perl-5.8.8/perl-dynloader.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/packages/perl/perl-5.8.8/perl-dynloader.patch b/packages/perl/perl-5.8.8/perl-dynloader.patch
new file mode 100644
index 0000000000..e2dc774d5e
--- /dev/null
+++ b/packages/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";