summaryrefslogtreecommitdiffstats
path: root/meta/packages/perl/files/letgcc-find-errno.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/perl/files/letgcc-find-errno.patch')
-rw-r--r--meta/packages/perl/files/letgcc-find-errno.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/meta/packages/perl/files/letgcc-find-errno.patch b/meta/packages/perl/files/letgcc-find-errno.patch
new file mode 100644
index 0000000000..24722ee964
--- /dev/null
+++ b/meta/packages/perl/files/letgcc-find-errno.patch
@@ -0,0 +1,42 @@
1This removes all the logic that perl uses to locate an appropriate
2errno.h for the target. Instead we simple create a file that does
3
4 #include "errno.h"
5
6and use that as the file to parse. This is needed when using an
7external toolchain since perl will search in ${STAGING_INCDIR} for
8errno.h (when using gcc) and that isn't where it's located - its
9wherever the external toolchain keeps it's headers.
10
11--- perl-5.8.8/ext/Errno/Errno_pm.PL 2007/04/30 14:10:10 1.1
12+++ perl-5.8.8/ext/Errno/Errno_pm.PL 2007/04/30 14:21:35
13@@ -11,8 +11,18 @@
14 open OUT, ">Errno.pm" or die "Cannot open Errno.pm: $!";
15 select OUT;
16 my $file;
17-my @files = get_files();
18-if ($Config{gccversion} ne '' && $^O eq 'MSWin32') {
19+#my @files = get_files();
20+my @files = ("errno.h");
21+
22+if (1) {
23+ open INCS, '>includes.c' or
24+ die "Cannot open includes.c";
25+ print INCS qq[#include "errno.h"\n];
26+ close INCS;
27+ process_file('includes.c');
28+ unlink 'includes.c';
29+}
30+elsif ($Config{gccversion} ne '' && $^O eq 'MSWin32') {
31 # MinGW complains "warning: #pragma system_header ignored outside include
32 # file" if the header files are processed individually, so include them
33 # all in .c file and process that instead.
34@@ -44,7 +54,7 @@
35 chomp($file = `cygpath -w "$file"`);
36 }
37
38- return unless defined $file and -f $file;
39+# return unless defined $file and -f $file;
40 # warn "Processing $file\n";
41
42 local *FH;