Date: 2006-12-18 04:42:07
From: Martin Bonner
> I don't think Autoconfig /does/ help.
I'm using autoconfig in order to check if some OS features are
Autoconfigure gives you the os name, version and relase.
It is a great help for multiplatform development!
For instance I test with autoconfigure if a given platform supports
MSG_NOSIGNAL flag in the
system call sendmsg.
What ??? said (I have
> forgotten their name, and you didn't attribute the quote), is
> that people build on Solaris 10 (which has strerror_r) and
> then expect to be able to run on Solaris 2 (which doesn't).
On HP/UX for instance the patch level of the system is also important.
So only on teyting for os version/relase is not sufficient.
> It seems to me that the only possible solution to that, is a
> define which forces the use of strerror. We don't want to
> use strerror unless we have to (because of thread safety),
> and the person building the code is the only person who can
> know whether they need the capability to deploy on Solaris 2.
With aoutconfig the build process can check if strerror_r is avaliable
and provide strerror as fall back.
> Hmm. Maybe boost should use strerror_r always, and then tell
> people how to write their own version if the OS doesn't
> provide it. (Grab a lock, call strerror, copy result to
> passed in buffer, release lock - absolutely safe against
> multithreaded calls to strerror_r, and there's a good chance
> that other calls to strerror will work)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk