On Thu, Jun 13, 2019 at 10:47 AM Jürg Billeter <
j bitron ch> wrote:
[...]
Chicken/egg cases might still exist in some projects. E.g., you might
have bootstrap and final variants of self-hosted build tooling (such as
build system or compiler). A final variant of the build tooling might
be a default dependency, however, building that final variant of the
build tooling might use the same element plugin, yet needs to depend on
the bootstrap variant instead of the final variant.
Or maybe better to use a concrete example. You might have a stack that
provides a POSIX development environment, which includes a C compiler,
let's say gcc. It may make sense to add this stack as a default build
dependency for autotools elements. gcc.bst itself also wants to use the
autotools plugin but it obviously can't build-depend on itself.
While this may be true, I can see the gcc.bst explicitly override the build-depends in that case, using the list overwrite operator. I think it is ok for exceptions to see special treatment and syntactic sugar, that way the common case can remain free of that.
Cheers,
Jürg
Cheers,
Sander