RESOLVED FIXED321684
[CMake] Mac build fails to resolve the WebCore_Private module when ENABLE_BACK_FORWARD_LIST_SWIFT is off
https://bugs.webkit.org/show_bug.cgi?id=321684
Summary [CMake] Mac build fails to resolve the WebCore_Private module when ENABLE_BAC...
Basuke Suzuki
Reported 2026-08-13 09:31:44 PDT
The CMake macOS build fails when configured with --no-swift-back-forward-list (ENABLE_BACK_FORWARD_LIST_SWIFT=OFF): Source/WebKit/SwiftPrewarmMac.swift:27:8: error: unable to resolve module dependency: 'WebCore_Private' import WebCore_Private ^ note: a dependency of main module 'SwiftPrewarmMac' 319083@main added unconditional imports of the WebKit stack's own modules to Source/WebKit/SwiftPrewarmMac.swift, including 'import WebCore_Private'. But staging the in-tree WebCore_Private module map into WebCore.framework/Versions/A/Modules/module.private.modulemap -- where the Swift Clang importer finds it via -F -- is gated on ENABLE_BACK_FORWARD_LIST_SWIFT in Source/WebCore/PlatformCocoa.cmake. With the feature off, WebCore.framework/Modules is left empty and the module cannot be resolved. The prewarm target itself is not gated on that feature: on Cocoa SWIFT_REQUIRED is unconditionally ON (Source/cmake/OptionsCocoa.cmake), and Source/WebKit/CMakeLists.txt adds the prewarm target for 'SWIFT_REQUIRED AND WEBKIT_SDK_IS_MACOS'. So every macOS build with ENABLE_BACK_FORWARD_LIST_SWIFT=OFF is broken. Steps to reproduce: 1. export BUILD_WEBKIT_ARGS=--no-swift-back-forward-list 2. Tools/Scripts/build-webkit --cmake --release Fix: gate the module map staging on SWIFT_REQUIRED instead of ENABLE_BACK_FORWARD_LIST_SWIFT. The block already lives inside 'if (WEBKIT_SDK_IS_MACOS)', and the iOS path in the same file stages the map unconditionally, so this makes macOS match iOS.
Attachments
Basuke Suzuki
Comment 1 2026-08-13 09:32:13 PDT
Basuke Suzuki
Comment 2 2026-08-13 09:40:02 PDT
EWS
Comment 3 2026-08-14 07:25:00 PDT
Committed 319166@main (ba82b6ab43ce): <https://commits.webkit.org/319166@main> Reviewed commits have been landed. Closing PR #71551 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.