All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] dev86: work on all hosts, other cleanups
@ 2021-06-29 10:51 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 ` [meta-virtualization] [PATCH 1/2] dev86: work on all hosts, other cleanups Bruce Ashfield
  0 siblings, 2 replies; 3+ messages in thread
From: Ross Burton @ 2021-06-29 10:51 UTC (permalink / raw)
  To: meta-virtualization

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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [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

end of thread, other threads:[~2021-06-30 15:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 ` [meta-virtualization] [PATCH 1/2] dev86: work on all hosts, other cleanups Bruce Ashfield

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.