Boost logo

Boost :

From: Daryle Walker (darylew_at_[hidden])
Date: 2001-08-08 17:21:09


on 8/6/01 7:34 AM, John Maddock at John_Maddock_at_[hidden] wrote:

> I've updated the split-config review code again to reflect Darin's patches
> for MPW and CW compilers, I've also added some generic BSD support (tested
> on FreeBSD 4.3).
>
> A couple of comments are in order:
>
> ******
> I've added a provisional version test around the MPW settings:
>
> #if defined(MPW_CPLUS) && (MPW_CPLUS <= 0x890)
>
> which needs testing/checking.

Why did you add the test?

> ******
> I've added the following section to the gcc config:
> //
> // define BOOST_NO_INTRINSIC_WCHAR_T for gcc platforms known not to
> // have wchar_t as an intrinsic type:
> //
> #if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) ||
> defined(__OpenBSD__)
> # define BOOST_NO_INTRINSIC_WCHAR_T
> #endif
>
> I was hoping to be able to use _WCHAR_T to test whether wchar_t is an
> intrinsic type, but I've been unable to deduce from stddef.h exactly when
> this gets defined.
>
> ********
> The pthreads test code has been altered to:
> // POSIX defines _POSIX_THREADS > 0 for pthread support,
> // however some platforms define _POSIX_THREADS without
> // a value, hence the (_POSIX_THREADS+0 >= 0) check.
> // Strictly speeking this may catch platforms with a
> // non-functioning stub <pthreads.h>, but such occurances should
> // occur very rarely if at all...
> # if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0)
> # define BOOST_HAS_PTHREADS
> # endif
>
> which works on BSD based systems and hopefully on Mac OS X as well...
>
> *******
>
> Finally the whole thing has been cvs'ed as a branch called "split-config".
>
> Feel free to commit changes to this, but be careful :-)

This is what I got from Metrowerks CodeWarrior Pro 5.3/Mac:

//=========================================================================
Metrowerks CodeWarrior C++ version 0x2301
    __cplusplus =199711L
    __STDC__ =1
    __MWERKS__ =0x2301
    __MSL__ =0x5201
    __MSL_CPP__ =0x5300
    __A5__ =0
    __embedded_cplusplus =0
    __fourbyteints__ =1
    __IEEEdoubles__ =1
    __MC68020__ =0
    __MC68881__ =0
    __profile__ =0
    __powerc =1
    __POWERPC__ =1
    macintosh =1
    powerc =1

*********************************************************************

MSL Standard Library version 0x5300

*********************************************************************

Detected Platform: Mac OS
    Type char is signed
    Type wchar_t is unsigned
    byte order for type short =8 0
    byte order for type int =24 16 8 0
    byte order for type long =24 16 8 0
    sizeof(wchar_t) =2
    sizeof(short) =2
    sizeof(int) =4
    sizeof(long) =4
    sizeof(float) =4
    sizeof(double) =8
    sizeof(long double) =8
    CHAR_BIT =8
    CHAR_MAX =127
    WCHAR_MAX =((wchar_t) - 1)
    SHRT_MAX =32767
    INT_MAX =2147483647L
    LONG_MAX =2147483647L
    __STDC_IEC_559__ =1

*********************************************************************

Boost version 102200
    BOOST_DECL [no value]
    BOOST_HAS_SLIST [no value]
    BOOST_MSVC6_MEMBER_TEMPLATES [no value]
    BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS [no value]
    BOOST_NO_HASH [no value]
    BOOST_NO_MEMBER_TEMPLATE_KEYWORD [no value]
    BOOST_NO_MEMBER_TEMPLATE_FRIENDS [no value]
    BOOST_NO_POINTER_TO_MEMBER_CONST [no value]
    BOOST_NO_STD_MESSAGES [no value]
    BOOST_DISABLE_THREADS [no value]
    BOOST_STD_EXTENSION_NAMESPACE =std
    BOOST_SYSTEM_HAS_STDINT_H [no value]
//=========================================================================

And from MPW:

//=========================================================================
MPW MrCpp version 0x500
    __cplusplus = 1
    __powerc = 1
    __POWERPC__ = 1
    macintosh = 1
    __MRC__ = 0x500
    __FPCE__ = 1
    __FPCE_IEEE__ = 1
    MPW_CPLUS = 0x890
    __MC601 = 1
    __POWERPC = 1
    __useAppleExts__ = 1
    powerc = 1

*********************************************************************

STLPort standard library version 0x400
    __SGI_STL_OWN_IOSTREAMS [no value]
    __SGI_STL_PORT =0x400
    __STL_DEFAULT_TYPE_PARAM =1
    __STL_HAS_NO_NEW_C_HEADERS [no value]
    __STL_HAS_NO_NEW_IOSTREAMS [no value]
    __STL_IMPORT_VENDOR_CSTD =1
    __STL_NO_BAD_ALLOC [no value]
    __STL_NO_CLASS_PARTIAL_SPECIALIZATION [no value]
    __STL_NO_EXCEPTION_HEADER =1
    __STL_NO_FUNCTION_TMPL_PARTIAL_ORDER [no value]
    __STL_NO_METHOD_SPECIALIZATION [no value]
    __STL_NO_NEW_NEW_HEADER [no value]
    __STL_NO_PARTIAL_SPECIALIZATION_SYNTAX [no value]
    __STL_NO_RELOPS_NAMESPACE [no value]
    __STL_THROW_RETURN_BUG [no value]
    __STL_USE_NEW_IOSTREAMS [no value]
    __STL_USE_OWN_NAMESPACE =1

*********************************************************************

Detected Platform: Mac OS
    Type char is signed
    Type wchar_t is unsigned
    byte order for type short =8 0
    byte order for type int =24 16 8 0
    byte order for type long =24 16 8 0
    sizeof(wchar_t) =2
    sizeof(short) =2
    sizeof(int) =4
    sizeof(long) =4
    sizeof(float) =4
    sizeof(double) =8
    sizeof(long double) =16
    CHAR_BIT =8
    CHAR_MAX =127
    WCHAR_MAX =((wchar_t)~0)
    SHRT_MAX =32767
    INT_MAX =2147483647
    LONG_MAX =2147483647

*********************************************************************

Boost version 102200
    BOOST_DECL [no value]
    BOOST_HAS_HASH [no value]
    BOOST_HAS_SLIST [no value]
    BOOST_MSVC_STD_ITERATOR [no value]
    BOOST_MSVC6_MEMBER_TEMPLATES [no value]
    BOOST_NO_CV_SPECIALIZATIONS [no value]
    BOOST_NO_CV_VOID_SPECIALIZATIONS [no value]
    BOOST_NO_CWCHAR [no value]
    BOOST_NO_CWCTYPE [no value]
    BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS [no value]
    BOOST_NO_INCLASS_MEMBER_INITIALIZATION [no value]
    BOOST_NO_INTRINSIC_WCHAR_T [no value]
    BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS [no value]
    BOOST_NO_STD_ALLOCATOR [no value]
    BOOST_NO_STD_ITERATOR_TRAITS [no value]
    BOOST_NO_STDC_NAMESPACE [no value]
    BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION [no value]
    BOOST_DISABLE_THREADS [no value]
    BOOST_NO_USING_TEMPLATE [no value]
    BOOST_STD_EXTENSION_NAMESPACE =_STL
//=========================================================================

You still use the term "MSL Standard Library," when MSL stands for
"Metrowerks Standard Library." You could just have the expanded MSL for the
name.

I thought the HASH macros check for <hash>, like the SLIST macros check for
<slist>. But your docs say HASH represents <hashmap> and <hashset>, which I
have, so you may want to update the HASH macros.

Should all the split-config files have the Boost copyright blurb?

Your <boost/version.hpp> is at least one version behind.

-- 
Daryle Walker
Mac, Internet, and Video Game Junkie
darylew AT mac DOT com

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