summaryrefslogtreecommitdiff
path: root/recipes/perl/perl-5.10.1/letgcc-find-errno.patch
diff options
context:
space:
mode:
authorRoman I Khimov <khimov@altell.ru>2010-03-04 14:56:21 +0300
committerRoman I Khimov <khimov@altell.ru>2010-03-24 00:45:25 +0300
commit652b665d0b6a7f7a71405ee4568a487ffc516fa8 (patch)
tree9cc1fca12ceda15e5ec5e6c31ac38c6fc7d1f98d /recipes/perl/perl-5.10.1/letgcc-find-errno.patch
parent5ae979b0ab285bc06fdd51c133379e91bea7de34 (diff)
perl: add version 5.10.1
Brings perl up to date. Biggest packaging change - make use of Debian patchset as whole. OE used lots of Debian patches anyway and the overall setup is very similar. So instead of picking and messing with individual patches it's far more easier to just use Debian's diff.gz as a whole. Added with masked preference, since it needs more testing. Currently it was only compiled and ran on i686. Signed-off-by: Roman I Khimov <khimov@altell.ru>
Diffstat (limited to 'recipes/perl/perl-5.10.1/letgcc-find-errno.patch')
-rw-r--r--recipes/perl/perl-5.10.1/letgcc-find-errno.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/recipes/perl/perl-5.10.1/letgcc-find-errno.patch b/recipes/perl/perl-5.10.1/letgcc-find-errno.patch
new file mode 100644
index 0000000000..3b7a0ffc19
--- /dev/null
+++ b/recipes/perl/perl-5.10.1/letgcc-find-errno.patch
@@ -0,0 +1,44 @@
+This removes all the logic that perl uses to locate an appropriate
+errno.h for the target. Instead we simple create a file that does
+
+ #include "errno.h"
+
+and use that as the file to parse. This is needed when using an
+external toolchain since perl will search in ${STAGING_INCDIR} for
+errno.h (when using gcc) and that isn't where it's located - its
+wherever the external toolchain keeps it's headers.
+
+Index: perl-5.10.1/ext/Errno/Errno_pm.PL
+===================================================================
+--- perl-5.10.1.orig/ext/Errno/Errno_pm.PL 2007-12-18 13:47:07.000000000 +0300
++++ perl-5.10.1/ext/Errno/Errno_pm.PL 2009-08-23 16:10:24.716303050 +0400
+@@ -16,8 +16,18 @@
+ open OUT, ">Errno.pm" or die "Cannot open Errno.pm: $!";
+ select OUT;
+ my $file;
+-my @files = get_files();
+-if ($Config{gccversion} ne '' && $^O eq 'MSWin32') {
++#my @files = get_files();
++my @files = ("errno.h");
++
++if (1) {
++ open INCS, '>includes.c' or
++ die "Cannot open includes.c";
++ print INCS qq[#include "errno.h"\n];
++ close INCS;
++ process_file('includes.c');
++ unlink 'includes.c';
++}
++elsif ($Config{gccversion} ne '' && $^O eq 'MSWin32') {
+ # MinGW complains "warning: #pragma system_header ignored outside include
+ # file" if the header files are processed individually, so include them
+ # all in .c file and process that instead.
+@@ -49,7 +59,7 @@
+ chomp($file = `cygpath -w "$file"`);
+ }
+
+- return unless defined $file and -f $file;
++# return unless defined $file and -f $file;
+ # warn "Processing $file\n";
+
+ local *FH;