Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!lll-winken!uunet!auspex!guy From: guy@auspex.auspex.com (Guy Harris) Newsgroups: comp.unix.wizards Subject: Re: generating code to run multiple targets Message-ID: <1481@auspex.auspex.com> Date: 21 Apr 89 07:14:47 GMT References: <19190@adm.BRL.MIL> <1024@quintus.UUCP> <2460@mentor.cc.purdue.edu> Reply-To: guy@auspex.auspex.com (Guy Harris) Organization: Auspex Systems, Santa Clara Lines: 21 >This is a start, but I think that we need a standard way of getting the >CPU type (i386 vs ns32000, for example), operating system type (on >several different levels: Berkeley vs. AT&T Unix, 4.2BSD vs. 4.3BSD, >etc.), Well, unfortunately, for OS type you don't want "Berkeley vs. AT&T UNIX", since there are some systems that aren't pure versions of either; for example, a hell of a lot of systems that advertise themselves as "AT&T UNIX", presumably really meaning "System V" (after all, "Berkeley UNIX" is, to a large degree, derived from a version of "AT&T UNIX"), have job control. (If you consider a system with job control not to be pure "AT&T UNIX", of course, this means System V Release 4 won't be "pure AT&T UNIX". So much for Purity Of Essence....) The same applies for the socket calls, symbolic links, long file names, etc.. You probably don't want "4.2BSD vs. 4.3BSD", either, since there are some systems that aren't pure versions of either (systems that have, for example, picked up some 4.3BSD features but not others). What you really want is a way of asking whether particular features are present, and which version of those features are provided.