Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!husc6!cmcl2!brl-adm!brl-smoke!gwyn
From: gwyn@brl-smoke.ARPA (Doug Gwyn )
Newsgroups: comp.bugs.4bsd,comp.unix.wizards
Subject: Re: 4.3BSD stdio.h - sprintf() definition
Message-ID: <6137@brl-smoke.ARPA>
Date: Fri, 17-Jul-87 22:19:46 EDT
Article-I.D.: brl-smok.6137
Posted: Fri Jul 17 22:19:46 1987
Date-Received: Sat, 18-Jul-87 17:54:31 EDT
References: <521@quacky.UUCP> <526@quacky.UUCP>
Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) )
Distribution: world
Organization: Ballistic Research Lab (BRL), APG, MD.
Lines: 18
Xref: mnetor comp.bugs.4bsd:452 comp.unix.wizards:3293

In article <526@quacky.UUCP> dce@quacky.UUCP (David Elliott) writes:
>Personally, I have a lot of problems with programs where people
>put in #ifdefs based on hardware types when the #ifdef should
>be based on something else. A good example (sorry Doug) is when
>I ported the BRL System V package to the MIPS system and found
>that some of the #ifdefs for "vax" applied (overall system
>architecture, usually vs. pdp11) and some didn't (byte order, ...

I too have a lot of hassle because of these issues when porting software.
The problem as I see it is that there isn't a standard list of attributes,
so one needs to establish standards for one's own software to treat these
orthogonal attributes independently.  Unfortunately much existing software
treats the system type as the only selector.  Most of that cruft in the
BRL UNIX System V emulation was simply inherited from the original AT&T
code; I didn't have time to thoroughly overhaul everything.  Our latest
shell sources, however, are almost free of this kind of conditionalization.
Recent AT&T SGS packages also are much better about these things.  Maybe
there's hope!