|
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