Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 76096b8d08bca438a88715518bada864c072357a https://github.com/WebKit/WebKit/commit/76096b8d08bca438a88715518bada864c072357a Author: Elliott Williams <e...@apple.com> Date: 2023-02-16 (Thu, 16 Feb 2023)
Changed paths: M Configurations/WebKitTargetConditionals.xcconfig M Source/WebGPU/Configurations/WebGPU.xcconfig M Source/WebKit/Configurations/Base.xcconfig M Source/WebKit/Configurations/WebKit.xcconfig M Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig M Tools/Scripts/build-webkit M Tools/Scripts/webkitdirs.pm Log Message: ----------- [Xcode] Enable TAPI_USE_SRCROOT to avoid giving stale headers to tapi https://bugs.webkit.org/show_bug.cgi?id=250612 rdar://103361037 Reviewed by Alexey Proskuryakov. In recent Xcodes, TAPI_USE_SRCROOT will cause tapi to read headers from the project's sources, as reported by Xcode. This is in contrast with the traditional behavior, where tapi reads *any* header in the framework's bundle directory, and is therefore liable to picking up stale or incorrect headers left from a prior build. In shipping Xcode, this behavior can be tested by building with UseSRCROOTSupportForTAPI=1 as an environment variable. * Configurations/WebKitTargetConditionals.xcconfig: Add target conditionals for shipping Xcode versions. For the following xcconfigs: 1. Enable TAPI_USE_SRCROOT in upcoming Xcodes. 2. When TAPI_USE_SRCROOT is enabled, work around rdar://104432605 by passing umbrella headers as pre-includes. * Source/WebGPU/Configurations/WebGPU.xcconfig: * Source/WebKit/Configurations/Base.xcconfig: * Source/WebKit/Configurations/WebKit.xcconfig: - WebKit additionally needs a pre-include of config.h, because tapi's SRCROOT mode reads unprocessed headers that depend on config.h being imported first (this is rdar://104248994). - Use NORMAL_UMBRELLA_FRAMEWORKS_DIR on a line in the diff. - Remove reference to NSURLDownloadSPI.h, which is no longer part of the target. * Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig: * Tools/Scripts/build-webkit: Set UseSRCROOTSupportForTAPI=YES by default where it is supported. This enables SRCROOT mode in EWS. Make-based builds are not affected. * Tools/Scripts/webkitdirs.pm: (xcodeVersion): Added getter subroutine for $xcodeVersion. (XcodeOptions): When $ENV{UseSRCROOTSupportForTAPI} is truthy, set the TAPI_USE_SRCROOT build setting. This allows us to write config logic based on TAPI_USE_SRCROOT that works on older Xcodes. Canonical link: https://commits.webkit.org/260390@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes