From: "Alexander Kanavin" <alex.kanavin@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Subject: [PATCH 20/22] ccache.bbclass: use ccache from host distribution
Date: Mon, 28 Dec 2020 21:04:34 +0100 [thread overview]
Message-ID: <20201228200436.78130-20-alex.kanavin@gmail.com> (raw)
In-Reply-To: <20201228200436.78130-1-alex.kanavin@gmail.com>
ccache 4.x has hard dependencies on cmake-native (used as
build system) and zstd, which means inserting ccache-native
as DEPENDS into everything creates circular dependencies which
are impossible to break.
ccache 3.x did not have this problem as it used plain makefiles
and an in-tree copy of zlib.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/classes/ccache.bbclass | 3 ++-
meta/conf/bitbake.conf | 2 +-
meta/lib/oeqa/selftest/cases/buildoptions.py | 8 ++++----
3 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass
index b5457359ca..11a3f1cb52 100644
--- a/meta/classes/ccache.bbclass
+++ b/meta/classes/ccache.bbclass
@@ -1,5 +1,7 @@
#
# Usage:
+# - Install ccache package on the host distribution and set up a build directory
+#
# - Enable ccache
# Add the following line to a conffile such as conf/local.conf:
# INHERIT += "ccache"
@@ -47,7 +49,6 @@ python() {
# quilt-native doesn't need ccache since no c files
if not (pn in ('ccache-native', 'quilt-native') or
bb.utils.to_boolean(d.getVar('CCACHE_DISABLE'))):
- d.appendVar('DEPENDS', ' ccache-native')
d.setVar('CCACHE', 'ccache ')
}
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 92b6866d4d..af614ff347 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -498,7 +498,7 @@ HOSTTOOLS += " \
HOSTTOOLS += "${@'ip ping ps scp ssh stty' if (bb.utils.contains_any('IMAGE_CLASSES', 'testimage testsdk', True, False, d) or any(x in (d.getVar("BBINCLUDED") or "") for x in ["testimage.bbclass", "testsdk.bbclass"])) else ''}"
# Link to these if present
-HOSTTOOLS_NONFATAL += "aws gcc-ar gpg ld.bfd ld.gold nc pigz sftp socat ssh sudo"
+HOSTTOOLS_NONFATAL += "aws ccache gcc-ar gpg ld.bfd ld.gold nc pigz sftp socat ssh sudo"
# Temporary add few more detected in bitbake world
HOSTTOOLS_NONFATAL += "join nl size yes zcat"
diff --git a/meta/lib/oeqa/selftest/cases/buildoptions.py b/meta/lib/oeqa/selftest/cases/buildoptions.py
index e91f0bd18f..d0f6477300 100644
--- a/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -33,10 +33,10 @@ class ImageOptionsTests(OESelftestTestCase):
self.assertTrue(incremental_removed, msg = "Match failed in:\n%s" % log_data_removed)
def test_ccache_tool(self):
- bitbake("ccache-native")
- bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native')
- p = bb_vars['SYSROOT_DESTDIR'] + bb_vars['bindir'] + "/" + "ccache"
- self.assertTrue(os.path.isfile(p), msg = "No ccache found (%s)" % p)
+ bb_vars = get_bb_vars(['HOSTTOOLS_DIR'], 'm4-native')
+ p = bb_vars['HOSTTOOLS_DIR'] + "/" + "ccache"
+ if not os.path.isfile(p):
+ self.skipTest("No ccache binary found in %s" % bb_vars['HOSTTOOLS_DIR'])
self.write_config('INHERIT += "ccache"')
self.add_command_to_tearDown('bitbake -c clean m4-native')
bitbake("m4-native -c clean")
--
2.29.2
next prev parent reply other threads:[~2020-12-28 20:05 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-28 20:04 [PATCH 01/22] devtool: gitsm:// should be handled same as git:// in upgrades Alexander Kanavin
2020-12-28 20:04 ` [PATCH 02/22] ovmf: upgrade 202008 -> 202011 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 03/22] libksba: update 1.4.0 -> 1.5.0 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 04/22] libjitterentropy: update 2.2.0 -> 3.0.0 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 05/22] icu: update 68.1 -> 68.2 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 06/22] gnutls: update 3.6.15 -> 3.7.0 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 07/22] gnupg: update 2.2.23 -> 2.2.26 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 08/22] boost: update 1.74.0 -> 1.75.0 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 09/22] kexec-tools: update 2.0.20 -> 2.0.21 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 10/22] vulkan-samples: update to latest revision Alexander Kanavin
2020-12-28 20:04 ` [PATCH 11/22] libpam: update 1.3.1 -> 1.5.1 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 12/22] autotools.bbclass: make it possible to inhibit m4 deletion Alexander Kanavin
2020-12-28 20:04 ` [PATCH 13/22] bash: update 5.0 -> 5.1 Alexander Kanavin
2021-01-07 17:57 ` [OE-core] " Richard Purdie
2021-01-07 18:43 ` Joshua Watt
2021-01-07 19:07 ` Otavio Salvador
2021-01-07 19:10 ` Alexander Kanavin
2021-01-07 21:55 ` Richard Purdie
2020-12-28 20:04 ` [PATCH 14/22] strace: update 5.9 -> 5.10 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 15/22] python3-pytest: update 6.1.2 -> 6.2.1 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 16/22] mtools: update 4.0.25 -> 4.0.26 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 17/22] gnu-config: update to latest revision Alexander Kanavin
2020-12-28 20:04 ` [PATCH 18/22] cmake: update 3.18.4 -> 3.19.2 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 19/22] ccache: upgrade 3.7.11 -> 4.1 Alexander Kanavin
2020-12-28 20:04 ` Alexander Kanavin [this message]
2020-12-28 20:04 ` [PATCH 21/22] runtime_test.py: correct output check for bash 5.1 Alexander Kanavin
2020-12-28 20:04 ` [PATCH 22/22] gawk: add missing ptest dependency Alexander Kanavin
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=20201228200436.78130-20-alex.kanavin@gmail.com \
--to=alex.kanavin@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/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.