[M3devel] package groups question

Jay K jay.krell at cornell.edu
Fri Jul 31 18:53:05 CEST 2009


I like that PM3/SRC model, just haven't (re)implemented it yet.
 
In that model I believe we'd have binary and source distributions.
binary for the less patient.
Source for the less trusting. Albeit assembly source.
something like that.
 
The source distribution is also more portable, like to multiple versions of the OS, since the library names haven't been locked in yet -- Olaf and I found that OpenBSD is kind of a pain there, they rev the name of libc.so and apparently break old binaries. Maybe there is a compat option we didn't see (didn't look).
 
We'll see about changes/progress here in future releases.
 
 - Jay

________________________________
> From: hosking at cs.purdue.edu
> To: jay.krell at cornell.edu
> Date: Fri, 31 Jul 2009 12:46:26 -0400
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] package groups question
>
> Agreed, cross-compilation only needed for cm3 itself. PM3 used to distribute the derived .s files for each platform and installation required building cm3 from those. That way there was no need to deliver an executable cm3. It was all source.
>
> On 31 Jul 2009, at 12:35, Jay K wrote:
>
>
> I actually think cross compilation support might have been very good in the first place. :)
> In either case, yes, cross compilation support is good and easy now, if it wasn't earlier.
> I only ever cross compile cm3 itself though, not the entire system.
> Mainly what I did is some automation in pylib.py, which isn't all it should be, but again, enough for cm3.
> It's arguably not much more than your scripts.
>
>
> Oh, well, I also changed cm3.cfg to probe around for a reasonable cm3cg, so I could stop constantly overwriting the One /cm3/bin/cm3cg, but just use CVSROOT/m3-sys/m3cc/host-target/cm3cg.
> Really we should ship to /cm3/bin/host/target/cm3cg probably.
>
>
> Cross compiling the entire system will be useful for distribution purposes, but not in this release probably.
> It will enable us to claim to build a distribution for some target, without actually having the target available..which is a little bit dishonest, granted, you couldn't have run the tests.
>
>
> However it also allows cross building the entire system for slow targets, that you do have and will run the tests on, e.g. iphone, mips network router, my SGI machine, etc.
>
>
> If you booted from other distributions...these package groups refer to something in them??
>
>
> - Jay
>
> ----------------------------------------
> Date: Fri, 31 Jul 2009 18:27:47 +0200
> From: wagner at elegosoft.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] package groups question
>
> I meant getting the first instance of cm3 5.1 run on a certain platform.
> And there was of course a first platform. We used the SRC compiler,
> the cm3 4.1 from Critical Mass, and the PM3 compiler on different
> platforms. Later we used cross-compilation almost exclusively.
>
> I assume that cross-compilation support has improved dramatically
> with all your changes.
>
> Olaf
>
> Quoting Jay K :
>
>
> What does it mean to boot the compiler?
>
>
> I build the compiler from nothing but the compiler itself,
> and config files, and C compiler and linker, cvs
> to get all the source.
> That's not nothing, but it about the smallest start you can have,
> unless you rewrite the compiler in C, then you can start without
> the Modula-3 compiler. But at certain points in time this
> would not work, due to m3core and/or libm3 problems.
> It does work today.
>
>
> Is that booting?
>
>
> In future I'd like to dynamically link cm3, so I'd start with
> cm3, libm3.so, libm3core.so, etc. -- just cm3 and its "static dynamic"
> dependencies. Many other systems do dynamically link to this extent
> and we can to.
>
>
> I'm not just being obnoxious.
> Really, what does it mean?
>
>
> Should we just ship std and that's it?
> And even drop the name from it?
> cm3-PPC_LINUX-5.8.2.tar.gz ?
>
>
> (No need to say "POSIX", it is redundant).
> Just one download per platform?
> Not a big matrix of packages to test?
>
>
> Or do we look too fat in that packaging? :)
>
>
> Will too much stuff confuse users?
>
>
> Or mitigate the bulk with a little documentation/tutorial?
>
>
> Something like this:
>
> There are many libraries and packages.
> You do not need to worry about them.
> Here is hello world for a command line program:
> ...
> And for a gui program:
> ...
> And a minimal sample interoperating with C:
> ...
> And a minimal sample using Modula-3's RPC called "network objects":
> ...
>
> CM3 4.1 had some like this that were nice, presumably we have them.
>
> - Jay
>
>
>
>
> ----------------------------------------
> Date: Fri, 31 Jul 2009 11:20:48 -0400
> From: hendrik at topoi.pooq.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] package groups question
>
> On Fri, Jul 31, 2009 at 11:13:58AM -0400, hendrik at topoi.pooq.com wrote:
> On Fri, Jul 31, 2009 at 04:05:46PM +0200, Olaf Wagner wrote:
> Quoting Tony Hosking :
>
> I don't care if future versions are not compilable with old cm3. But,
> vice versa, old versions should always be compilable with new cm3.
>
> My gut feelings run along the lines of what Randy has said. I do
> think that the average user should accept std as the install, while
> min is for power-users who know what they are doing. Does that jive
> with other people's expectations?
>
> Sorry, I only now caught up with _some_ of the mails on the m3devel
> list. Too much traffic for me to digest.
>
> I gather there's been a long discussion that `min' is not really
> useful as it is not enough to build the system. When we started
> the cm3 5 business many years ago with lots of uncompilable sources
> from Farshad Nayeri, we invented the following sets of packages:
>
> all - obvious meaning. most packages did not compile at all.
> std - the set of packages shipped as compilable and usable with
> every new release
> core - a useful but small set of packages including everything to
> bootstrap the compiler
> boot - the minimal set to bootstrap the compiler
> min - the minimal set useful for anyone (not wanting to compiler cm3)
>
> As of today, std = all, and boot isn't used any more as far as a I see.
>
> Is that becaouse no one ever boots the compiler any more? Or because
> there are better ways to do it?
>
> -- hendrik
>
> I guess I should mention that ebian is perfectly happy if one source
> parckage (possibly the entire working cm3 system) generates multiple
> binary packages.
>
> -- hendrik
>
>
>
>
> --
> Olaf Wagner -- elego Software Solutions GmbH
> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95
> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
>
>


More information about the M3devel mailing list