]> code.ossystems Code Review - openembedded-core.git/commitdiff
perl: fix spaces in brackets while using CC version
authorHongxu Jia <hongxu.jia@windriver.com>
Mon, 9 Nov 2015 10:48:29 +0000 (18:48 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 25 Nov 2015 07:48:15 +0000 (07:48 +0000)
Here is the way to reproduce the issue:
...
root@localhost:~# perl -e "use Errno qw(ENOENT);"
"ENOENT" is not exported by the Errno module
Can't continue after import errors at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
...

For some distros, there was extra spaces in the
brackets while using CC version:

For Windriver:
$CC --version
x86_64-wrs-linux-gcc (Wind River Linux 5.2.0-8.0-intel-x86-64) 5.2.0

For Ubuntu:
$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

So we replace the contects between brackets with semicolon
and then use space to split.

[YOCTO #8367]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-devtools/perl/perl/perl-errno-generation-gcc5.patch

index efbc55df2949f66ad258f1b40633d9760c577723..7379d8b8141300783d4012e7e76b5e8a0301aba6 100644 (file)
@@ -5,14 +5,25 @@ is the same as the one being used to build the perl binary. Since most people ar
 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.
 
---- perl-5.22.0/ext/Errno/Errno_pm.PL  2015-10-19 18:01:20.622143786 -0400
-+++ perl-5.22.0-fixed/ext/Errno/Errno_pm.PL    2015-10-19 17:50:35.662137367 -0400
-@@ -224,9 +224,12 @@
+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 = '';
@@ -21,3 +32,6 @@ for the version extracted from $CC --version.
            # GCC 5.0 interleaves expanded macros with line numbers breaking
            # each line into multiple lines. RT#123784
            $inhibit_linemarkers = ' -P';
+-- 
+1.9.1
+