<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'>I have tried PPC_DARWIN on 10.5. It doesn't *quite* work. Almost.<div><br></div><div>I don't believe Rosetta has adequate compatibility, i.e in suspending threads</div><div>and getting their context. <span style="font-size: 12pt;">When we switch to cooperative suspend that will probably work.</span></div><div>And then we can remove a bunch more target-specific code.</div><div><br></div><div>Generally you don't need to support Rosetta. It just works.</div><div>But I don't believe Rosetta quite fully works.</div><div><br></div><div>PPC_DARWIN definitely had a long somewhat recent run of working</div><div>on native hardware and probably still does.</div><div>(Fyi, I386_DARWIN also worked before MacOSX/Intel was public.)</div><div><br></div><div> - Jay<br><br><br><div><hr id="stopSpelling">Date: Fri, 14 Aug 2015 11:15:37 -0700<br>From: lists@darko.org<br>To: jay.krell@cornell.edu<br>CC: m3devel@elegosoft.com<br>Subject: Re: [M3devel] Build Server - Plan<br><br><div dir="ltr">Actually, if we also have 10.6.8 we should be able to support PPC_DARWIN, no? Does the compiler and toolchain work with Rosetta?</div><div class="ecxgmail_extra"><br><div class="ecxgmail_quote">On Thu, Aug 13, 2015 at 7:11 PM, Darko Volaric <span dir="ltr"><<a href="mailto:lists@darko.org" target="_blank">lists@darko.org</a>></span> wrote:<br><blockquote class="ecxgmail_quote" style="border-left:1px #ccc solid;padding-left:1ex;"><div dir="ltr">The server will be running MacOS 10.10 as the host. The VMs can handle any MacOS version but I'm thinking 10.9 and 10.10 only. Is there a real need for anything else?<div><br></div><div>If you mean can we have multiple VMs for deploying different compiler configs, then the answer is yes. Each VM will be suspended until it's needed for a build. Once it's built the requested products and they are uploaded to the download server, it shuts down. So there aren't any real performance or memory limitations, all disks are SSDs.</div><div><br></div></div><div class="ecxHOEnZb"><div class="h5"><div class="ecxgmail_extra"><br><div class="ecxgmail_quote">On Thu, Aug 13, 2015 at 3:26 PM, Jay K <span dir="ltr"><<a href="mailto:jay.krell@cornell.edu" target="_blank">jay.krell@cornell.edu</a>></span> wrote:<br><blockquote class="ecxgmail_quote" style="border-left:1px #ccc solid;padding-left:1ex;">


<div><div dir="ltr"><span><div> >  minimal executables for bootstrap, eg the frontend and a backend</div><div><br></div></span><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><span><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></span><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: <a href="mailto:hendrik@topoi.pooq.com" target="_blank">hendrik@topoi.pooq.com</a><br>> To: <a href="mailto:m3devel@elegosoft.com" target="_blank">m3devel@elegosoft.com</a><br>> Subject: Re: [M3devel] Build Server - Plan<div><div><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>> <a href="mailto:M3devel@elegosoft.com" target="_blank">M3devel@elegosoft.com</a><br>> <a href="https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel" target="_blank">https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel</a><br></div></div></div>                                          </div></div>
<br>_______________________________________________<br>
M3devel mailing list<br>
<a href="mailto:M3devel@elegosoft.com" target="_blank">M3devel@elegosoft.com</a><br>
<a href="https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel" rel="noreferrer" target="_blank">https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
<br>_______________________________________________
M3devel mailing list
M3devel@elegosoft.com
https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel</div></div>                                       </div></body>
</html>