Boost logo

Boost :

From: Hassan Sajjad (hassan.sajjad069_at_[hidden])
Date: 2024-03-22 17:26:01


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

 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).
>

I compiled SFML with C++20 header-units with little to no changes in the
SFML codebase. The clean build of drop-in configuration was 16s on my
system compared to conventional 20s. Can build2 support such usage at such
a scale? If not then I feel that my build-system has a plus point in module
support. I would also like to see the syntax for such an example to do a
comparison as I feel that C++ is a better choice (but that is rather
subjective).

I have best wishes for your project. But I am a bit opinionated about
build-systems.

On Fri, Mar 22, 2024 at 8:38 PM Boris Kolpackov <boris_at_[hidden]>
wrote:

> 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