[PATCH] Autogen bootstrap targets and make them preinstall
Paolo Bonzini
bonzini@gnu.org
Wed May 12 11:04:00 GMT 2004
I got tired of updating the same thing three times, so I decided it was
time to let Autogen do some more. I'm quite pleased of the result, and
it will make it *much* easier to add yummy things like
profiledbootstrap4-lean. ;-)
All bootstrap-related targets are automatically generated from
parameters in Makefile.def.
The new targets are
- distclean-stageN: quite clear.
- new-stageN-start: same as stageN in the gcc makefile
- new-stageN-end: same as unstageN in the gcc makefile
- new-stageN-bubble (N=1,2): If a stage has been built, forces an
incremental rebuild of the stages up to N. Then, if the successive
stage has been already configured, it disables reconfiguration of
stage N+1. If the stage has not been built, this does nothing.
With this patch, after any all-stageN-gcc has been successfully built,
"make new-bootstrap" will act as a bubblestrap because it invokes
new-stage3-bubble to make stage3. If one does not want the bubblestrap
behavior, they'll use new-restage3 or new-cleanstrap.
I include the Makefile.in diff because it is quite easy to read, more
than Makefile.tpl. :-( New-bootstrapped i686-pc-linux-gnu, ok for
mainline and src if the gcc patch is accepted?
(I'll be on a short vacation until Monday).
Paolo
2005-05-12 Paolo Bonzini <bonzini@gnu.org>
* configure.in: Test the ability to symlink directories.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): New definitions.
* Makefile.tpl (configure-stage1-gcc,
configure-stage2-gcc, configure-stage3-gcc,
all-stage1-gcc, all-stage2-gcc, all-stage3-gcc,
new-bootstrap, new-cleanstrap, new-restage1, new-restage2,
new-restage3, compare): Autogenerate, see Makefile.in
entry for behavioral changes.
(distclean-stage1, new-stage1-start, new-stage1-end,
new-stage1-bubble, distclean-stage2, new-stage2-start,
new-stage2-end, new-stage2-bubble, distclean-stage3,
new-stage3-start, new-stage3-end): New autogenerated targets.
(objext, prebootstrap, BOOT_CFLAGS,
POSTSTAGE1_FLAGS_TO_PASS): Move above the autogenerated
targets.
* Makefile.in: Regenerate.
(distclean-stage1, new-stage1-start, new-stage1-end,
new-stage1-bubble, distclean-stage2, new-stage2-start,
new-stage2-end, new-stage2-bubble, distclean-stage3,
new-stage3-start, new-stage3-end): New targets.
(all-stage1-gcc): Move prebootstrap dependency from here...
(configure-stage1-gcc): ...to here.
(all-stage1-gcc, all-stage2-gcc): Preinstall after making.
(configure-stage2-gcc, configure-stage3-gcc): Use preinstalled
gcc.
(new-bootstrap): Use bubble targets.
(new-cleanstrap, new-restage1, new-restage2, new-restage3):
Use per-stage distclean targets.
(configure-stage1-gcc, configure-stage2-gcc,
configure-stage3-gcc, all-stage1-gcc,
all-stage2-gcc, all-stage3-gcc, new-bootstrap):
Use new-stageN-start to prepare the tree.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 9-bootstrap-staging-area-take3.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20040512/26154bea/attachment.ksh>
More information about the Gcc-patches
mailing list