Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: aac8c557da9ae65151ba533ba8d5b1c7841e741c
      
https://github.com/WebKit/WebKit/commit/aac8c557da9ae65151ba533ba8d5b1c7841e741c
  Author: Elliott Williams <[email protected]>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M Configurations/CommonBase.xcconfig
    M Source/WTF/Scripts/generate-platform-args
    M Source/WTF/WTF.xcodeproj/project.pbxproj
    M Source/WTF/wtf/Platform.h
    M Source/WTF/wtf/PlatformEnable.h
    M Source/WTF/wtf/PlatformHave.h
    M Source/WebCore/PAL/Configurations/PAL.xcconfig
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebGPU/Configurations/WebGPU.xcconfig
    M Source/WebGPU/WebGPU.xcodeproj/project.pbxproj
    M Source/WebKit/Configurations/Base.xcconfig
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Tools/TestWebKitAPI/Configurations/TestWebKitAPIBundle.xcconfig
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj

  Log Message:
  -----------
  [Swift] Support WebKitAdditions in swift-args.resp and work around dependency 
bug
https://bugs.webkit.org/show_bug.cgi?id=292241
rdar://147084175

Reviewed by Alexey Proskuryakov and Richard Robinson.

Instead of running `generate-platform-args` from WTF, during its
installhdrs phase, have every project that compiles Swift sources invoke
it locally. Where appropriate, this script is added to projects'
"Derived Sources" target, otherwise it's just run before that target
begins compiling.

We recently discovered that Swift doesn't emit input dependencies for
@-style response files (rdar://150228472), so WebKit's incremental build
is broken when Platform.h changes. AFAICT, there's not an easy way in
Xcode to incorporate the .resp file into a target's "CompileSwift" task.
Instead, as a hacky workaround, have `generate-platform-args` emit an
empty .swift file as a side effect. Have each target that compiles Swift
code compile this file. Then, when platform args are regenerated, this
file will be touched, Xcode will invoke the Swift driver, and Swift will
realize it now has different -D arguments and recompile code as needed.

Lastly, as a drive-by, accept changes from `sort-Xcode-project-file` to
the projects this commit touches.

* Configurations/CommonBase.xcconfig:
* Source/WTF/Scripts/generate-platform-args:
* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/Platform.h:
* Source/WTF/wtf/PlatformEnable.h:
* Source/WTF/wtf/PlatformHave.h:
* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj: Aside from the main
  change, also remove two files from "Product Dependencies" that don't
  belong (they are not build products).
* Source/WebGPU/Configurations/WebGPU.xcconfig:
* Source/WebGPU/WebGPU.xcodeproj/project.pbxproj:
* Source/WebKit/Configurations/Base.xcconfig:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Configurations/TestWebKitAPIBundle.xcconfig:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/294347@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to