RESOLVED FIXED190183
[Win][Ninja] incremental build failure of WebKit due to not triggering recompilations by modifying WebCore forwarding header
https://bugs.webkit.org/show_bug.cgi?id=190183
Summary [Win][Ninja] incremental build failure of WebKit due to not triggering recomp...
Fujii Hironori
Reported 2018-10-01 20:00:38 PDT
[Win][Ninja] incremental build failure of WebKit due to not triggering recompilations by modifying WebCore forwarding header Applying Bug 190154 Comment 3 causes incremental build failure of WebKit.
Attachments
Fujii Hironori
Comment 1 2018-10-01 20:16:46 PDT
> C:\webkit\ga\WebKitBuild\Release>ninja -t deps Source\WebKit\CMakeFiles\WebKit.dir\Shared\curl\WebCoreArgumentCodersCurl.cpp.obj | findstr ResourceRequest > derivedsources/forwardingheaders/webcore/ResourceRequest.h > derivedsources/forwardingheaders/webcore/ResourceRequestBase.h > > C:\webkit\ga\WebKitBuild\Release>ninja -t query DerivedSources\ForwardingHeaders\WebCore\ResourceRequestBase.h > DerivedSources/ForwardingHeaders/WebCore/ResourceRequestBase.h: > input: CUSTOM_COMMAND > ../../Source/WebCore/platform/network/ResourceRequestBase.h > outputs: > Source/WebCore/WebCoreForwardingHeaders > Source/WebCore/CMakeFiles/WebCoreForwardingHeaders case sensitive issue?
Don Olmstead
Comment 3 2018-10-10 09:46:14 PDT
Won't this just be fixed if we move to copying all files and enumerating them? We're still doing groups in our copying.
Fujii Hironori
Comment 4 2018-10-10 19:15:53 PDT
I don't understand this issue yet. Hopefully, it will be fixed by switching to Clang (Bug 171618). There is a ticket in Ninja issue tracker. Make path matching case insensitive on Windows by moroten · Pull Request #1393 · ninja-build/ninja https://github.com/ninja-build/ninja/pull/1393 Stop `-t msvc -o` from lowercasing paths from /showIncludes output. by nico · Pull Request #589 · ninja-build/ninja https://github.com/ninja-build/ninja/pull/589
Fujii Hironori
Comment 5 2018-10-11 20:09:46 PDT
Finally, I think maybe I understand this issue. This is a problem because the output directory DerivedSources/ForwardingHeaders/WebCore has uppercase. while Chromium uses lowercase for directory names of generated headers. Possible solutions are: * Downcase output directory names for generated headers * Use MSBuild instead of Ninja * Fix Ninja
Fujii Hironori
Comment 6 2018-10-11 20:53:33 PDT
I have confirmed 'clang-cl /showIncludes' seems to preserve original casing, and it recompiles fine in this case. > C:\webkit\gb\WebKitBuild\Release>ninja -t deps Source\WebKit\CMakeFiles\WebKit.dir\Shared\curl\WebCoreArgumentCodersCurl.cpp.obj | findstr ResourceRequest > DerivedSources/ForwardingHeaders/WebCore/ResourceRequest.h > DerivedSources/ForwardingHeaders/WebCore/ResourceRequestBase.h This becomes another reason WinCairo port should switch to Clang (Bug 171618).
Fujii Hironori
Comment 7 2025-01-13 22:58:36 PST
WinCairo port has switched to clang-cl. I think this problem is no longer happenning. Closed.
Note You need to log in before you can comment on or make changes to this bug.