aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper
diff options
context:
space:
mode:
authorJordan R Abrahams-Whitehead <ajordanr@google.com>2022-03-04 00:40:04 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-03-04 00:40:04 +0000
commit8a12172a247b7fee03c37d0b5ef5cfe818c8ee4d (patch)
treeb0522edde1d3c5356c95eb1ee2eae3e87befa1f3 /compiler_wrapper
parentcfc899b23937f6aec9ea2de4967dd8d299f3dc6d (diff)
parentc9cb1157f1f9cc5cd081941ba83c8d63657160d0 (diff)
downloadtoolchain-utils-8a12172a247b7fee03c37d0b5ef5cfe818c8ee4d.tar.gz
Merging 25 commit(s) from Chromium's toolchain-utils am: 9090b1a17b am: c9cb1157f1
Original change: https://android-review.googlesource.com/c/platform/external/toolchain-utils/+/2006491 Change-Id: I68f99b452436cf28ef79418409446f75f9ef8441
Diffstat (limited to 'compiler_wrapper')
-rw-r--r--compiler_wrapper/ccache_flag.go7
-rw-r--r--compiler_wrapper/ccache_flag_test.go13
2 files changed, 20 insertions, 0 deletions
diff --git a/compiler_wrapper/ccache_flag.go b/compiler_wrapper/ccache_flag.go
index 265b8fc2..02fb43ac 100644
--- a/compiler_wrapper/ccache_flag.go
+++ b/compiler_wrapper/ccache_flag.go
@@ -19,6 +19,13 @@ func processCCacheFlag(builder *commandBuilder) {
return arg.value
})
+ // Disable ccache during portage's src_configure phase. Using ccache here is generally a
+ // waste of time, since these files are very small. Experimentally, this speeds up
+ // configuring by ~13%.
+ if val, present := builder.env.getenv("EBUILD_PHASE"); present && val == "configure" {
+ useCCache = false
+ }
+
if builder.cfg.useCCache && useCCache {
// Note: we used to also set CCACHE_BASEDIR but don't do it
// anymore for reasons outlined in crrev.com/c/2103170.
diff --git a/compiler_wrapper/ccache_flag_test.go b/compiler_wrapper/ccache_flag_test.go
index 50205312..d6eeb926 100644
--- a/compiler_wrapper/ccache_flag_test.go
+++ b/compiler_wrapper/ccache_flag_test.go
@@ -174,3 +174,16 @@ func TestRusagePreventsCCache(t *testing.T) {
}
})
}
+
+func TestCcacheIsDisabledInSrcConfigure(t *testing.T) {
+ withCCacheEnabledTestContext(t, func(ctx *testContext) {
+ ctx.NoteTestWritesToUmask()
+
+ ctx.env = append(ctx.env, "EBUILD_PHASE=configure")
+ cmd := ctx.must(callCompiler(ctx, ctx.cfg,
+ ctx.newCommand(gccX86_64, mainCc)))
+ if err := verifyPath(cmd, gccX86_64+".real"); err != nil {
+ t.Error(err)
+ }
+ })
+}