On Mon, 24 Aug 2020 at 00:34, Mike via Boost
It is, however, worth noting that if you have, say, 16 different possible preprocessor outputs, you can just ship one header with the preprocessor conditionals that with their different values give you 16 programs, but you need to ship 16 modules to get the same result in a modular world.
Correct me if I'm wrong, but you can still ship a single module source file with all the conditional. You would need 16 different versions of the cmi (bmi) if you wanted to ship them at all (my understanding is that this is not going to be recommended practice.
This is not a correction; you're right. So the sane alternatives are either continuing to ship a header and tell users to just import it, or telling users that they're no longer in a simple "just include/import one file" world and that they now need to build source files in order to get the library parts. Which is different from telling them to link to a library.