On Thu, Jan 15, 2009 at 01:27:00PM +0000, John Levon wrote:
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.
Doesn't working STREAMS exist on UnixWare too? I still think the
right thing to do is to detect STREAMS. If someone installs broken
STREAMS on Linux, then it is their responsibility to find a more
discrete test which differentiates between broken STREAMS and working
STREAMS on Solaris/UnixWare.
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.
Right, but don't just check for the header. Check for both the
header and some common symbol inside it.
Of course, my preferred fix would be for Solaris to drop STREAMS,
but
that's a vain hope :)
There's the problem - if Solaris drop streams, the #ifdef __sun checks
will be incorrect.
Rich.
--
Richard Jones, Emerging Technologies, Red Hat
http://et.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top