[webkit-changes] [WebKit/WebKit] e31966: Unify more of xcconfig content across projects

aproskuryakov noreply at github.com
Thu Dec 22 16:00:47 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e31966cc25b1405462927008cfaa9e06064af8f4
      https://github.com/WebKit/WebKit/commit/e31966cc25b1405462927008cfaa9e06064af8f4
  Author: Alexey Proskuryakov <ap at apple.com>
  Date:   2022-12-22 (Thu, 22 Dec 2022)

  Changed paths:
    A Configurations/CommonBase.xcconfig
    M Configurations/SDKVariant.xcconfig
    A Configurations/WebKitProjectPaths.xcconfig
    M Source/JavaScriptCore/Configurations/Base.xcconfig
    M Source/JavaScriptCore/Configurations/TestAPI.xcconfig
    M Source/JavaScriptCore/Configurations/ToolExecutable.xcconfig
    M Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig
    M Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig
    M Source/ThirdParty/ANGLE/Configurations/Base.xcconfig
    M Source/ThirdParty/gtest/xcode/Config/General.xcconfig
    M Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig
    M Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig
    M Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig
    M Source/WTF/Configurations/Base.xcconfig
    M Source/WebCore/Configurations/Base.xcconfig
    M Source/WebCore/Configurations/WebCore.xcconfig
    M Source/WebCore/Configurations/WebCoreTestSupport.xcconfig
    M Source/WebCore/PAL/Configurations/Base.xcconfig
    M Source/WebCore/PAL/Configurations/PAL.xcconfig
    M Source/WebCore/PAL/libavif/Configurations/Base.xcconfig
    M Source/WebCore/PAL/libavif/Configurations/libavif.xcconfig
    M Source/WebCore/PAL/libavif/dav1d/Configurations/Base.xcconfig
    M Source/WebCore/PAL/libavif/dav1d/Configurations/dav1d.xcconfig
    M Source/WebGPU/Configurations/Base.xcconfig
    M Source/WebGPU/Configurations/WebGPU.xcconfig
    M Source/WebInspectorUI/Configurations/Base.xcconfig
    M Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig
    M Source/WebKit/Configurations/Base.xcconfig
    M Source/WebKit/Configurations/BaseTarget.xcconfig
    M Source/WebKit/Configurations/BaseXPCService.xcconfig
    R Source/WebKit/Configurations/Shim.xcconfig
    M Source/WebKit/Configurations/WebKit.xcconfig
    M Source/WebKit/Configurations/WebKitSwift.xcconfig
    M Source/WebKit/Configurations/adattributiond.xcconfig
    M Source/WebKit/SwiftOverlay/Configurations/Base.xcconfig
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKitLegacy/mac/Configurations/Base.xcconfig
    M Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig
    M Source/bmalloc/Configurations/Base.xcconfig
    M Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj
    M Tools/DumpRenderTree/Scripts/generate-derived-sources.sh
    M Tools/DumpRenderTree/mac/Configurations/Base.xcconfig
    M Tools/DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig
    M Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig
    M Tools/DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig
    R Tools/DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig
    M Tools/ImageDiff/cg/Configurations/Base.xcconfig
    M Tools/MiniBrowser/Configurations/Base.xcconfig
    M Tools/MobileMiniBrowser/Configurations/Base.xcconfig
    M Tools/TestWebKitAPI/Configurations/Base.xcconfig
    M Tools/TestWebKitAPI/Configurations/DebugRelease.xcconfig
    M Tools/TestWebKitAPI/Configurations/InjectedBundle.xcconfig
    M Tools/TestWebKitAPI/Configurations/TestIPC.xcconfig
    M Tools/TestWebKitAPI/Configurations/TestWGSL.xcconfig
    M Tools/TestWebKitAPI/Configurations/TestWTFLibrary.xcconfig
    M Tools/TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig
    M Tools/WebEditingTester/Configurations/Base.xcconfig
    M Tools/WebKitTestRunner/Configurations/Base.xcconfig
    M Tools/WebKitTestRunner/Configurations/BaseTarget.xcconfig
    M Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig
    M Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig
    M Tools/WebKitTestRunner/Scripts/generate-derived-sources.sh
    M Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig

  Log Message:
  -----------
  Unify more of xcconfig content across projects
https://bugs.webkit.org/show_bug.cgi?id=249718
rdar://103600264

Reviewed by Elliott Williams.

Move common variables from individual projects' xcconfigs to central Configurations directory.

We had significant divergence between variables of the same name in different projects, so
this is more of a refactoring than a mechanical move. Also, did some unrelated cleanup that
was hard to pass.

- Centralized WK_TARGET_{IOS|TVOS|WATCHOS}_VERSION_MAJOR and TARGET_MAC_OS_X_VERSION_MAJOR
variables. The latter had slightly different definitions between xcconfigs, especially in
gtest, but effectively there should be no behavior change.

- Renamed WK_PRIVATE_FRAMEWORKS_DIR to WK_PRIVATE_FRAMEWORK_STUBS_DIR, because the old name
was super misleading.

- Use SDK_DIR other SDKROOT in more places. No real difference, but it's more idiomatic.

- Removed NEXT_ROOT, which is long obsolete.

- Removed DISABLE_SDK_METADATA_PARSING workaround, which is no longer needed.

- Changed tools projects to build successfully for STP and StagedFrameworks builds. We don't
need that yet, but it was good to test unification with this, and I'm thinking that we should
look into building tools in these configurations. The biggest difference was creating
symlinks in generate-derived-sources.sh to avoid having spaces in paths passed to `make`.

* Configurations/CommonBase.xcconfig: Added. This is intended to be one file included from
Base.xcconfig in all projects, reducing the risk of missing an important include somewhere.

* Configurations/SDKVariant.xcconfig: Moved a couple variables derived purely from SDK
behavior here, as opposed to WebKit project structure.

* Configurations/WebKitProjectPaths.xcconfig: Added. This contains paths to projects' SDK
content intended to be used in dependent projects. Each project is still responsible for
calculating its SEARCH or INSTALL paths, but their calculation also gets simpler and more
unified using variables from this file.

* Source/WebKit/Configurations/Shim.xcconfig: Removed.
* Tools/DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig: Removed.
    These weren't used by any targets any more.

* Source/JavaScriptCore/Configurations/Base.xcconfig:
* Source/JavaScriptCore/Configurations/TestAPI.xcconfig:
* Source/JavaScriptCore/Configurations/ToolExecutable.xcconfig:
* Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig:
* Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
* Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
* Source/ThirdParty/gtest/xcode/Config/General.xcconfig:
* Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig:
* Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
* Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig:
* Source/WTF/Configurations/Base.xcconfig:
* Source/WebCore/Configurations/Base.xcconfig:
* Source/WebCore/Configurations/WebCore.xcconfig:
* Source/WebCore/Configurations/WebCoreTestSupport.xcconfig:
* Source/WebCore/PAL/Configurations/Base.xcconfig:
* Source/WebCore/PAL/Configurations/PAL.xcconfig:
* Source/WebCore/PAL/libavif/Configurations/Base.xcconfig:
* Source/WebCore/PAL/libavif/Configurations/libavif.xcconfig:
* Source/WebCore/PAL/libavif/dav1d/Configurations/Base.xcconfig:
* Source/WebCore/PAL/libavif/dav1d/Configurations/dav1d.xcconfig:
* Source/WebGPU/Configurations/Base.xcconfig:
* Source/WebGPU/Configurations/WebGPU.xcconfig:
* Source/WebInspectorUI/Configurations/Base.xcconfig:
* Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig:
* Source/WebKit/Configurations/Base.xcconfig:
* Source/WebKit/Configurations/BaseTarget.xcconfig:
* Source/WebKit/Configurations/BaseXPCService.xcconfig:
* Source/WebKit/Configurations/WebKit.xcconfig:
* Source/WebKit/Configurations/WebKitSwift.xcconfig:
* Source/WebKit/Configurations/adattributiond.xcconfig:
* Source/WebKit/SwiftOverlay/Configurations/Base.xcconfig:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKitLegacy/mac/Configurations/Base.xcconfig:
* Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
* Source/bmalloc/Configurations/Base.xcconfig:
* Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* Tools/DumpRenderTree/Scripts/generate-derived-sources.sh:
* Tools/DumpRenderTree/mac/Configurations/Base.xcconfig:
* Tools/DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
* Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig:
* Tools/DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
* Tools/ImageDiff/cg/Configurations/Base.xcconfig:
* Tools/MiniBrowser/Configurations/Base.xcconfig:
* Tools/MobileMiniBrowser/Configurations/Base.xcconfig:
* Tools/TestWebKitAPI/Configurations/Base.xcconfig:
* Tools/TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* Tools/TestWebKitAPI/Configurations/InjectedBundle.xcconfig:
* Tools/TestWebKitAPI/Configurations/TestIPC.xcconfig:
* Tools/TestWebKitAPI/Configurations/TestWGSL.xcconfig:
* Tools/TestWebKitAPI/Configurations/TestWTFLibrary.xcconfig:
* Tools/TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* Tools/WebEditingTester/Configurations/Base.xcconfig:
* Tools/WebKitTestRunner/Configurations/Base.xcconfig:
* Tools/WebKitTestRunner/Configurations/BaseTarget.xcconfig:
* Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
* Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
* Tools/WebKitTestRunner/Scripts/generate-derived-sources.sh:
* Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig:

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




More information about the webkit-changes mailing list