aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl/perl/letgcc-find-errno.patch
blob: 982895a33ffdb42bc1cea1ef7778b9fdd294e4aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
From a0dde0eec4676f13ce4653f14c5d3e7b818d9387 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard@openedhand.com>
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]

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.

---
 ext/Errno/Errno_pm.PL | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 4464706..560d2ef 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -16,8 +16,18 @@ unlink "Errno.tmp" if -f "Errno.tmp";
 open OUT, '>', 'Errno.tmp' or die "Cannot open Errno.tmp: $!";
 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.
@@ -52,7 +62,7 @@ sub process_file {
         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;