<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-15">
<META content="MSHTML 6.00.6000.16587" name=GENERATOR></HEAD>
<BODY style="MARGIN: 4px 4px 1px; FONT: 10pt Tahoma">
<DIV>Jay:</DIV>
<DIV> </DIV>
<DIV>I understand the cm3 package and build system. I just didn't know what "buildglobal" meant.</DIV>
<DIV> </DIV>
<DIV>From your explanation, I take it that buildglobal = (cm3 -build) + (cm3 -ship) together on a per package basis.</DIV>
<DIV>If this is true, then buildglobal == buildship; i.e., there is no difference.</DIV>
<DIV> </DIV>
<DIV>You stated that the default of the script is buildlocal and I gather buildlocal = (cm3 -build -override). If so, I now see why I was confused. The default for the compiler is not to include the overrides file (at least that is my recollection from the 4.1 days--maybe its different now). So in my way of thinking, buildlocal = (cm3 -build) without doing any shipping. Perhaps a more self-explanatory option name for (cm3 -build -override) would be "buildoverrides". The system won't let you ship a package built with overrides, so that is why I ran into trouble trying to get everything installed using do-cm3-std without passing the buildship or buildglobal option.</DIV>
<DIV> </DIV>
<DIV>I've always liked the cm3 way of having a private source package tree where folks work on the code and then having a separate public package tree where folks "ship" their finished product. Yes, I know you wind up having the code in two places, but then you can "clean" up the derived files in your private tree to save space if needed.</DIV>
<DIV> </DIV>
<DIV>The old "reactor" documentation did a fairly good job of explaining the cm3 package concept and the idea of public and private repositories. I'm attempting to convert this document into something we can put back in the cvs repository. I have to take out all the trademarks and replace the graphics etc so it is a painful process without the original electronic source. I've resorted to scanning it in via a scanner and making edits.</DIV>
<DIV> </DIV>
<DIV>Regards,</DIV>
<DIV>Randy<BR><BR>>>> Jay <jayk123@hotmail.com> 1/18/2008 7:56 PM >>><BR><BR>one more try darnit....<BR><BR> <BR> <BR></DIV>
<BLOCKQUOTE>
<HR id=EC_stopSpelling>
From: jayk123@hotmail.com<BR>To: jayk123@hotmail.com<BR>Subject: buildlocal vs.<BR>Date: Sat, 19 Jan 2008 00:55:31 +0000<BR><BR>
<META content="Microsoft SafeHTML" name=Generator>
<STYLE>
.ExternalClass .EC_hmmessage P
{padding:0px;}
.ExternalClass EC_body.hmmessage
{font-size:10pt;font-family:Tahoma;}
</STYLE>
"Ship" means "Install" <BR><BR> Let's say your install is at <BR><BR> c:\cm3 <BR> <BR> <BR> and your source is at <BR> <BR> <BR> c:\dev2\cm3 <BR> <BR> <BR> (I would use dev, but Unix took it.) <BR> <BR> <BR> Depending on the state of things, you probably two of many things: <BR> <BR> <BR> c:\cm3\pkg\libm3\nt386\libm3.lib <BR> c:\cm3\pkg\libm3\nt386\libm3.dll <BR> c:\dev2\cm3\m3-libs\libm3\nt386\libm3.lib <BR> c:\dev2\cm3\m3-libs\libm3\nt386\libm3.dll <BR> <BR> You will have much more in \dev2\cm3\m3-libs\libm3\nt386. <BR> <BR> <BR> When you build stuff, you can use the installed dependencies or the just built dependencies. <BR> <BR> <BR> buildlocal uses the just built dependencies. <BR> <BR> <BR> buildglobal uses the installed dependencies <BR> <BR> <BR> buildship build and ships (installs) each directory <BR> It does it one pass: <BR> buildship pkg1 pkg1 <BR> => build pkg1 <BR> ship pkg1 <BR> build pkg2 <BR> ship pkg2 <BR> <BR> <BR> and NOT <BR> build pkg1 <BR> build pkg2 <BR> ship pkg1 <BR> ship pkg2 <BR> <BR> <BR> You may only ship/install outputs that are builtglobal. <BR> Outputs are presumed to only be valid if "amidst" dependencies that <BR> match the declarations and such they were built against -- i.e. the headers, in C. <BR> <BR> <BR> If you are starting with a minimal install, with just m3core and libm3, then you must <BR> buildship and you must do it in dependncy order. <BR> <BR> <BR> It only matters for certain types of changes, and then it can really matter. <BR> <BR> <BR> You might change the format of some compiler-produced runtime-consumed data. <BR> <BR> <BR> You might have a bunch of .sos/.dlls. They can only work with each other <BR> if they match in certain ways. Again, ways which don't change that often, <BR> but sometimes do -- like changing public types. <BR> <BR> <BR> - Jay <BR><BR></BLOCKQUOTE><BR>
<HR>
Climb to the top of the charts! Play the word scramble challenge with star power. <A href="http://club.live.com/star_shuffle.aspx?icid=starshuffle_wlmailtextlink_jan" target=_new>Play now!</A> </BODY></HTML>