Subject: Re: port-alpha/5586: port alpha does not define "unix"
To: None <tech-userlevel@NetBSD.ORG>
From: Simon Burge <simonb@telstra.com.au>
List: tech-userlevel
Date: 06/16/1998 10:41:40
[ moved to tech-userland, and left previous recipients on because I
  don't know who is subscribed there ]

[ argh, I sent this to tech-userland, which doesn't exist - it's
  tech-userlevel ]

On 15 Jun 1998 23:44:45 +0200  Klaus Klein wrote:

> "Perry E. Metzger" <perry@piermont.com> writes:
> 
> > Tim Rightnour writes:
> > > I guess I don't understand why we don't define "unix".  Alot of third party
> > > stuff relies on the fact that most unix or unix-like machines define that
> > > automaticly.
> > 
> > This is, according to modern standards, incorrect behavior. CPP is not 
> > allowed to pollute the user namespace that way.
> 
> Considering that the NetBSD environment, in its current state, does
> not fulfil the UNIX(r) Base Branding requirements, having cpp indicate
> that it's running in a UNIX environment is just wrong.  (The fact that
> the current UNIX specification does not permit this kind of name space
> pollution is just another argument against adding it to NetBSD/alpha's
> GCC configuration but for removing it from those configs that define
> it.)

Are symbols with two leading underscores OK?  For example, at the moment
the pmax port needs an __ELF__ symbol defined for certain things to
build properly.  (Yes, this could probably be fixed some way else, but
having gcc define it is easiest.)

Also, how does this apply to GCC predicates?  Do the Standards(tm) have
anything to say about them?

Simon.