]> code.ossystems Code Review - openembedded-core.git/commitdiff
perl: fix rebuid failed while ${CC} changed
authorHongxu Jia <hongxu.jia@windriver.com>
Thu, 24 Jul 2014 01:57:17 +0000 (09:57 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 25 Jul 2014 14:33:34 +0000 (15:33 +0100)
Reproduce steps:

1) bitbake perl
2) vim local.conf to tweak CC, just add redundant option.
...
CC_append = " ${HOST_CC_ARCH}"
...

3) bitbake perl
...
./miniperl -Ilib make_ext.pl lib/auto/Time/HiRes/HiRes.so MAKE=make LIBPERL_A=libperl.so LINKTYPE=dynamic
    Making Time::HiRes (all)my $filename=
Deleting non-Cross makefile
Running Makefile.PL in cpan/Time-HiRes
Makefile.PL: The "xdefine" exists, skipping the configure step.
("tmp/sysroots/x86_64-linux/usr/bin/perl-native/perl5.20.0.real Makefile.PL --configure" to force the configure step)
Warning: No Makefile!
make[2]: Entering directory `tmp/work/armv5te-poky-linux-gnueabi/perl/5.20.0-r1/perl-5.20.0/cpan/Time-HiRes'
make[2]: *** No rule to make target `config'.  Stop.
...

While ${CC} changed, the existance of 'xdefine' caused makefile
regeneration failed.

[YOCTO #6569]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/perl/perl-5.20.0/make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch [new file with mode: 0644]
meta/recipes-devtools/perl/perl_5.20.0.bb

diff --git a/meta/recipes-devtools/perl/perl-5.20.0/make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch b/meta/recipes-devtools/perl/perl-5.20.0/make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch
new file mode 100644 (file)
index 0000000..de6f652
--- /dev/null
@@ -0,0 +1,30 @@
+make_ext.pl: fix regenerate makefile failed while $cc changed
+
+While $cc changed, the existance of 'xdefine' caused makefile
+regeneration failed.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ make_ext.pl | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/make_ext.pl b/make_ext.pl
+index b433762..9fc1a36 100644
+--- a/make_ext.pl
++++ b/make_ext.pl
+@@ -335,6 +335,10 @@ sub build_extension {
+                 print "Deleting non-Cross makefile\n";
+                 close $mfh or die "close $makefile: $!";
+                 _unlink($makefile);
++                if(-e 'xdefine') {
++                    print "Deleting xdefine for regenerate makefile\n";
++                    _unlink('xdefine');
++                }
+             }
+         }
+     }
+-- 
+1.8.1.2
+
index 4bd452512df58730bc2de1dbb26a8b733163c9c1..e984c906de8df20518867ccd4b710e0eca3e26cb 100644 (file)
@@ -74,6 +74,7 @@ SRC_URI += " \
         file://config.sh-64-be \
         file://perl-5.14.3-fix-CVE-2010-4777.patch \
         file://0001-Makefile.SH-fix-do_install-failed.patch \
+        file://make_ext.pl-fix-regenerate-makefile-failed-while-cc-.patch \
 "
 
 # Fix test case issues