]> code.ossystems Code Review - openembedded-core.git/commitdiff
ccache.bbclass: Use ccache-native and disable ccache for native recipes
authorRobert Yang <liezhi.yang@windriver.com>
Tue, 19 Jan 2021 09:23:44 +0000 (01:23 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 20 Jan 2021 00:41:39 +0000 (00:41 +0000)
Since host's ccache is not reliable, so disable ccache for native recipes and
use ccache-native for other types of recipes. We need disable ccache for native
recipes is because ccache-native now depends on cmake-native which causes
circular dependencies, and it's not easy to break the circular.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/ccache.bbclass
meta/lib/oeqa/selftest/cases/buildoptions.py

index fc4745609ce679a4509267ce3e3ccab41e41d0e5..4532894c574ededab69a51e7e4ee4d9dfddc30e3 100644 (file)
@@ -49,7 +49,7 @@ python() {
     """
     pn = d.getVar('PN')
     # quilt-native doesn't need ccache since no c files
-    if not (pn in ('ccache-native', 'quilt-native') or
+    if not (bb.data.inherits_class("native", d) or
             bb.utils.to_boolean(d.getVar('CCACHE_DISABLE'))):
         d.appendVar('DEPENDS', ' ccache-native')
         d.setVar('CCACHE', 'ccache ')
index e91f0bd18f6c3af0880cb59c73c01a56fe282864..fb0a5ebfed4b5f05af3e3715d3ddfc3e8990b602 100644 (file)
@@ -38,13 +38,14 @@ class ImageOptionsTests(OESelftestTestCase):
         p = bb_vars['SYSROOT_DESTDIR'] + bb_vars['bindir'] + "/" + "ccache"
         self.assertTrue(os.path.isfile(p), msg = "No ccache found (%s)" % p)
         self.write_config('INHERIT += "ccache"')
-        self.add_command_to_tearDown('bitbake -c clean m4-native')
-        bitbake("m4-native -c clean")
-        bitbake("m4-native -f -c compile")
-        log_compile = os.path.join(get_bb_var("WORKDIR","m4-native"), "temp/log.do_compile")
+        recipe = "binutils-cross-x86_64"
+        self.add_command_to_tearDown('bitbake -c clean %s' % recipe)
+        bitbake("%s -c clean" % recipe)
+        bitbake("%s -f -c compile" % recipe)
+        log_compile = os.path.join(get_bb_var("WORKDIR", recipe), "temp/log.do_compile")
         with open(log_compile, "r") as f:
             loglines = "".join(f.readlines())
-        self.assertIn("ccache", loglines, msg="No match for ccache in m4-native log.do_compile. For further details: %s" % log_compile)
+        self.assertIn("ccache", loglines, msg="No match for ccache in %s log.do_compile. For further details: %s" % (recipe , log_compile))
 
     def test_read_only_image(self):
         distro_features = get_bb_var('DISTRO_FEATURES')