[Webkit-unassigned] [Bug 235663] New: Generated xcfilelists contain symlinks when building for macOS

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 26 12:10:37 PST 2022


https://bugs.webkit.org/show_bug.cgi?id=235663

            Bug ID: 235663
           Summary: Generated xcfilelists contain symlinks when building
                    for macOS
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Tools / Tests
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: emw at apple.com

Our “Derived Sources” targets declare their input files through an automatically generated xcfilelist. (The filelist is created by examining Make’s database, and it “discovers” dependencies used to generate derived sources in a successful build.) These filelists may refer to headers from other targets. For example, here’s a generated xcfilelist with dependencies on scripts copied to WebCore’s private headers directory:

    > cat Tools/WebKitTestRunner/DerivedSources-input.xcfilelist | tail
    $(PROJECT_DIR)/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm
    $(PROJECT_DIR)/InjectedBundle/Bindings/EventSendingController.idl
    $(PROJECT_DIR)/InjectedBundle/Bindings/GCController.idl
    $(PROJECT_DIR)/InjectedBundle/Bindings/TestRunner.idl
    $(PROJECT_DIR)/InjectedBundle/Bindings/TextInputController.idl
    $(PROJECT_DIR)/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb
    $(WEBCORE_PRIVATE_HEADERS_DIR)/CodeGenerator.pm
    $(WEBCORE_PRIVATE_HEADERS_DIR)/IDLAttributes.json
    $(WEBCORE_PRIVATE_HEADERS_DIR)/IDLParser.pm
    $(WEBCORE_PRIVATE_HEADERS_DIR)/generate-bindings.pl

At build time, $(WEBCORE_PRIVATE_HEADERS_DIR) is expanded like:

    Tools/WebKitTestRunner/Configurations/Base.xcconfig
    112:WEBCORE_PRIVATE_HEADERS_DIR = $(WEBCORE_PRIVATE_HEADERS_DIR_$(CONFIGURATION));
    113:WEBCORE_PRIVATE_HEADERS_DIR_Release = $(WEBCORE_PRIVATE_HEADERS_DIR_engineering);
    114:WEBCORE_PRIVATE_HEADERS_DIR_Debug = $(WEBCORE_PRIVATE_HEADERS_DIR_engineering);
    115:WEBCORE_PRIVATE_HEADERS_DIR_Production = $(PRODUCTION_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
    116:WEBCORE_PRIVATE_HEADERS_DIR_engineering = $(BUILT_PRODUCTS_DIR)/WebCore.framework/PrivateHeaders;

The problem is that `WebCore.framework/PrivateHeaders` is a symlink to `WebCore.framework/Versions/A/PrivateHeaders` when building for macOS. XCBuild doesn’t appear to resolve symlinks, so it can’t find a task which produces the depended-on files, and the downstream target fails to build.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220126/5f10f802/attachment.htm>


More information about the webkit-unassigned mailing list