This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
what should bootstrap *really* do?
- To: gcc at gcc dot gnu dot org
- Subject: what should bootstrap *really* do?
- From: DJ Delorie <dj at redhat dot com>
- Date: Mon, 13 Nov 2000 22:22:07 -0500
I've heard lots of conflicting uses for "make bootstrap". What
exactly *should* a bootstrap do? I'm working on a patch that will
build each stage in its own subdirectory, so that a source change will
cause each stage to build what's needed. However, this really doesn't
*test* the new compiler; you really need to rebuild all of stage N if
stage N-1 changes at all. Plus, you really don't need to rebuild all
of stage 1 once it's built; if you do you aren't testing gcc, you're
just wasting time. However, incrementally building just stage1 with
the current scheme is tedious.
So, I see "make bootstrap" doing this:
* build stage1
* if anything of significance changed in stage1, delete *.[oa] in stage 2
* build stage2
* repeat for stage3/4
Alternatives:
"make quickstrap" - skip delete *.o step
"make cleanstrap" - rm stage*/* first
Also, when I put builds in stage directories, things like libgcc1 and
fixincludes happen for each stage. I'm not sure if this matters or
not to people.
Comments?