> Note that I'd like to avoid yet another format because I doubt autotools > wants its module support to be "GCC only". I know LLVM-as-frontend is > eating the lunch of proprietary compilers, and P1689R5 is already there, > so that seems like an easy win to me. > > I guess the main hurdle is either porting some JSON parser to an > automake-compatible language or growing a dependency on something like > `jq`.
True. But I mean GCC and Clang consume CMI in very different ways so I guess even if the dependency scanning and collating logic can be shared, there has to be some "special treatment". Or GCC augments its current built-in module mapper to support `-fmodule-file` behavior so that "special treatment" is really minimum. Though far as I remember CMake passes a `.modmap` file as the module mapper flag value and it works? By the way, Automake is written in Perl. Parsing JSON in Perl is like one of the easiest things on Earth so I think everyone should be happy about it. > This was added recently: > > https://github.com/cps-org/cps/pull/95 > CPS has a similar concept to CMake's compile option usage requirements, > so projects requiring specific flags can be propagated that way. > > Note that CMake because re-builds BMIs at the consuming side, compatible > flags is down to the same ABI concerns we've always had with header and > library artifact mismatches that have always existed. I do have some opinions but I’ll talk about it in the CPS community.
