Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-08-12 08:44:00


Markus Schöpflin <markus.schoepflin_at_[hidden]> writes:

> David Abrahams wrote:
>
>> Markus Schöpflin <markus.schoepflin_at_[hidden]> writes:
>>
>>>What would you consider the correct way then? IMO we have three options.
>>>
>>>1. Only use "-std strict_ansi". This means that the C header files
>>> (#include <c...>) included by boost libraries only define exactly
>>> those names specified in the C++ standard and nothing else. This
>>> would means changes to at least test, fs, regex and probably more
>>> libs. OTOH, this would mean that those libs are more conforming
>>> afterwards.
>>>
>>>Here is the output of a configure run with the options "-pthread
>>>-tlocal -std strict_ansi":
>>>
>>>#define BOOST_MSVC6_MEMBER_TEMPLATES
>>>#define BOOST_HAS_UNISTD_H
>>>#define BOOST_HAS_SCHED_YIELD
>>>#define BOOST_HAS_PTHREADS
>>>#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
>>>#define BOOST_HAS_PTHREAD_DELAY_NP
>>>#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
>>>#define BOOST_HAS_NRVO
>>>#define BOOST_HAS_NL_TYPES_H
>>>#define BOOST_HAS_LONG_LONG
>>>#define BOOST_HAS_GETTIMEOFDAY
>>>#define BOOST_HAS_DIRENT_H
>>>
>>>(No sigaction (XSH4.0), no nanosleep (P1003.1b), and no
>>>clock_gettime(P1003.1b), to get those you have to define _XOPEN_SOURCE
>>>or _POSIX_SOURCE or some such.)
>> IMO this is the right thing to do, including making those #defines
>> as
>> neccessary.
>
> Should these defines be done by the user when compiling boost or by
> boost itself, therefore enforcing a particular value for them?

Boost should detect the compiler settings as far as possible.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk