On
09/07/2018 06:38 PM, Loïc Joly wrote:
>
> For closed-source library, it may not even be an
option, but a
> requirement. And I expect some of those library writers
might be very
> happy if they could avoid delivering headers, but only
a collection of
> pre-compiled module interfaces for the compilers they
support.
This is what I fear. If library providers were to do that,
tools that
are unable to consume the provided module artifacts would be
unable to
parse any source code that has a module interface dependency
on those
libraries. Library providers that do this are not just
restricting what
compilers their customers can use, they are restricting what
tools their
customers can use on the customer's own code (at least the
subset of it
that has a module interface dependency on the library). I
would
consider this a pretty user hostile thing to do. I think we
should make
it as easy as possible for library providers to enable their
modular
library to work with as wide a range of tools as possible.
Such library providers tend to be perfectly happy to only
support certain tools for the libraries they distribute.
Yes, it does restrict what users can do. But that's not
usually a problem for their audience. The common case is
where it's a closed platform with a single set of, usually
proprietary, tools for it. For example in console game
development.