<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Sorry, I had a tangent there.<BR>
The main question was regiarding a library feature, not a compiler issue.<BR>
 <BR>
<BR>  libm3/src/os/POSIX/OSConfigPosix.m3  <BR>
  libm3/src/os/POSIX/OSConfig.i3  <BR>
  libm3/src/os/WIN32/OSConfigWin32.m3  <BR>
  libm3/src/os/WIN32/OSConfig.i3  <BR>
 <BR>
The bulk of this code is never used in the cm3 tree anyway.<BR>
 <BR>
The tangent was regarding "cm3 -dump-host" or such, though it's more complicated maybe. Some hosts are "biarch" or "multiarch".<BR>
 <BR>
 - Jay<BR><BR>

<HR id=stopSpelling>
<BR>
CC: m3devel@elegosoft.com<BR>From: hosking@cs.purdue.edu<BR>To: jay.krell@cornell.edu<BR>Subject: Re: [M3devel] determing current processor as string<BR>Date: Mon, 5 Jan 2009 12:12:56 +1100<BR><BR><BR>
<DIV><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">
<DIV style="WORD-WRAP: break-word"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate"><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">
<DIV>As far as I am concerned I think PPC or PowerPC is sufficient, since the gcc-based backend figures out what it needs.  Why would the front-ends need to know?  Perhaps I am missing your point...</DIV></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></DIV></SPAN></DIV><BR>
<DIV>
<DIV>On 5 Jan 2009, at 09:57, Jay wrote:</DIV><BR class=EC_Apple-interchange-newline>
<BLOCKQUOTE><SPAN class=EC_Apple-style-span style="WORD-SPACING: 0px; FONT: 12px Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">
<DIV class=EC_hmmessage style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Thoughts here?<BR><BR> <BR>Does the processor need to be "friendly" and "precise" including stuff<BR>not knowable at compile time (386 vs. 486 vs. 586, etc.),<BR>or would just "PowerPC" or "PPC" suffice?<BR> <BR> <BR>This question affects the Posix code.<BR> <BR> <BR>The Posix code tries to fetch some data at runtime from uname, and if that fails<BR>it falls back to built in data. Besides that the data is used in an unlikely<BR>error path, we bother carrying the data for all systems, which afaik<BR>is completely unnecessary. Once I confirm, I'll have Quake generate<BR>just what is needed.<BR> <BR> <BR>Similarly, I think cm3 should have -print-host or somesuch.<BR>Then the platform probing in sysinfo.sh could probably all go away.<BR>(Except for my idea of /cm3/bin/cm3.sh that calls /cm3/bin/target/cm3.)<BR> <BR> <BR>There is more here than just the processor.<BR>So some runtime code would remain, even if the processor<BR>became hard coded at compile time.<BR> <BR>You know, there are a few models here:<BR>  <SPAN class=EC_Apple-converted-space> </SPAN><BR>  Use data at runtime asis.<BR>    e.g. GetEnv("PROCESSOR_ARCHITECTURE") and be done.<BR>    Does that work on CE?<BR> <BR>  Build-in the data at compile time and be done.<BR>     This requires possibly a revisit for every port, but simple.<BR>      It goes obsolete in time, but not quietly, it'd be an error in the Quake code<BR>          when a new platform is introduced.<BR>     Or, if the string is just <TARGET> then automatically ports, no revisit.<BR>     This doesn't have the concern "does it work on CE?" or<BR>       of Posix vs. Win32 portability.<SPAN class=EC_Apple-converted-space> </SPAN><BR> <BR>  Use data at runtime to pick among compile time data.<BR>     This is the current approach and it goes obsolete quietly in time.<BR> <BR> <BR>As well, these functions are never even used that I can see.<BR>Remove them?<BR>Or assume they might be used outside the cm3 tree?<BR> <BR>(That's quite a "line" in decision makiing. It's so much nicer<BR>to assume/know you have all the relevant code visible and therefore<BR>can make any change, provided you fix the client code, vs. having to<BR>assume there is "anything" out there.)<BR> <BR> - Jay<BR><BR><BR>> Date: Fri, 2 Jan 2009 21:22:55 +0000<BR>> To: m3commit@<BR>> From: jkrell@<BR>> Subject: [M3commit] CVS Update: cm3<BR>><SPAN class=EC_Apple-converted-space> </SPAN><BR>> CVSROOT: /usr/cvs<BR>> Changes by: jkrell@birch. 09/01/02 21:22:55<BR>><SPAN class=EC_Apple-converted-space> </SPAN><BR>> Modified files:<BR>> cm3/m3-libs/libm3/src/os/WIN32/: OSConfigWin32.m3<SPAN class=EC_Apple-converted-space> </SPAN><BR>><SPAN class=EC_Apple-converted-space> </SPAN><BR>> Log message:<BR>> add in some missing architectures, though arguably this should be either GetEnv(PROCESSOR_ARCHITECTURE) (does it work on CE?) or a constant determined at build time; the historical code goes obsolete automatically and quietly<BR>><SPAN class=EC_Apple-converted-space> </SPAN><BR><BR></DIV></SPAN></BLOCKQUOTE></DIV><BR></body>
</html>