Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e4b1a3ecdf51f26bc0b194212dcbe35e7e1d2e9c
https://github.com/WebKit/WebKit/commit/e4b1a3ecdf51f26bc0b194212dcbe35e7e1d2e9c
Author: Qianlang Chen <[email protected]>
Date: 2026-06-25 (Thu, 25 Jun 2026)
Changed paths:
M Source/cmake/WebKitCCache.cmake
Log Message:
-----------
[CMake] Build fails with ObjC type redefinition errors with multiple WebKit
checkouts
https://bugs.webkit.org/show_bug.cgi?id=317875
Reviewed by Geoffrey Garen.
The cmake-generated ccache-launcher sets CCACHE_BASEDIR and
CCACHE_NOHASHDIR=true to share object-file cache entries across
checkouts. This also makes the PCH cache key identical across checkouts.
Unlike regular object files, binary PCHs have absolute source paths
embedded in the clang AST that ccache cannot rewrite on retrieval, so a
PCH from checkout A gets served to checkout B verbatim, causing the ObjC
declarations to appear twice and triggering the redefinition errors.
Bypass ccache when the compiler is invoked with -emit-pch. PCHs are
compiled infrequently, so the performance impact should be minimal.
No new tests: build system changes only.
* Source/cmake/WebKitCCache.cmake:
Canonical link: https://commits.webkit.org/315854@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications