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

Reply via email to