aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch
blob: 7379d8b8141300783d4012e7e76b5e8a0301aba6 (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
Upstream-Status:Inappropriate [embedded specific]

The upstream code assumes that the compiler version used to compiler miniperl/perl-native
is the same as the one being used to build the perl binary. Since most people are not running
systems with gcc 5, it is unlikely that it will work on any supported host. Switch out gccversion
for the version extracted from $CC --version.

Jeremy Puhlman <jpuhlman@mvista.com>

Fix spaces in brackets while running $CC --version
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 ext/Errno/Errno_pm.PL | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 1fd29d0..7976ea2 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -224,9 +224,13 @@ sub write_errno_pm {
 
     {	# BeOS (support now removed) did not enter this block
     # invoke CPP and read the output
+        my $compiler = $ENV{'CC'};
+        my $compiler_out = `$compiler --version`;
+        $compiler_out =~ s/\(.*\)/;/;
+        my @compiler_version = split / /,$compiler_out; 
 
 	my $inhibit_linemarkers = '';
-	if ($Config{gccversion} =~ /\A(\d+)\./ and $1 >= 5) {
+	if (@compiler_version[2] =~ /\A(\d+)\./ and $1 >= 5) {
 	    # GCC 5.0 interleaves expanded macros with line numbers breaking
 	    # each line into multiple lines. RT#123784
 	    $inhibit_linemarkers = ' -P';
-- 
1.9.1