Otherwise, when running configure/make on a previously built tree,
makefiles generated by makemaker may detect that 'configuration has changed',
followed by self-deletion, self-regeneration, requesting the user to
re-run make and exit 1. And therefore do_compile goes kaboom.

Signed-off-by: Alexander Kanavin <a...@linutronix.de>
---
 ...ctly-list-modules-when-cleaning-them.patch | 24 ++++++++++++++++
 ...file-do-not-clean-config.h-xconfig.h.patch | 28 +++++++++++++++++++
 .../perl-cross/perlcross_1.4.bb               |  2 ++
 meta/recipes-devtools/perl/perl_5.36.0.bb     |  1 +
 4 files changed, 55 insertions(+)
 create mode 100644 
meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch
 create mode 100644 
meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch

diff --git 
a/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch
 
b/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch
new file mode 100644
index 0000000000..80388fa9b0
--- /dev/null
+++ 
b/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch
@@ -0,0 +1,24 @@
+From 7b8d819e012c24df228a313beb86e1942611c904 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <a...@linutronix.de>
+Date: Sat, 4 Jun 2022 13:00:12 +0200
+Subject: [PATCH] Makefile: correctly list modules when cleaning them
+
+Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/133]
+Signed-off-by: Alexander Kanavin <a...@linutronix.de>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 6b35fb0..9ef9324 100644
+--- a/Makefile
++++ b/Makefile
+@@ -462,7 +462,7 @@ clean-subdirs:
+ 
+ # assuming modules w/o Makefiles were never built and need no cleaning
+ clean-modules: config.h
+-      @for i in $(modules disabled); do \
++      @for i in $(modules) $(disabled); do \
+               test -f $$i/Makefile && \
+               touch $$i/Makefile && \
+               $(MAKE) -C $$i clean \
diff --git 
a/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch
 
b/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch
new file mode 100644
index 0000000000..cbb935c71b
--- /dev/null
+++ 
b/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch
@@ -0,0 +1,28 @@
+From ade4a70308d3b9d79cc3db841c0f60385780fe1a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <a...@linutronix.de>
+Date: Sat, 4 Jun 2022 13:45:20 +0200
+Subject: [PATCH] Makefile: do not clean config.h/xconfig.h
+
+These are generated by ./configure and not by make.
+
+Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/134]
+Signed-off-by: Alexander Kanavin <a...@linutronix.de>
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 9ef9324..3de2c2e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -473,7 +473,6 @@ clean-generated-files:
+       -rm -f uudmap.h opmini.c generate_uudmap$X bitcount.h $(CONFIGPM)
+       -rm -f git_version.h lib/re.pm lib/Config_git.pl
+       -rm -f perlmini.c perlmain.c
+-      -rm -f config.h xconfig.h
+       -rm -f pod/perlmodlib.pod
+       -rm -f ext.libs static.list
+       -rm -f $(patsubst %,%/ppport.h,$(mkppport_lst))
+-- 
+2.30.2
+
diff --git a/meta/recipes-devtools/perl-cross/perlcross_1.4.bb 
b/meta/recipes-devtools/perl-cross/perlcross_1.4.bb
index 1329306b0e..2704976e17 100644
--- a/meta/recipes-devtools/perl-cross/perlcross_1.4.bb
+++ b/meta/recipes-devtools/perl-cross/perlcross_1.4.bb
@@ -15,6 +15,8 @@ SRC_URI = 
"https://github.com/arsv/perl-cross/releases/download/${PV}/perl-cross
            file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \
            file://determinism.patch \
            file://0001-Makefile-check-the-file-if-patched-or-not.patch \
+           
file://0001-Makefile-correctly-list-modules-when-cleaning-them.patch \
+           file://0001-Makefile-do-not-clean-config.h-xconfig.h.patch \
            "
 UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/";
 
diff --git a/meta/recipes-devtools/perl/perl_5.36.0.bb 
b/meta/recipes-devtools/perl/perl_5.36.0.bb
index 838ad0b75a..cb82cad36c 100644
--- a/meta/recipes-devtools/perl/perl_5.36.0.bb
+++ b/meta/recipes-devtools/perl/perl_5.36.0.bb
@@ -111,6 +111,7 @@ print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, 
timezone.utc).strftime('%a %b %
             ")"
         echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h
     fi
+    oe_runmake clean
 }
 
 do_compile() {
-- 
2.30.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#166613): 
https://lists.openembedded.org/g/openembedded-core/message/166613
Mute This Topic: https://lists.openembedded.org/mt/91575168/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to