Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!auspex!guy From: guy@auspex.auspex.com (Guy Harris) Newsgroups: comp.sources.d Subject: Determining system characteristics (was Re: Comments on ABC probs...) Message-ID: <5299@auspex.auspex.com> Date: 16 Jan 91 19:33:25 GMT References: <2747@charon.cwi.nl> <13368@vpk4.UUCP> Organization: Auspex Systems, Santa Clara Lines: 32 >Timo, there is what might be considered a better way to determine what type of >system a given package is being compiled on. That is, the reserved defined >symbols in cpp(1). Unfortunately, in a lot of cases, people don't care whether it's running on a 3B2 or a 3B5 or a 386 box (and especially not whether it's running on a 486 box as opposed to a 386 box!). They care whether it has some particular OS feature or not, or whether some particular OS feature works in some particular way. Using the machine-type #defines: 1) doesn't tell you whether the machine in question is, say, running S5R3 or S5R4 - the latter has features that the former doesn't; 2) causes problems when trying to build on a machine that the authors didn't know about; 3) may not tell you what flavor of OS is being used - consider, say, a BSD port to some hardware whose vendor supplies some S5 port. >If these defines are used to select Berkley/Sys V then hopefully, checking >include files, which may change, will be unnecessary. > > >Hope this is helpful, >(It really does make porting easier...) Really? I tend to doubt that, for the reasons stated. Do they, in practice, not apply?