<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'><div style="text-align: left;">I wanted to change upgrade.sh to have the following features:<br><br>1) optionally skip building m3cc, since it is the slowest part<br><br>2) optionally clean between various steps, as was apparently necessary for me<br><br>I really cannot hack sh though. Sorry. I've tried several times through the years.<br>I just can't stand these languages where pretty much everything is a string.<br>e.g. sh, Tcl, cmd.<br>I admit hypocrisy in that I can and have hacked cmd.<br><br>So I started rewriting scripts/* in Python.<br>I'm not going to delete scripts/*.sh or anything THAT obnoxious (and get my<br>access revoked), just add a new scripts/python directory.<br>Tempting to call it scripts/jay.<br>I'm making good progess here.<br><br>Actually I started with Perl, which I have more experience with, but<br>it was frustrating and...<br><br>Anyway, so the real point here is, I'm reading scripts/* fairly closely.<br><br>I'd like to at times bounce my interpretation off folks.<br><br>In particular, I detect some wierdness.<br><br>Most variables can be set by the caller.<br>I assume that is mostly meant for the user to override things.<br>I agree that is mostly a good thing.<br><br>However it seems often data is derived, and then later overrides can kick in.<br><br>In particular, sysinfo.sh sets, e.g. M3OSTYPE and other data based on uname.<br>And it sets CM3_TARGET.<br>But TARGET is then set via the user override, or CM3_TARGET if no user override.<br><br>I draw one of two conclusions:<br><br>If a user sets TARGET, such as for a cross build, then user darn well better<br>set other variables manually to.<br><br>OR sysinfo.sh ought to check for TARGET being set, and derive data from that.<br>It should check preset TARGET or uname, not both.<br><br>I'm just going to leave it alone.<br><br>Presumably mostly the overrides are never set.<br>They are mainly for cross builds and/or bringing up new targets probably.<br><br>There aren't THAT MANY variables anyway.<br>Many could be removed, such as TAR, GREP, CM3*SEARCHPATH, etc.<br>Some are only for Win32.<br><br>Maybe after this I'll try rewriting scripts in Quake. :)<br><br> - Jay<br></div><br /><hr />Get the power of Windows + Web with the new Windows Live. <a href='http://www.windowslive.com?ocid=TXT_TAGHM_Wave2_powerofwindows_122007' target='_new'>Get it now!</a></body>
</html>