what should bootstrap *really* do?

Alexandre Oliva aoliva@redhat.com
Mon Nov 13 20:52:00 GMT 2000


On Nov 14, 2000, DJ Delorie <dj@redhat.com> wrote:

>> I like the idea of cleanstrap,

> Has anyone actually *tried* "make clean bootstrap" yet?

It won't work reliably with -j.  You have to `make clean && make -jN
bootstrap'.  No big deal, but cleanstrap would make it at least easier
to type :-)

>> and that of cleaning the next stage in case you rebuild anything in
>> a certain stage, but I'd rather have give this a different target
>> name, such as depstrap.

> Part of my goals with this question is what should the *default* do.

I have a strong opinion that, if no sources have been changed, it
should proceed from the stage where the previous build stopped.
If sources have changed, my opinion regarding `make bootstrap' is
still the same, but it's no longer strong :-)

>> Another alternative is to have this stuff in some other directory,
>> and have each stage `cd that/directory && $(MAKE) fixinc' or
>> `libgcc1'.

> Judicious use of symlinks can make all the stages see the same real
> directories for those.

Unfortunately, symlinks aren't portable, especially symlinks of
directories.  Not that I know of a system that supports symlinks of
files but not of directories, it's just that `ln -s' is often
``emulated'' by `cp' on systems that don't have symlinks.  In the case
of directories, you'd need `cp -R', but I don't think that's portable.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me


More information about the Gcc mailing list