<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
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>
<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. <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>> <BR>> CVSROOT: /usr/cvs<BR>> Changes by: jkrell@birch. 09/01/02 21:22:55<BR>> <BR>> Modified files:<BR>> cm3/m3-libs/libm3/src/os/WIN32/: OSConfigWin32.m3 <BR>> <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>> <BR><BR></body>
</html>