On windows, .RC files get compiled into .RES files. These can then be linked
into finally
executables/dlls. For some unfortunate reason, .RES files cannot be baked into
static libraries.
This means that although most resources are really transitive dependencies, in
practices you end
up needing to explicitly pull them for each executable. Ideally, gyp would be
able to do
something smarter, like remember which .RES files are 'conceptually' part of a
given static library,
and bring them in.
This issue manifests itself in chromium in the way app + locales +
chrome_resources interact.
App has some resources, chrome has some resources, chrome ends up needing to
depend on all
of those resources directly, in a single locales target so that wildcards can
be used to deal with
the multitude of locales. App_unittests should also depend on some of those
resources, but
instead uses the full set, because subdividing out just the ones relevant to
app_unittests is
structurally hard.
This has similarities to run-time dependencies with .DLLs.
Original issue reported on code.google.com by bradnelson@google.com on 7 May 2010 at 5:45
Original issue reported on code.google.com by
bradnelson@google.com
on 7 May 2010 at 5:45