On Thu, Jan 15, 2009 at 01:15:13PM +0000, Richard W.M. Jones wrote:
We really should go by features detected in configure, not
assumptions
about the platform which may not even be true.
That's my point. They are true, and they always will be. In fact, it's
MUCH safer in these cases to check __sun. I can't check for stropts.h,
since someone might have installed that icky STREAMS stuff on Linux,
which would then break. I can't check for priv.h, since it's generic
enough to exist in different form on other platforms. Even if least priv
in the exact Solaris form gets ported to say BSD, it won't have
__init_suid_priv(), for example.
I'm not arguing against configure checks in the general case (e.g.
cfmakeraw), but these two cases (STREAMS terminals and least priv) are
very different.
If I thought there were any possibility of this ever applying to another
platform (like, say, DTrace), I'd be all for it.
> or indeed how to
> even test the need to do the I_PUSHes.
The autoconf manual is voluminous but comprehensive:
I'm not asking how to write autoconf macros. I'm asking how to write a
build-time test that ptys are STREAMS-based (and possibly just Solaris
STREAMS), without it being essentially #ifdef __sun.
Of course, my preferred fix would be for Solaris to drop STREAMS, but
that's a vain hope :)
regards,
john