-
-
Notifications
You must be signed in to change notification settings - Fork 23
Description
Look at this line:
rules_d/d/private/rules/common.bzl
Line 165 in 73f2cd8
| [d.libraries for d in d_deps] + |
(also the next one with
c_libs), why do we need compiled libraries to be inputs for compiling libraries?
This is not a big deal actually, since all the transitive dependency sources are already in the inputs, so it is even impossible to produce an example that works "wrong".
But in our fork we support headers and implementation_deps, so interface_srcs are not always all the transitive dependency sources. (BTW, is there some interest to get these changes merged back into this repo?)
And with that, having libs as inputs starts to hurt: if we have app <- libA <- libB dependency, and I change a source in libB which is not exported to libA, I expect no recompilation for libA. And with the compiled libB being an input, libA will still be recompiled.