Even better though would be some option to keep the "old style". As I
understand it, the point here is to add functionality at top level, but that
shouldn't be at the expense of functionality at the gcc/ level. Indeed I
see no reason that we can't be upwards compatible.
I can of course provide synonyms like `restageN' instead of
`all-stageN'. After the old bootstrapping scheme is deleted you could
have sort-of-dummy targets within the gcc directory that resemble the
old way, like:
compare:
cd .. && $(MAKE) compare
quickstrap:
cd .. && $(MAKE) all-`cat stage_last`
bubblestrap:
cd .. && $(MAKE)
unstrap restrap:
@echo Sorry, @$ is not supported; exit 1
This cannot be done now, however, for the obvious reason that restageN
is doing something else in the --disable-bootstrap case.
Of course, you'll agree that it is not feasible to provide the very same
directory layout.
It looks like we are making good progress fixing the bugs in toplevel
bootstrap, even though none of them has been approved yet. After then,
we can probably remove the old system around January.
David Edelsohn's AIX bug has been fixed (he has to double check by
bootstrapping with XLC, but it should be ok). The sole one that escapes
is Andrew and Gaby's, which I think I know how to reproduce and for
which I posted a workaround.
It's extremely valuable to have a single script that can do a build given any
GCC version and the fewer the number of parameterizations that are needed in
that script the better.
The number of targets used by such a script will most likely be two:
`all' (or `bootstrap'), and `install'.
`make bootstrap' still works, it is just a synonym of `make all'. In
this respect we are backwards-compatible. So a possibility would be
that such a script:
- does `make bootstrap' if bootstrapping is requested.
- passes `--disable-bootstrap' (which old versions ignore) to configure
and does `make all' if bootstrapping is not requested.
Please, if people take a few minutes to write down on the wiki how they
work with gcc, I can help them.
Paolo