Boost logo

Boost :

From: Boris Kolpackov (boris_at_[hidden])
Date: 2024-03-22 15:38:38


Hassan Sajjad <hassan.sajjad069_at_[hidden]> writes:

> > I will assume your questions refer to build2 in general rather than to
> > its header units support specifically (which is not very usable at the
> > moment due to compiler deficiencies).
> >
>
> No. my comment was in header-units and modules support context.

Alright, though in the future you may want to ask clearer questions
("it" can be notoriously ambiguous).

To briefly answer your actual question, I don't believe header units
are used in production by anyone except maybe in some controlled,
"we pre-compile all header units before our project" cases (I believe
Microsoft does something like this in their internal projects). The
reason being compiler deficiencies (lack of build system support in
Clang and MSVC, and general bugginess of modules support in GCC,
though I saw a lot of related bugs being fixed for GCC 14 so things
might be changing).

For named modules, yes, they are being used (including with support
for `import std;`). I have tried this on async_simple library:

https://github.com/boris-kolpackov/async_simple/tree/CXX20Modules-build2/async_simple_module

And I know of a few build2 users who are using named modules in their
greenfield projects.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk