$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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