All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin Jansa" <Martin.Jansa@gmail.com>
To: meta-virtualization@lists.yoctoproject.org
Cc: Ross Burton <ross@burtonini.com>,
	Ross Burton <ross.burton@arm.com>,
	Bruce Ashfield <bruce.ashfield@gmail.com>
Subject: [meta-virtualization][hardknott][PATCH 13/13] dev86: don't require dev86-native to build dev86
Date: Wed,  1 Dec 2021 17:41:36 +0100	[thread overview]
Message-ID: <20211201164136.33802-13-Martin.Jansa@gmail.com> (raw)
In-Reply-To: <20211201164136.33802-1-Martin.Jansa@gmail.com>

From: Ross Burton <ross@burtonini.com>

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>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.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.32.0


  parent reply	other threads:[~2021-12-01 16:42 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-01 16:41 [meta-virtualization][hardknott][PATCH 01/13] uxen: update guest tools to 4.1.8 Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 02/13] uxen-guest-tools: fix build against kernels 5.4+ Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 03/13] uxen-guest-tools: fix build against kernels 5.15+ Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 04/13] uxen-guest-tools: fix -DMODULE not working when building uxenhc module Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 05/13] xvisor: uprev to latest master and fix python reference Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 06/13] xvisor: set PV Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 07/13] dev86: add dependency on gperf-native Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 08/13] dev86: switch to still maintained fork of dev86 Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 09/13] dev86: depend on dev86-native for ifdefg Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 10/13] dev86: fix compatibility with gperf-3.1 Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 11/13] dev86: remove the pre-generated token[12].h and force gperf to generate them in do_compile Martin Jansa
2021-12-01 16:41 ` [meta-virtualization][hardknott][PATCH 12/13] dev86: work on all hosts, other cleanups Martin Jansa
2021-12-01 16:41 ` Martin Jansa [this message]
2021-12-02  4:05 ` [meta-virtualization][hardknott][PATCH 01/13] uxen: update guest tools to 4.1.8 Bruce Ashfield

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211201164136.33802-13-Martin.Jansa@gmail.com \
    --to=martin.jansa@gmail.com \
    --cc=bruce.ashfield@gmail.com \
    --cc=meta-virtualization@lists.yoctoproject.org \
    --cc=ross.burton@arm.com \
    --cc=ross@burtonini.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.