perl: clean prior to build

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.

(From OE-Core rev: 00aeb84a5e7c6d4293fb4cd30dd1e28d60c6aac5)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2022-06-06 14:01:25 +02:00
committed by Richard Purdie
parent 12fe7e244e
commit 6b9af87f3e
4 changed files with 55 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
From 7b8d819e012c24df228a313beb86e1942611c904 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@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 <alex@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 \

View File

@@ -0,0 +1,28 @@
From ade4a70308d3b9d79cc3db841c0f60385780fe1a Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@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 <alex@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

View File

@@ -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/"

View File

@@ -113,6 +113,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() {