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
SOURCEFILE.cc'.
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!
nathan
>
> 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
> 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
SOURCEFILE.cc'.
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!
nathan
>
> 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