[Webkit-unassigned] [Bug 146740] [GTK] Build race with -DENABLE_WAYLAND_TARGET=ON

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jul 8 16:14:34 PDT 2015


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

--- Comment #3 from Michael Catanzaro <mcatanzaro at igalia.com> ---
Copypasting from [1]:

"""The special rule name phony can be used to create aliases for other targets. For example:

build foo: phony some/file/in/a/faraway/subdir/foo
This makes ninja foo build the longer path. Semantically, the phony rule is equivalent to a plain rule where the command does nothing, but phony rules are handled specially in that they aren’t printed when run, logged (see below), nor do they contribute to the command count printed as part of the build process.

phony can also be used to create dummy targets for files which may not exist at build time. If a phony build statement is written without any dependencies, the target will be considered out of date if it does not exist. Without a phony build statement, Ninja will report an error if the file does not exist and is required by the build."""

This rule:

build DerivedSources/WebCore/WebKitGtkWaylandClientProtocol.c: CUSTOM_COMMAND ../../Source/WebCore/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml || lib/libWTFGTK.a lib/libWebCoreGTK.a lib/libbmalloc.a lib/libjavascriptcoregtk-4.0.so

Means that lib/libWebCoreGTK.a must be built before DerivedSources/WebCore/WebKitGtkWaylandClientProtocol.c if DerivedSources/WebCore/WebKitGtkWaylandClientProtocol.c does not already exist. Everything after the || is an order-only dependency, meaning that DerivedSources/WebCore/WebKitGtkWaylandClientProtocol.c does not need to be rebuilt when lib/libWebCoreGTK.a changes. [2]

I can find no justification for why those dependencies exist. I wonder if it's a CMake bug.

[1] https://martine.github.io/ninja/manual.html#_the_literal_phony_literal_rule
[2] https://martine.github.io/ninja/manual.html#ref_dependencies

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150708/cced0de3/attachment-0001.html>


More information about the webkit-unassigned mailing list