diff options
Diffstat (limited to 'meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch')
-rw-r--r-- | meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch b/meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch new file mode 100644 index 0000000000..16064ede92 --- /dev/null +++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | Upstream-Status:Pending | ||
2 | |||
3 | Perl cannot cross build in a path containing a directory that has the | ||
4 | name of "t". As an example, you can make the perl build fail with | ||
5 | "mkdir -p /tmp/build/t", go to the directory, unpack the sources, | ||
6 | configure and cross build. | ||
7 | |||
8 | You get an error like the following: | ||
9 | pod/buildtoc: no pods at pod/buildtoc line 305. | ||
10 | make[1]: *** [pod/perltoc.pod] Error 255 | ||
11 | |||
12 | The fix is to strip off the top directory that you are building in and | ||
13 | then execute all the same logic as before against the path relative to | ||
14 | the build directory. | ||
15 | |||
16 | Signed-off-by: Jason Wessel <jason.wessel@windriver.com> | ||
17 | --- | ||
18 | pod/buildtoc | 4 +++- | ||
19 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
20 | |||
21 | --- a/pod/buildtoc | ||
22 | +++ b/pod/buildtoc | ||
23 | @@ -274,8 +274,10 @@ if ($Build{toc}) { | ||
24 | find \&getpods => abs_from_top('lib/'); | ||
25 | |||
26 | sub getpods { | ||
27 | + my $Top = $FindBin::Bin; | ||
28 | if (/\.p(od|m)$/) { | ||
29 | my $file = $File::Find::name; | ||
30 | + $file =~ s!^$Top!!; | ||
31 | return if $file =~ qr!/lib/Pod/Functions.pm\z!; # Used only by pod itself | ||
32 | return if $file =~ m!(?:^|/)t/!; | ||
33 | return if $file =~ m!lib/Attribute/Handlers/demo/!; | ||
34 | @@ -283,7 +285,7 @@ if ($Build{toc}) { | ||
35 | return if $file =~ m!lib/Math/BigInt/t/!; | ||
36 | return if $file =~ m!/Devel/PPPort/[Hh]arness|lib/Devel/Harness!i; | ||
37 | return if $file =~ m!XS/(?:APItest|Typemap)!; | ||
38 | - my $pod = $file; | ||
39 | + my $pod = $file = $File::Find::name; | ||
40 | return if $pod =~ s/pm$/pod/ && -e $pod; | ||
41 | unless (open my $f, '<', $_) { | ||
42 | warn "$0: bogus <$file>: $!"; | ||