[M3devel] Build Server - Plan

Jay K jay.krell at cornell.edu
Fri Aug 14 09:02:51 CEST 2015


It is very easy to install.

"We" run make-dist.py and get out a "min" install and an "all" install (per platform).You pick one, extract it, set $PATH optionally, and you are done -- run cm3 either via $PATH or by full path.

There is some chance our binaries built on a "new" system won't run on an "old" system.We can mitigate that by deferring some of the build to install time.I hope to have a better story here, a more "sourcey" distribution, that is easy to install.But the binary distributions usually work well.

Sometimes you have to edit the config files, but I have endeavored to make that not necessary.

There is another install path that prompts for path to compiler, linker, etc., even tries to figure it out. But I don't use that. I think it isn't needed.

Yes we support significantly more than x86/amd64.

We have SPARC32_SOLARIS and SPARC64_SOLARIS, that I test on the opencsw machines -- very recently even.In the 5.8.6 timeframe, I was setup to build and test PPC_DARWIN, PPC_LINUX, SPARC32_LINUX.Look at m3-sys/m3cc/src/buildmany.sh. All but ARM_DARWIN there i just built tonight -- the gcc-based backend.

Our portability rests on gcc, or now a C compiler, or now maybe LLVM, Posix or NT for I/O, networking, threads, etc., and X windows or Win32.That is, while we don't run in a browser, we can run almost anywhere else, generally because other people have ported their underlying systems everywhere.
(Run in a browser though: LLVM w/ emcriptem backend)

The system was already very portable. I have made it easier to port.

I assume the "difficult" goals are meant to be ensure that people don't have to jump through the hoops of "install lots of extra stuff" to get it to work.

Most people will overshoot the minimal install requirements, but they will overshoot differently.I
 - Jay

> Date: Fri, 14 Aug 2015 06:36:29 +0000
> From: microcode at zoho.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.
> 
> Doesn't CM3 support Solaris SPARC? As far as I know there is no cheap way to
> emulate this from Intel.
> 
> > 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
> 
> This sounds like a setup for experts. Why not make a turn-key tarball
> available like was available (I think) before?
> 
> > 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.
> 
> That's fine for the 3 or 4 core guys doing all the work! For everybody else
> this is a big inhibitor to making CM3 generally useful to the rest of the
> world- unless the instructions to get a complete install are very clear and
> easy to follow. But it seems from watching the discussion here it is
> non-trivial to get CM3 installed.
> 
> 
> _______________________________________________
> 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/20150814/cb757db3/attachment-0002.html>


More information about the M3devel mailing list