<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Dragisa, I didn't change or break anything here.<BR>
 <BR>
 <BR>
You can use the older upgrade.sh, or you can do what Tony said. None<BR>
  of the options seem to be well known, neither mine nor the old ways.<BR>
 <BR>
 <BR>
I find Tony's steps long and tedious, so much so that he made some mistakes below (sysutils<BR>
   isn't in old releases, so needs to be in the first pass (and the second pass), m3cc is needed at some point).<BR>
  Obviously others did too, as they where automated first in the *.sh files.<BR>
  Who can remember that order?<BR>
 <BR>
 <BR>
I just made it all easier, automated, portable, maintainable. And I did it years ago.<BR>
 For some definition of easier/automated/portable/maintable.<BR>
  To me .sh is not maintainable, and .py is more portable -- I'd rather depend on Python than Cygwin.<BR>
  Writing .sh that works across Linux, *BSD, Solaris, seems to be quite a battle. I can't remember all the rules for "how to write portable .sh" (see the Autoconf documentation), and I witness Olaf struggle with that too, I can hardly grasp the .sh language in the first place, and I suspect it is "overly string based", in the genre of severely flawed languages like cmd and Tcl. (Look at what '{' and '}' mean in Tcl. They aren't lexically scoping, as they appear to be, they are actually a string escape mechanism.)<BR>
  However I still don't have OpenBSD/mips64 Python, and I use *.sh there (haven't been there in a while, small probably with libffi).<BR>
 <BR>
 <BR>
 The automated builds use mostly *.sh, though making the .msis and .debs use Python.<BR>
 <BR>
 <BR>
Given a system<BR>
   - not written in C <BR>
   - with necessary circular dependencies  <BR>
   - that doesn't use make/autoconf <BR>
 <BR>
 <BR>
Not necessarily bad things any of them (circular dependencies are<BR>
just unavoidable), it's never going to be among the easiest to build. <BR>
 <BR>
 <BR>
Since I do occasionally go back to old releases, and find running cminstall annoying, I've made the current config files compatible with older releases. The .py scripts do upgrade them first. Where .sh probably doesn't.<BR>
 <BR>
 <BR>
We do provide prebuilt binaries, just that I don't always know where to get them<BR>
esp. up to date ones.<BR>
 <BR>
 <BR>
 - Jay<BR>
 <BR>
<HR id=stopSpelling>
From: hosking@cs.purdue.edu<BR>Date: Sun, 21 Feb 2010 14:30:50 -0500<BR>To: dragisha@m3w.org<BR>CC: m3devel@elegosoft.com; jay.krell@cornell.edu<BR>Subject: Re: [M3devel] LONGCARD, release branch... A R G H<BR><BR>Hi Dragisa,
<DIV><BR></DIV>
<DIV>I too am a luddite and have never used any of Jay's scripts.  I even still have essentially the same *old* monolithic config files on my system.</DIV>
<DIV><BR></DIV>
<DIV>Here is the general strategy.</DIV>
<DIV><BR></DIV>
<DIV>Take an old release.</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV>Compile and ship the following in order...</DIV>
<DIV><BR></DIV>
<DIV>m3middle</DIV>
<DIV>m3objfile</DIV>
<DIV>m3linker</DIV>
<DIV>m3back</DIV>
<DIV>m3front</DIV>
<DIV>m3quake</DIV>
<DIV>cm3</DIV>
<DIV><BR></DIV>
<DIV>You now have a *new* compiler in cm3/TARGET/cm3 linked against the *old* libraries (m3core, libm3, sysutils).</DIV>
<DIV><BR></DIV>
<DIV>Now, compile and ship new libraries using the new compiler...</DIV>
<DIV><BR></DIV>
<DIV>m3core</DIV>
<DIV>libm3</DIV>
<DIV>sysutils</DIV>
<DIV><BR></DIV>
<DIV>And build a new compiler against the new libraries...</DIV>
<DIV><BR></DIV>
<DIV>
<DIV>m3middle</DIV>
<DIV>m3objfile</DIV>
<DIV>m3linker</DIV>
<DIV>m3back</DIV>
<DIV>m3front</DIV>
<DIV>m3quake</DIV>
<DIV>cm3</DIV>
<DIV><BR></DIV>
<DIV>You now have a *new* compiler in cm3/TARGET/cm3 linked against the *new* libraries.</DIV>
<DIV><BR></DIV>
<DIV>You should now be able to rebuild everything using the new compiler.</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV>Hope this helps!</DIV>
<DIV><BR></DIV>
<DIV>-- Tony</DIV>
<DIV><BR></DIV>
<DIV>(PS  Let me know if you have any problems with this.   I have a feeling there are some tweaks I have made to the m3makefiles to make this go through smoothly.)</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV></DIV>
<DIV>
<DIV><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV style="WORD-WRAP: break-word"><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV><FONT class=ecxApple-style-span color=#0000ff><FONT class=ecxApple-style-span face="Gill Sans"><SPAN style="FONT-FAMILY: 'Gill Sans'; COLOR: rgb(0,0,255)" class=ecxApple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans'; COLOR: rgb(0,0,255)" class=ecxApple-style-span>Antony Hosking</SPAN></SPAN></FONT></FONT><FONT class=ecxApple-style-span face="Gill Sans"><SPAN style="FONT-FAMILY: 'Gill Sans'" class=ecxApple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans'" class=ecxApple-style-span><SPAN class=ecxApple-converted-space> </SPAN>|<SPAN class=ecxApple-converted-space> </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 'Gill Sans'" class=ecxApple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans'" class=ecxApple-style-span>Associate Professor</SPAN></SPAN><SPAN style="FONT-FAMILY: 'Gill Sans'" class=ecxApple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans'" class=ecxApple-style-span> | Computer Science | Purdue University</SPAN></SPAN></FONT></DIV>
<DIV><FONT class=ecxApple-style-span face=GillSans-Light><SPAN style="FONT-FAMILY: GillSans-Light" class=ecxApple-style-span>305 N. University Street | West Lafayette | IN 47907 | USA</SPAN></FONT></DIV>
<DIV><FONT class=ecxApple-style-span color=#0000ff face="Gill Sans"><SPAN style="FONT-FAMILY: 'Gill Sans'; COLOR: rgb(0,0,255)" class=ecxApple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans'; COLOR: rgb(0,0,255)" class=ecxApple-style-span>Office</SPAN></SPAN></FONT><FONT class=ecxApple-style-span face=GillSans-Light><SPAN style="FONT-FAMILY: GillSans-Light" class=ecxApple-style-span><SPAN style="FONT-FAMILY: GillSans-Light" class=ecxApple-style-span> +1 765 494 6001 |<SPAN class=ecxApple-converted-space> </SPAN></SPAN></SPAN></FONT><FONT class=ecxApple-style-span color=#0000ff face="Gill Sans"><SPAN style="FONT-FAMILY: 'Gill Sans'; COLOR: rgb(0,0,255)" class=ecxApple-style-span><SPAN style="FONT-FAMILY: 'Gill Sans'; COLOR: rgb(0,0,255)" class=ecxApple-style-span>Mobile</SPAN></SPAN></FONT><FONT class=ecxApple-style-span face=GillSans-Light><SPAN style="FONT-FAMILY: GillSans-Light" class=ecxApple-style-span><SPAN style="FONT-FAMILY: GillSans-Light" class=ecxApple-style-span><SPAN class=ecxApple-converted-space> </SPAN>+1 765 427 5484</SPAN></SPAN></FONT></DIV>
<DIV><FONT class=ecxApple-style-span face=GillSans-Light><BR class=ecxkhtml-block-placeholder></FONT></DIV></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR class=ecxApple-interchange-newline></SPAN></DIV></SPAN></SPAN><BR class=ecxApple-interchange-newline></DIV><BR>
<DIV>
<DIV>On 21 Feb 2010, at 10:17, Dragiša Durić wrote:</DIV><BR class=ecxApple-interchange-newline>
<BLOCKQUOTE>
<DIV>Can you PLEASE enable other people to use this system, TOO. As we once<BR>used it, before all this moving-target-****??????<BR><BR>PLEASE, I just need minimal compiler runtime so I can use STANDARD<BR>scripts and PROCEDURES so I can use my RPM packaging I HAD TO REINVENT<BR>and RECODE every single time you found it INTERESTING and FUNNY to<BR>CHANGE ALL OVER????!!!<BR><BR>And I thought I am INSIDE of this development process. Do we really<BR>think other people will not be bored by our<BR>change-it-all-again-and-again games??? Do I have to spend some fixed<BR>weekly time on this list so I won't miss LATEST and GREATEST IDEAS and<BR>PRACTICES?<BR><BR>Sorry for all this "screaming" but I am really dissapointed to see all<BR>this changed AGAIN! What do you people think potentital users of this<BR>systems are?? And what measure of torturing people are ready to endure<BR>along the way?<BR><BR><BR>On Sun, 2010-02-21 at 12:57 +0000, Jay K wrote:<BR>
<BLOCKQUOTE>./upgrade.py && ./do-cm3-std.py realclean skipgcc && ./do-cm3-std.py<BR></BLOCKQUOTE>
<BLOCKQUOTE>buildship skipgcc <BR></BLOCKQUOTE>-- <BR>Dragiša Durić <<A href="mailto:dragisha@m3w.org">dragisha@m3w.org</A>><BR></DIV></BLOCKQUOTE></DIV><BR></DIV>                                       </body>
</html>