C++ Logo


Advanced search

Re: [isocpp-ext] Can we expect that all C++ source files can have the same suffix?

From: Nathan Sidwell <nathan_at_[hidden]>
Date: Mon, 25 Apr 2022 07:24:14 -0400
On 4/20/22 09:22, Daniel Ruoso wrote:
> The thing that I am confused about is: why does it have to be a
> feature of the compiler?
> If folks want a build system for toy examples that works with a single
> command line, there's nothing stopping you from doing it. In fact, you
> could even wrap an existing build system into a convenient script that
> generates a project from the files given and then invokes the
> configure and build steps.
> Why do we need to coerce compilers into playing this role?

It's a marketing problem. Consider:

a) 'You want to use modules? Great! Just say '$CC $CXX20OPTION

b) 'You want to use modules? Great! Just install $SPECIALTOOL, and use a
this new .ixx suffix. $SPECIALTOOL is just like your compiler except
that ...'

#b seems a greater impediment to me. (For those who are unaware, I
considered a different suffix for GCC, but that would have meant (a)
updating bits of fiddly GCC configury, but most importantly teaching
emacs new things and I was too lazy to do that -- even that little speed
bump was too much!)

Are people familiar with libtool? An existing scheme to provide a
platform-neutral command line compilation/linker thingy. Ugh!


> Em qua., 20 de abr. de 2022 às 07:42, Boris Kolpackov via SG15
> <sg15_at_[hidden]> escreveu:
>> Peter Dimov <pdimov_at_[hidden]> writes:
>>> [...] and
>>> import <mylib/myheader.hpp>;
>>> working without a build system wouldn't be that bad either.
>> Would you be prepared to wait a potentially significant time
>> while the compiler builds (likely serially) BMIs for this
>> header unit and any other header units and/or named modules
>> that could be imported, transitively (while dumping all those
>> BMIs on your disk somewhere)?
>> In a way, it might be cleaner for a build system to provide
>> the "compiler driver" mode rather than for the compiler to
>> provide the "build system" mode. Plus the build system will
>> give you some parallelism (e.g., for building named modules).
>> _______________________________________________
>> SG15 mailing list
>> SG15_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/sg15

Nathan Sidwell

Received on 2022-04-25 11:24:16