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

Reply via email to