Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8150601a5c57895cff5cd948c5c8d5da92d9b8a5
https://github.com/WebKit/WebKit/commit/8150601a5c57895cff5cd948c5c8d5da92d9b8a5
Author: Keith Miller <[email protected]>
Date: 2026-04-16 (Thu, 16 Apr 2026)
Changed paths:
M Source/WebCore/testing/js/WebCoreTestSupportPrefix.h
M Source/WebKit/CMakeLists.txt
M Source/WebKit/PlatformGTK.cmake
M Source/WebKit/PlatformMac.cmake
M Source/WebKit/PlatformPlayStation.cmake
M Source/WebKit/PlatformWPE.cmake
M Source/WebKitLegacy/PlatformMac.cmake
M Source/cmake/OptionsWin.cmake
M Source/cmake/WebKitCompilerFlags.cmake
M Source/cmake/WebKitMacros.cmake
M Tools/DumpRenderTree/CMakeLists.txt
M Tools/TestWebKitAPI/CMakeLists.txt
M Tools/TestWebKitAPI/Helpers/TestWebKitAPIPrefix.h
M Tools/WebKitTestRunner/CMakeLists.txt
M Tools/WebKitTestRunner/PlatformWin.cmake
M Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h
Log Message:
-----------
Use pre-compiled headers consistently for all ports
https://bugs.webkit.org/show_bug.cgi?id=312210
rdar://174698623
Reviewed by Fujii Hironori.
Use precompiled headers for all the various build targets consistently.
This is the first step towards removing "config.h" from all .cpp files.
Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:
Remove unused Windows configuration for CoreFoundation. Guard
CoreServices on OS(DARWIN).
The prefix header was alse defining WEBCORE_TESTSUPPORT_EXPORT as
WEBCORE_EXPORT (which resolves to dllimport when building
WebCoreTestSupport, since BUILDING_WebCore isn't defined). This
prevented PlatformExportMacros.h:44-50 from setting the correct
definition based on BUILDING_WebCoreTestSupport.
* Source/cmake/WebKitCompilerFlags.cmake:
Add -Wno-invalid-offsetof to list of GCC skipped warnings since
there seems to be a bug that causes the pragma to get skipped.
* Source/cmake/WebKitMacros.cmake:
CMake's target_precompile_headers() compiles the prefix header into a
.gch (GCC) or .pch (Clang) file as part of the target's build. For
OBJECT library targets (WebCore, JSC on WPE/PlayStation, WTF,
bmalloc), WebKit manually propagates $<TARGET_OBJECTS:target> to
consuming targets for linking. CMake includes the PCH file in that
object list, so it gets passed to the linker.
- GNU ld: silently ignores the unrecognized file format
- lld (GTK, WPE): errors with "unclosed quote/comment in a linker
script" - it tries to parse the binary as a linker script
- Prospero Clang (PlayStation): treats the .pch as a source input,
triggering compiler flag validation errors (-sce-stdlib=v2
requires C++20)
The $<FILTER:...,EXCLUDE,\\.(g|p)ch$> strips these files from the
object list before they reach the linker.
* Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h:
WebKit/WebKit2_C.h expects wtf/Platform.h to already be included as
it is for the rest of the project.
Canonical link: https://commits.webkit.org/311402@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications