[M3devel] Build Server - Plan

Jay K jay.krell at cornell.edu
Fri Aug 14 00:26:15 CEST 2015


 >  minimal executables for bootstrap, eg the frontend and a backend

 While I have fiddled with this being just cm3, I currently propose it is 
 the "min" output of make-dist.py (which does output an "all" variant as well,
 it'll take just a bit of change to make that optional).

 Specifically -- cm3, cm3cg (optional), config, m3core (static suffices), libm3 (static suffices). 

  make-dist.py also already outputs make-dist.py.log or such next to itself I believe. 
  See "Tee" in pylib.py.

 cm3 is a valid minimal bootstrap, and I have used it a number of times all on its own,
 but only IF you also have a matching source tree -- m3cc/config/libm3/m3core.  
 It doesn't work if it is some "random old working" cm3 and not the rest. 

  "min" can be slightly more min I believe -- it has all the .m3 files for m3core/libm3,
  for debugging. I'm not sure if the .i3 files are needed, or the .ig/.mg. 


 > Will the C backend be one of the platforms (or several,
 > if they're not yet all compatible?) 

 Unfortunately, the C backend output is not compatible with the gcc backend output.
 They vary in how they pass the "display" to nested procedures (oh, if only we didn't
 have nested procedures...)
 So we might want to do something about this.
 I have considered appending "C" to BUILD_DIR, and have done so with mixed success.
 Alternatively, do everything twice.
 
  Also, if isn't clear, the C backend output is still very target-specific. 
  I'd like to fix that, but I don't have a full plan in mind and might give up.
 
 Note that the minimal bootstrap can be used no matter which backend
 you are next going to use, i.e. any bootstrap can feed into C backend, gcc backend, LLVM backend.

 Can you really do Mac? 
 And if so, multiple versions?
 There is unfortunate combinatorial explosion beyond all this.
 Specifically, you could n different C compiler per platform.
 gcc x, gcc y, clang x, clang y, etc.

 > logs for certain tests 

 We have been using m3-sys/m3tests as a start. Just a start. 

Thank you,
 - Jay



> Date: Thu, 13 Aug 2015 16:31:29 -0400
> From: hendrik at topoi.pooq.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] Build Server - Plan
> 
> On Thu, Aug 13, 2015 at 01:27:54PM -0700, Darko Volaric wrote:
> > I'm setting up a server for building CM3 that takes a "minimalist" approach.
> > 
> > It's a machine running several virtual machines, one for each platform
> > supported by CM3. Each VM will contain clean install of the OS plus any
> > external tool dependencies. It will have a minimal compiler install,
> > basically enough to compile itself for the host target.
> > 
> > I'm going create one VM for each target I have a bootstrap compiler for, so
> > if you think you'll find this useful and you want a target supported PLEASE
> > CONTRIBUTE A BOOTSTRAP COMPILER. MacOS, Linux and Windows will be first up.
> > 
> > Users can request any version of the compiler from the github repository
> > and all new commits will be automatically built for all platforms.
> > 
> > The publicly available build products will be:
> > 
> > - minimal executables for bootstrap, eg the frontend and a backend
> > - model compiler config files
> > - compilation logs for bootstrap executables
> > - compilation logs for most modules in the github repository
> > - logs for certain tests
> > 
> > Packages, libraries, scripts and non-essential tools or executables will
> > not be built or used, the idea being that people take the minimal
> > bootstraps and build from there.
> > 
> > I'll post the URL when it's up and running and any suggestions are welcome.
> 
> Will the C backend be one of the platforms (or several, if they're not 
> yet all compatible?) 
> 
> -- hendrik
> _______________________________________________
> M3devel mailing list
> M3devel at elegosoft.com
> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20150813/0012be97/attachment-0002.html>


More information about the M3devel mailing list