On Tue, Jul 15, 2025 at 11:37 AM The Cuthour <cuth...@gmail.com> wrote: > > 2025年7月15日 16:00:06 JST、Andrew Pinski <pins...@gmail.com> より: > >There are c++ modules. Which is being designed. Maybe that is what you > >looking for. > > > >Also Why not just use gnu make? > > > >It has the ability to handle automatic dependence generation for headers > >already and is how gcc handles its own build system without having to > >record every new header that is included. > > > > I understand that GNU Make and C++ Modules address many current challenges > with headers and dependency management. > > But what I'm suggesting is a build+package manager tightly integrated with > the compiler — something like Rust's cargo, which not only handles builds and > dependencies, but also allows:
Sounds what you want is RPM or deb? How will they interact and how will distro work? > > - No headers, no macros There is no way to do that with either C or C++. Unless you are suggesting everything is an enum now. > > - Cache-aware recompilation (template & inline function tracking) This breaks down very quickly. > > - Consistent ABI output per toolchain (e.g., Rust ABI, Go ABI) Huh? There is already consistent ABI output. > > - Per-project manifest with proper dependency/version resolution Sounds like you want to do a distro. Thanks, Andrew > > > Would the GCC project consider supporting such a tool if developed > independently as cargo-cc? It could be a frontend to g++, like rustc is for > Rust, but standardized. > > > > ________________________________ > From: Andrew Pinski <pins...@gmail.com> > Sent: Tuesday, July 15, 2025 4:00:06 PM > To: The Cuthour <cuth...@gmail.com> > Cc: GCC Mailing List <gcc@gcc.gnu.org> > Subject: Re: GNU cargo > > > > On Mon, Jul 14, 2025, 11:46 PM The Cuthour via Gcc <gcc@gcc.gnu.org> wrote: > > > I think Rust's cargo is a de facto standard build system and package manager, > tightly integrated with the language and compiler. > > I'm proposing something similar for C and C++: > - cargo-c for C > - cargo-cc for C++ > - cargo-s for assembler > > > Each one would support: > - Detecting all modified files and recompile only what's needed > - Tracking derived classes and template instantiations > - Tracking uses of inline functions and recompiling dependents > - Managing dependencies without header files or macros (where possible) > > The key idea is: > **C/C++ could optionally be written without header files**, by using a build > system > that tracks function/type definitions and ensures visibility project-wide. > > > There are c++ modules. Which is being designed. Maybe that is what you > looking for. > > Also Why not just use gnu make? > > It has the ability to handle automatic dependence generation for headers > already and is how gcc handles its own build system without having to record > every new header that is included. > > > > Why this matters: > - Avoids redundancy and human error > - Makes C++ more tractable and tool-friendly > - Brings it closer to the productivity of Rust/Java without changing the > syntax > > Do you think this direction could benefit the GNU system or help evolve GCC? > >