Richard Kenner wrote:

If you configure with --enable-languages=c,ada (which I guess is a good option for you), a toplevel "make" does everything you need -- nothing less, nothing more.

No, I want to configure with all the languages since I want to build them
all (and have to, in order to do a full "make check").  We're talking
about limiting what's built during each testing step, not limiting what
*can* be built.
Okay. Things start to take a shape. Then it seems to me that you are just relying on a peculiarity of the Ada build system, that is the fact that you can work entirely from within the GCC directory. This is true nowadays even though it's been *years* since GCC won't run except within the Cygnus tree (aka toplevel). For every other language, this point would have been moot because they never had anything like "gnatlib_and_tools".

What you want is making the GNAT RTS and tools after fixing the bug and bootstrapping the compiler, and before testing everything, just as a quick smoke test. What you need to do then, is to run from the toplevel "make stage3-bubble; make -C gcc gnatlib_and_tools".

If "make stage1-bubble" is the equivalent of "make" within the gcc directory, then "make stage3-bubble" is the equivalent of "make bootstrap" within the gcc directory. Plus, of course, there are "stage2-bubble" and "stage4-bubble" in case you find them useful.

Because doing more than just building the GNAT RTS and tools will greatly
slow down my developement cycle.  Sure, when I'm ready for a final test,
I need to build everything, but not normally.
However, with libada enabled, "make all-target-libada all-gnattools" from the toplevel would be exactly the same as "make gnatlib_and_tools" from the gcc directory. A bit more verbose, I grant you this.

Secondly, from my perspective, what I saw was a proposal to *enhance*
bootstrapping.

From the original proposal, submitted September 2004: "For a while, old-style bootstrap will still be available with ./configure --disable-bootstrap; make bootstrap (non intuitive maybe, but in the long term, it would only be one more historic wart if the flag was called --{enable,disable}-toplevel-bootstrap)."

What I *didn't* see was a discussion where things were being proposed to be
*removed*.

*Moved*, not removed.  Moved from the gcc directory to the toplevel.

But why is this a "show-stopper"?  Why can't the target just be added back?
For now, everything is compatible with --disable-bootstrap. I can imagine that when we start relying on the advantages of toplevel bootstrap, things would not be so easy. But I am confident that things will be sorted out before that.

Paolo

Reply via email to