On Thu, Dec 15, 2022 at 07:37:35 +, Iain Sandoe wrote:
> * I have patches for clang that implements the P1184 interface which
> would allow a ‘module mapper’ to be used to discover module name <->
> pathname pairings.
>
> * The demand for the command line options we are discussing here is
> coming from build systems folks who want to be able to specify
> everything on the command line (i.e. from my understanding they do
> not want to use a module mapper, but prefer dependency scanning).
>
> So I think the two aspects are somewhat independent, I would expect
> the same build systems folks to want to be able to specify everything
> on the GCC command line too.
Note that it is particularly knowing the *output* module that is
important for distributed builds so that the dispatcher can know what
file(s) need to be sent and retrieved for a given command line. While
GCC's module mapper has the information, it is lacking any indication of
which might be output and input paths. With `-fmodule-output=`, the one
output is known and anything else known to the specified
`-fmodule-mapper=` (which must be understood by the dispatcher; I
suspect flat files will be the preferred mechanism here rather than a
socket or other fancy mechanism) can be assumed to be (potential;
ideally exact) inputs.
--Ben