Date: Mon, 25 Apr 2022 08:49:17 -0400
I'm generally in favor of the community converging on a small set of de
facto or actual suffixes. Though I expect particular tools will almost
certainly support flags that mean "this file is a particular kind of C++
file".
That being said, the basic point of modular C++ *is* building dependencies
separately from in project code. If end users (including well regarded
present company!) don't understand how extra builds are going to be
required to see that happen, we aren't doing a good enough job explaining
what modules are.
Perhaps we are going through growing pains in better distinguishing between
toolchains and build systems? I have been anticipating this kind of
discussion about the boundary between build systems and packaging systems.
Maybe we're due for an analogous conversation at a lower level of the tech
stack.
Bret
On Mon, Apr 25, 2022, 08:23 Gabriel Dos Reis via SG15 <sg15_at_[hidden]>
wrote:
> Or
> c) continue to use your development environment (whether it is integrated
> or unintegrated is irrelevant)
>
> 😊
>
> While it is useful for people to have the instant gratification of sand
> castle building and testing some ideas in the small, building skyscrapers
> demand different set of tools and skills. The tools we use to build sand
> castles aren't the same we deploy for skyscrapers.
> "using modules" must mean something more than just saying '$CC
> $CXX20OPTION SOURCEFILE.cc'. It is for programming in the large, which in
> reality demands using build tools.
>
> -- Gaby
>
> -----Original Message-----
> From: SG15 <sg15-bounces_at_[hidden]> On Behalf Of Nathan Sidwell
> via SG15
> Sent: Monday, April 25, 2022 4:24 AM
> To: Daniel Ruoso <daniel_at_[hidden]>; sg15_at_[hidden]
> Cc: Nathan Sidwell <nathan_at_[hidden]>; Tom Honermann <tom_at_[hidden]>;
> ext_at_[hidden]; Peter Dimov <pdimov_at_[hidden]>
> Subject: Re: [SG15] [isocpp-ext] Can we expect that all C++ source files
> can have the same suffix?
>
> 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://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7C6a3f0ae792314634cf6c08da26ae26ce%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637864826664398401%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqPKX46sXFlhz%2F%2BgefWFGNvLbBQqMOP8ZxEuz50eUl4%3D&reserved=0
>
>
> --
> Nathan Sidwell
> _______________________________________________
> SG15 mailing list
> SG15_at_[hidden]
>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7C6a3f0ae792314634cf6c08da26ae26ce%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637864826664398401%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqPKX46sXFlhz%2F%2BgefWFGNvLbBQqMOP8ZxEuz50eUl4%3D&reserved=0
> _______________________________________________
> SG15 mailing list
> SG15_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg15
>
facto or actual suffixes. Though I expect particular tools will almost
certainly support flags that mean "this file is a particular kind of C++
file".
That being said, the basic point of modular C++ *is* building dependencies
separately from in project code. If end users (including well regarded
present company!) don't understand how extra builds are going to be
required to see that happen, we aren't doing a good enough job explaining
what modules are.
Perhaps we are going through growing pains in better distinguishing between
toolchains and build systems? I have been anticipating this kind of
discussion about the boundary between build systems and packaging systems.
Maybe we're due for an analogous conversation at a lower level of the tech
stack.
Bret
On Mon, Apr 25, 2022, 08:23 Gabriel Dos Reis via SG15 <sg15_at_[hidden]>
wrote:
> Or
> c) continue to use your development environment (whether it is integrated
> or unintegrated is irrelevant)
>
> 😊
>
> While it is useful for people to have the instant gratification of sand
> castle building and testing some ideas in the small, building skyscrapers
> demand different set of tools and skills. The tools we use to build sand
> castles aren't the same we deploy for skyscrapers.
> "using modules" must mean something more than just saying '$CC
> $CXX20OPTION SOURCEFILE.cc'. It is for programming in the large, which in
> reality demands using build tools.
>
> -- Gaby
>
> -----Original Message-----
> From: SG15 <sg15-bounces_at_[hidden]> On Behalf Of Nathan Sidwell
> via SG15
> Sent: Monday, April 25, 2022 4:24 AM
> To: Daniel Ruoso <daniel_at_[hidden]>; sg15_at_[hidden]
> Cc: Nathan Sidwell <nathan_at_[hidden]>; Tom Honermann <tom_at_[hidden]>;
> ext_at_[hidden]; Peter Dimov <pdimov_at_[hidden]>
> Subject: Re: [SG15] [isocpp-ext] Can we expect that all C++ source files
> can have the same suffix?
>
> 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://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7C6a3f0ae792314634cf6c08da26ae26ce%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637864826664398401%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqPKX46sXFlhz%2F%2BgefWFGNvLbBQqMOP8ZxEuz50eUl4%3D&reserved=0
>
>
> --
> Nathan Sidwell
> _______________________________________________
> SG15 mailing list
> SG15_at_[hidden]
>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&data=05%7C01%7Cgdr%40microsoft.com%7C6a3f0ae792314634cf6c08da26ae26ce%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637864826664398401%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TqPKX46sXFlhz%2F%2BgefWFGNvLbBQqMOP8ZxEuz50eUl4%3D&reserved=0
> _______________________________________________
> SG15 mailing list
> SG15_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg15
>
Received on 2022-04-25 12:49:30