* [PATCH 2/2] dev86: don't require dev86-native to build dev86
2021-06-29 10:51 [PATCH 1/2] dev86: work on all hosts, other cleanups Ross Burton
@ 2021-06-29 10:51 ` Ross Burton
2021-06-30 15:25 ` [meta-virtualization] [PATCH 1/2] dev86: work on all hosts, other cleanups Bruce Ashfield
1 sibling, 0 replies; 3+ messages in thread
From: Ross Burton @ 2021-06-29 10:51 UTC (permalink / raw)
To: meta-virtualization
Instead of installing binaries and patching the makefiles to run external commands, simply
build ifdef using BUILD_CC instead of CC.
This patch is now upstreamable, the recipe is less complicated, and nativesdk works.
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
...efg-from-dev86-native-instead-of-tar.patch | 36 -------------------
recipes-extended/dev86/dev86/cross.patch | 29 +++++++++++++++
recipes-extended/dev86/dev86_git.bb | 12 ++-----
3 files changed, 32 insertions(+), 45 deletions(-)
delete mode 100644 recipes-extended/dev86/dev86/0002-Makefile-use-ifdefg-from-dev86-native-instead-of-tar.patch
create mode 100644 recipes-extended/dev86/dev86/cross.patch
diff --git a/recipes-extended/dev86/dev86/0002-Makefile-use-ifdefg-from-dev86-native-instead-of-tar.patch b/recipes-extended/dev86/dev86/0002-Makefile-use-ifdefg-from-dev86-native-instead-of-tar.patch
deleted file mode 100644
index 52d5d59..0000000
--- a/recipes-extended/dev86/dev86/0002-Makefile-use-ifdefg-from-dev86-native-instead-of-tar.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 9b347a5ee9604d4ec972506328ee44a0d8eb1bf0 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Fri, 14 May 2021 06:32:02 -0700
-Subject: [PATCH] Makefile: use ifdefg from dev86-native instead of target
-
-* recipe is restricted to:
- COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
- so it's less likely to reproduce invalid combination of
- host and target, but I guess if you have aarch64 build
- machine and build for x86 then it might fail as for Bruce:
-
-| ./ifdefg -MU makefile.in >tmp.mak
-| /bin/sh: 1: ./ifdefg: not found
-| make[1]: *** [Makefile:46: make.fil] Error 127
-
- use ifdefg from native build to increase chances that it
- will be compatible with your host system
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 8a61b65..7fdf861 100644
---- a/Makefile
-+++ b/Makefile
-@@ -43,7 +43,7 @@ realclean:
- -for X in */; do cd $$X && make clean; cd $(WD); done
-
- make.fil: $(IFDEFNAME) makefile.in
-- ./$(IFDEFNAME) -MU $(IFDEFOPTS) makefile.in >tmp.mak
-+ $(IFDEFNAME) -MU $(IFDEFOPTS) makefile.in >tmp.mak
- echo > tmp.sed
- [ "$(BINDIR)" != "//bin" ] || echo >> tmp.sed "s:%BINDIR%:/bin:"
- [ "$(LIBDIR)" != "//lib/bcc" ] || echo >> tmp.sed "s:%LIBDIR%:/lib/bcc:"
diff --git a/recipes-extended/dev86/dev86/cross.patch b/recipes-extended/dev86/dev86/cross.patch
new file mode 100644
index 0000000..041a8d3
--- /dev/null
+++ b/recipes-extended/dev86/dev86/cross.patch
@@ -0,0 +1,29 @@
+Build ifdef using BUILD_CC, not CC.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/Makefile b/Makefile
+index 8a61b65..99f41de 100644
+--- a/Makefile
++++ b/Makefile
+@@ -22,6 +22,10 @@ CFLAGS= -O
+ IFDEFNAME= ifdef
+ WD=$(shell pwd)
+
++BUILD_CC ?= $(CC)
++BUILD_CFLAGS ?= $(CFLAGS)
++BUILD_LDFLAGS ?= $(LDFLAGS)
++
+ # Some makes take the last of a list as the default ...
+ all: make.fil
+ PATH="`pwd`/bin:$$PATH" $(MAKE) -f make.fil VERSION=$(VERSION) TOPDIR=`pwd` $@
+@@ -65,7 +69,7 @@ make.fil: $(IFDEFNAME) makefile.in
+ @rm -f tmp.mak tmp.sed
+
+ $(IFDEFNAME): ifdef.c
+- $(CC) $(IFDEFARCH) $(CFLAGS) $(IFDEFFLAGS) $(LDFLAGS) -o $(IFDEFNAME) ifdef.c
++ $(BUILD_CC) $(IFDEFARCH) $(BUILD_CFLAGS) $(IFDEFFLAGS) $(BUILD_LDFLAGS) -o $(IFDEFNAME) ifdef.c
+
+ uninstall:
+ @echo 'Sorry, no go; it was just wrong.'
diff --git a/recipes-extended/dev86/dev86_git.bb b/recipes-extended/dev86/dev86_git.bb
index ad7a0df..838918a 100644
--- a/recipes-extended/dev86/dev86_git.bb
+++ b/recipes-extended/dev86/dev86_git.bb
@@ -11,16 +11,14 @@ SRC_URI = "git://github.com/jbruchon/${BPN}.git;protocol=https \
file://0001-cpp-Makefile-respect-LDFLAGS-when-building-bcc-cpp.patch \
file://0003-cpp-update-token1.tok-to-make-new-gperf-happy-regen..patch \
file://0004-regen-token2.h-token1.h-with-gperf-3.1.patch \
-"
-SRC_URI_append_class-target = " \
- file://0002-Makefile-use-ifdefg-from-dev86-native-instead-of-tar.patch \
+ file://cross.patch \
"
S = "${WORKDIR}/git"
-DEPENDS = "gperf-native dev86-native"
+DEPENDS = "gperf-native"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
EXTRA_OEMAKE = "VERSION=${BASE_PV} PREFIX=${prefix} DIST=${D} LDFLAGS='${LDFLAGS}' INEXE=''"
do_compile() {
@@ -41,8 +39,4 @@ do_install() {
ln -s ../lib/bcc/bcc-cc1 ${D}${prefix}/bin/bcc-cc1
}
-do_install_append_class-native() {
- install -v -m 755 ${B}/ifdefg ${D}${bindir}
-}
-
FILES_${PN} += "${libdir}/bcc"
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [meta-virtualization] [PATCH 1/2] dev86: work on all hosts, other cleanups
2021-06-29 10:51 [PATCH 1/2] dev86: work on all hosts, other cleanups Ross Burton
2021-06-29 10:51 ` [PATCH 2/2] dev86: don't require dev86-native to build dev86 Ross Burton
@ 2021-06-30 15:25 ` Bruce Ashfield
1 sibling, 0 replies; 3+ messages in thread
From: Bruce Ashfield @ 2021-06-30 15:25 UTC (permalink / raw)
To: Ross Burton; +Cc: meta-virtualization
merged.
Bruce
On Tue, Jun 29, 2021 at 6:51 AM Ross Burton <ross@burtonini.com> wrote:
>
> Remove COMPATIBLE_HOST, whilst this is an x86 assembler there's nothing to stop
> you building it on or for arm64 and assembling x86 code.
>
> Override INEXE so that binaries are not stripped and remove INSANE_SKIP.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
> recipes-extended/dev86/dev86_git.bb | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/recipes-extended/dev86/dev86_git.bb b/recipes-extended/dev86/dev86_git.bb
> index 9488d90..ad7a0df 100644
> --- a/recipes-extended/dev86/dev86_git.bb
> +++ b/recipes-extended/dev86/dev86_git.bb
> @@ -21,7 +21,7 @@ S = "${WORKDIR}/git"
> DEPENDS = "gperf-native dev86-native"
>
> BBCLASSEXTEND = "native"
> -EXTRA_OEMAKE = "VERSION=${BASE_PV} PREFIX=${prefix} DIST=${D} LDFLAGS='${LDFLAGS}'"
> +EXTRA_OEMAKE = "VERSION=${BASE_PV} PREFIX=${prefix} DIST=${D} LDFLAGS='${LDFLAGS}' INEXE=''"
>
> do_compile() {
> # always regenerate token1.h, token2.h for deterministic behavior
> @@ -45,7 +45,4 @@ do_install_append_class-native() {
> install -v -m 755 ${B}/ifdefg ${D}${bindir}
> }
>
> -COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
> FILES_${PN} += "${libdir}/bcc"
> -
> -INSANE_SKIP_${PN} = "already-stripped"
> --
> 2.25.1
>
>
>
>
--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
^ permalink raw reply [flat|nested] 3+ messages in thread