[webkit-changes] [WebKit/WebKit] cb1527: [WK2] Xcode module verifier unable to find JSBase....

Elliott Williams noreply at github.com
Mon Oct 9 15:34:22 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cb15275e0895dce6dd7882f3914c8bc1b34c5d0f
      https://github.com/WebKit/WebKit/commit/cb15275e0895dce6dd7882f3914c8bc1b34c5d0f
  Author: Elliott Williams <emw at apple.com>
  Date:   2023-10-09 (Mon, 09 Oct 2023)

  Changed paths:
    M Source/WebKit/Configurations/WebKit.xcconfig

  Log Message:
  -----------
  [WK2] Xcode module verifier unable to find JSBase.h in some production builds
https://bugs.webkit.org/show_bug.cgi?id=262573
rdar://115357654

Reviewed by Alexey Proskuryakov.

Add include flags to OTHER_MODULE_VERIFIER_FLAGS when making STP and
downlevel builds, which references SDK headers in
$(WK_LIBRARY_HEADERS_FOLDER_PATH) and $(WK_OVERRIDE_FRAMEWORKS_DIR).
Normally, the module verifier shouldn't be given special include paths
because its purpose is to validate modules as _clients_ will import
them. But in these build styles, we control all the clients, and we are
intentionally putting header content in non-standard places to avoid
overlapping the base SDK, so the include paths are appropriate.

On Xcode 14.3 and below, these flags get passed to the tool before other
XCBuild-provided flags do, making it impossible to pass flags to the
frontend with "--". As a result, disable module verification on those
versions.

The versions of XCBuild we _can_ use recognize a new build setting,
ENABLE_MODULE_VERIFIER, and have deprecated the old
CLANG_MODULES_ENABLE_VERIFIER_TOOL setting, so switching to the new
variable effectively disables it on older Xcodes.

* Source/WebKit/Configurations/WebKit.xcconfig:

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




More information about the webkit-changes mailing list