tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Host requirements to build the Tools binaries



Mouse <mouse%Rodents-Montreal.ORG@localhost> writes:

>> Indeed, adding a "visibility define" not only ensures that everything
>> from that spec is present, but that everything not in that spec is
>> not present.
>
> That paradigm makes it impossible to bring in two groups of non-base
> declarations from the same include file.  If defining GROUP1_SOURCE is
> suppsoed to mean nothing but base and GROUP1 are present, and s/1/2/
> for GROUP2_SOURCE, then defining both of them produces a conflict.

I believe that defining GROUP1_SOURCE and GROUP2_SOURCE is supposed to
make the union of them visible.

What I was trying to say was that there is a default visibility.  On
NetBSD it's pretty much everything, as I understand it.  On GNU/Linux
(Linux being a kernel has no system headers as part of it!) it is
apparently more restricted.

When you add one define, the default of N things gets turned off.
Using one or two is appropriate for a program that is validated to
depend solely on interfaces required by those standards, in order to
keep it honest for portability.

Instead, people tend to add defines to make something build on the box
in front of them, which ends up broken in general.


Home | Main Index | Thread Index | Old Index