[M3devel] package groups question

Tony Hosking hosking at cs.purdue.edu
Fri Jul 31 18:46:26 CEST 2009


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
>>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20090731/7102b7de/attachment-0002.html>


More information about the M3devel mailing list