[M3devel] cm3 -boot?

Jay K jay.krell at cornell.edu
Sun Jun 12 09:35:50 CEST 2016

There are multiple parts of "boot".
I haven't actually looked into all of them, but might soon.

There are:

1) "pushing the compilation along per source file".
Compilation is a few steps, and boot deliberately stops earlier.
Where it stops, I don't view as a scientific thing, but it is based kind of
what tools people tend to have where.

Our system kind of assumes that C cross compilers -- and the C runtime headers/libraries
and the assembler and linker -- are not particularly available.

So "boot" stops at C source or assembly source, assuming
the target system has a native assembler, C compiler, linker, etc.

Cross compilation systems are more common these days, but I don't yet view
as adequately easy to produce or acquire. The C compiler part is
actually pretty easy with gcc, but constructing the actually required
adequate system -- linker, assembler, "crt0.o", headers, libraries (sysroot)
is much more/worse. So I think the assumption is true enough and useful.

2) Production of some sort of makefiles or makeflle fragments to drive
the later steps.

One small dilema though, is to decide if the second part of bootstrap builds
only cm3, then uses it to build the rest, or builds everything.

If it only builds cm3, it has smaller requirements.
For example, dynamic libs don't really matter.
Also incrementality at this point matters less.

This is what I have been doing, but I'm torn on the right choice.

At the very least, boot1.py should tar.gz-up the source tree, so it is sure to match.

Currently boot1.py does some makefile construction but I think maybe
instead to repair/extend the cm3 -boot makefile production.
Basically to output an autoconf/automake/libtool system.
Or least to output something more complete here, even if not autoconf/make/libtool.
(I finally am using these systems successfully, and they are ok, but
e.g. libtool compiles everything twice, either with unnecessary variation
or no variation at all, quite disappointing -- basically everyone using libtool
can/should cut their build times in half.)

 - Jay

> Date: Sat, 11 Jun 2016 14:07:26 -0500
> From: rodney_bates at lcwb.coop
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] cm3 -boot?
> Not I. All I did was try to make some wild guesses what to expand it to
> do in conjunction with the llvm backend.
> On 06/11/2016 02:45 AM, Jay K wrote:
>> Does anyone, except for scripts/python/boot1.py, have any dependency on cm3 -boot?
>> I'd like to change it a bit -- in particular I want to make the generated makefiles to be close to useful.
>> They seem useless currently.
>> - Jay
>> _______________________________________________
>> M3devel mailing list
>> M3devel at elegosoft.com
>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel
> --
> Rodney Bates
> rodney.m.bates at acm.org
> _______________________________________________
> M3devel mailing list
> M3devel at elegosoft.com
> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel

More information about the M3devel mailing list