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, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk