Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 38985585468bf2f8114d6a3ccc067befb12ae83a
https://github.com/WebKit/WebKit/commit/38985585468bf2f8114d6a3ccc067befb12ae83a
Author: Nikolas Zimmermann <[email protected]>
Date: 2026-06-25 (Thu, 25 Jun 2026)
Changed paths:
M Source/WebKit/PlatformWPE.cmake
Log Message:
-----------
[WPE] REGRESSION(315785@main): Swift-enabled build fails to link libWPEWebKit
with multiple-definition errors
https://bugs.webkit.org/show_bug.cgi?id=317833
Reviewed by Alicia Boya Garcia.
The Ubuntu 26.04 wkdev-sdk bump (v7 -> v8) upgraded CMake from 3.28.3 to
4.2.3. Since CMake 3.29 the Ninja Swift_SHARED_LIBRARY_LINKER rule expands an
OBJECT library's .o files onto the link line when the library is linked by
target name -- 3.28.3 did NOT do that...
PlatformWPE.cmake worked around the old behaviour by also passing the
WPEPlatform objects explicitly via $<TARGET_OBJECTS:...>
whenever SWIFT_REQUIRED
was activated. From CMake 3.29 on that lists every object a second time, so
linking libWPEWebKit-2.0.so failed with hundreds of multiple-definition
errors from the linker.
The object libraries still have to be linked by name to propagate their link
interface, so the explicit-objects workaround cannot simply be dropped: it is
required on CMake < 3.29 and harmful on CMake >= 3.29.
-> Add a fix that works for both CMake < 3.29 and >= 3.29.
* Source/WebKit/PlatformWPE.cmake:
Canonical link:
https://flagged.apple.com:443/proxy?t2=Dp1v6P2Is0&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE1ODEwQG1haW4=&emid=80d85cfc-2e58-4b43-8b2c-9e3fc067fc16&c=11
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications