<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div> >  minimal executables for bootstrap, eg the frontend and a backend</div><div><br></div><div><br> While I have fiddled with this being just cm3, I currently propose it is <br> the "min" output of make-dist.py (which does output an "all" variant as well,<br> it'll take just a bit of change to make that optional).</div><div><br></div><div><br> Specifically -- cm3, cm3cg (optional), config, m3core (static suffices), libm3 (static suffices). </div><div><br></div><div><br>  make-dist.py also already outputs make-dist.py.log or such next to itself I believe. <br>  See "Tee" in pylib.py.</div><div><br></div><div><br></div><div> cm3 is a valid minimal bootstrap, and I have used it a number of times all on its own,<br> but only IF you also have a matching source tree -- m3cc/config/libm3/m3core.  <br> It doesn't work if it is some "random old working" cm3 and not the rest. </div><div><br></div><div><br>  "min" can be slightly more min I believe -- it has all the .m3 files for m3core/libm3,<br>  for debugging. I'm not sure if the .i3 files are needed, or the .ig/.mg. </div><div><br></div><div><br></div><div><br></div><div> > Will the C backend be one of the platforms (or several,<br> > if they're not yet all compatible?) </div><div><br></div><div><br> Unfortunately, the C backend output is not compatible with the gcc backend output.<br> They vary in how they pass the "display" to nested procedures (oh, if only we didn't<br> have nested procedures...)<br> So we might want to do something about this.<br> I have considered appending "C" to BUILD_DIR, and have done so with mixed success.<br> Alternatively, do everything twice.</div><div><br></div><div> <br>  Also, if isn't clear, the C backend output is still very target-specific. <br>  I'd like to fix that, but I don't have a full plan in mind and might give up.<br> </div><div><br></div><div> Note that the minimal bootstrap can be used no matter which backend<br> you are next going to use, i.e. any bootstrap can feed into C backend, gcc backend, LLVM backend.</div><div><br></div><div><br> Can you really do Mac? <br> And if so, multiple versions?</div><div><br></div><div> There is unfortunate combinatorial explosion beyond all this.<br> Specifically, you could n different C compiler per platform.<br> gcc x, gcc y, clang x, clang y, etc.</div><div><br></div><div><br></div><div><div> > logs for certain tests </div><div><br></div><div><br> We have been using m3-sys/m3tests as a start. Just a start. </div><div><br></div><div><br></div></div><div>Thank you,<br> - Jay<br><br><br><br></div><div>> Date: Thu, 13 Aug 2015 16:31:29 -0400<br>> From: hendrik@topoi.pooq.com<br>> To: m3devel@elegosoft.com<br>> Subject: Re: [M3devel] Build Server - Plan<br>> <br>> On Thu, Aug 13, 2015 at 01:27:54PM -0700, Darko Volaric wrote:<br>> > I'm setting up a server for building CM3 that takes a "minimalist" approach.<br>> > <br>> > It's a machine running several virtual machines, one for each platform<br>> > supported by CM3. Each VM will contain clean install of the OS plus any<br>> > external tool dependencies. It will have a minimal compiler install,<br>> > basically enough to compile itself for the host target.<br>> > <br>> > I'm going create one VM for each target I have a bootstrap compiler for, so<br>> > if you think you'll find this useful and you want a target supported PLEASE<br>> > CONTRIBUTE A BOOTSTRAP COMPILER. MacOS, Linux and Windows will be first up.<br>> > <br>> > Users can request any version of the compiler from the github repository<br>> > and all new commits will be automatically built for all platforms.<br>> > <br>> > The publicly available build products will be:<br>> > <br>> > - minimal executables for bootstrap, eg the frontend and a backend<br>> > - model compiler config files<br>> > - compilation logs for bootstrap executables<br>> > - compilation logs for most modules in the github repository<br>> > - logs for certain tests<br>> > <br>> > Packages, libraries, scripts and non-essential tools or executables will<br>> > not be built or used, the idea being that people take the minimal<br>> > bootstraps and build from there.<br>> > <br>> > I'll post the URL when it's up and running and any suggestions are welcome.<br>> <br>> Will the C backend be one of the platforms (or several, if they're not <br>> yet all compatible?) <br>> <br>> -- hendrik<br>> _______________________________________________<br>> M3devel mailing list<br>> M3devel@elegosoft.com<br>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel<br></div>                                     </div></body>
</html>