Compare commits

...

15 Commits

Author SHA1 Message Date
nobody
0f950d42d4 This commit was manufactured by cvs2svn to create tag
'Version_1_31_0'.

[SVN r22162]
2004-02-04 15:24:32 +00:00
Aleksey Gurtovoy
23b59e4563 merged DM fixes from the main trunk
[SVN r21934]
2004-01-26 00:30:09 +00:00
John Maddock
e41c6c1a72 Added missing #undef (previously one symbol was left defined when the header exited, which caused problems when including two or more libs, one a static link and one a dynamic link).
[SVN r21857]
2004-01-21 11:55:11 +00:00
Aleksey Gurtovoy
d7657d3aa1 Merge fixes from the main trunk
[SVN r21842]
2004-01-20 16:26:31 +00:00
Dave Abrahams
3fe8a44ab9 Applied threading detection patch from Ed Swartz at Metrowerks
[SVN r21764]
2004-01-15 17:42:07 +00:00
John Maddock
f8c3245e39 Patches for cstdint support:
cygwin and mingw now use native stdint headers.
default header now compiles in -pedantic -ansi mode with gcc.


[SVN r21728]
2004-01-14 13:30:49 +00:00
John Maddock
cf26b3bb7a Added docs for auto-link and dll macro options
[SVN r21573]
2004-01-10 12:12:05 +00:00
John Maddock
8da4cf28c8 Metrowerks update
[SVN r21568]
2004-01-09 13:04:05 +00:00
John Maddock
146248f9f1 merged changes from main branch
[SVN r21564]
2004-01-09 11:33:31 +00:00
Beman Dawes
bf1fe352ae Enable Metrowerks support
[SVN r21552]
2004-01-09 02:20:57 +00:00
John Maddock
278d4cdb86 merged main branch
[SVN r21511]
2004-01-06 13:31:28 +00:00
nobody
90531b094b This commit was manufactured by cvs2svn to create branch 'RC_1_31_0'.
[SVN r21510]
2004-01-06 13:24:32 +00:00
Beman Dawes
230fcadc4b Ed Swartz of Metrowerks says __MWERKS__ will be 0x3202 for 9.2
[SVN r21506]
2004-01-06 01:12:10 +00:00
John Maddock
2a5f055a05 Updated version check to gcc3.4
[SVN r21495]
2004-01-05 12:05:07 +00:00
nobody
ff2296c7a3 This commit was manufactured by cvs2svn to create branch 'RC_1_31_0'.
[SVN r21427]
2003-12-30 12:10:04 +00:00
17 changed files with 275 additions and 22 deletions

View File

@@ -233,6 +233,60 @@ export LIBS="-lpthread"
<TD>A suffix header to include in place of whatever boost.config would normally
select, any replacement should undo the effects of the prefix header.</TD>
</TR>
<TR>
<TD vAlign="top">BOOST_ALL_DYN_LINK</TD>
<TD>
<P>Forces all libraries that have separate source, to be linked as dll's rather
than static libraries on Microsoft Windows (this macro is used to turn on
__declspec(dllimport) modifiers, so that the compiler knows which symbols to
look for in a dll rather than in a static library).&nbsp;
</P>
<P>Note that there may be some libraries that can only be statically linked
(Boost.Test for example) and others which may only be dynamically linked
(Boost.Threads for example), in these cases this macro has no effect.</P>
</TD>
</TR>
<TR>
<TD vAlign="top">BOOST_WHATEVER_DYN_LINK</TD>
<TD>
<P>Forces library "whatever" to be linked as a dll rather than a static library on
Microsoft Windows: replace the WHATEVER part of the macro name with the name of
the library that you want to dynamically link to, for example use
BOOST_DATE_TIME_DYN_LINK or BOOST_REGEX_DYN_LINK etc&nbsp;(this macro is used
to turn on __declspec(dllimport) modifiers, so that the compiler knows which
symbols to look for in a dll rather than in a static library).&nbsp;
</P>
<P>Note that there may be some libraries that can only be statically linked
(Boost.Test for example) and others which may only be dynamically linked
(Boost.Threads for example), in these cases this macro is unsupported.</P>
</TD>
</TR>
<TR>
<TD vAlign="top">BOOST_ALL_NO_LIB</TD>
<TD>
<P>Tells the config system not to automatically select which libraries to link
against.&nbsp;
</P>
<P>Normally if a compiler supports #pragma lib, then the correct library build
variant will be automatically selected and linked against, simply by the act of
including one of that library's headers.&nbsp; This macro turns that feature
off.</P>
</TD>
</TR>
<TR>
<TD vAlign="top">BOOST_WHATEVER_NO_LIB</TD>
<TD>
<P>Tells the config system not to automatically select which library to link
against for library "whatever", replace WHATEVER in the macro name with the
name of the library; for example BOOST_DATE_TIME_NO_LIB or
BOOST_REGEX_NO_LIB.&nbsp;
</P>
<P>Normally if a compiler supports #pragma lib, then the correct library build
variant will be automatically selected and linked against, simply by the act of
including one of that library's headers.&nbsp; This macro turns that feature
off.</P>
</TD>
</TR>
</table>
<h4><a name="advanced_config"></a>Advanced configuration usage</h4>
<p>By setting various macros on the compiler command line or by editing &lt;<a href="../../boost/config/user.hpp">boost/config/user.hpp</a>&gt;,
@@ -389,9 +443,9 @@ export LIBS="-lpthread"
<TD vAlign="top" width="16%">Compiler</TD>
<TD vAlign="top" width="33%">Argument dependent lookup fails if there is a using
declaration for the symbol being looked up in the current scope.&nbsp;&nbsp;For
example, <code>using boost::get_pointer;</code> prevents ADL from finding overloads of
<code>get_pointer</code> in namespaces nested inside boost (but not elsewhere).&nbsp;
Probably Borland specific.</TD>
example, <code>using boost::get_pointer;</code> prevents ADL from finding
overloads of <code>get_pointer</code> in namespaces nested inside boost (but
not elsewhere).&nbsp; Probably Borland specific.</TD>
</TR>
<tr>
<td valign="top" width="51%">BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP</td>

View File

@@ -81,7 +81,10 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
//
// Only include what follows for known and supported compilers:
//
#if defined(BOOST_MSVC) || defined(__BORLANDC__)
#if (defined(BOOST_MSVC) && defined(_MSC_EXTENSIONS)) \
|| defined(__BORLANDC__) \
|| (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
|| (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200))
#ifndef BOOST_VERSION_HPP
# include <boost/version.hpp>
@@ -122,6 +125,21 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
// CBuilder 6:
# define BOOST_LIB_TOOLSET "bcb"
#elif defined(__ICL)
// Intel C++, no version number:
# define BOOST_LIB_TOOLSET "iw"
#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
// Metrowerks CodeWarrior 8.x
# define BOOST_LIB_TOOLSET "cw8"
#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
// Metrowerks CodeWarrior 9.x
# define BOOST_LIB_TOOLSET "cw9"
#endif
//
@@ -133,7 +151,7 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
# define BOOST_LIB_THREAD_OPT
#endif
#ifdef _MSC_VER
#if defined(_MSC_VER) || defined(__MWERKS__)
# ifdef _DLL
@@ -278,6 +296,9 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
//
// finally undef any macros we may have set:
//
#ifdef BOOST_LIB_PREFIX
# undef BOOST_LIB_PREFIX
#endif
#if defined(BOOST_LIB_NAME)
# undef BOOST_LIB_NAME
#endif

View File

@@ -9,11 +9,14 @@
#define BOOST_COMPILER __DMC_VERSION_STRING__
#define BOOST_HAS_LONG_LONG
#define BOOST_HAS_PRAGMA_ONCE
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#define BOOST_NO_OPERATORS_IN_NAMESPACE
#define BOOST_NO_SFINAE
#define BOOST_NO_TEMPLATE_TEMPLATES
//#define NEEDS_PASTING_TOKEN_FOR_JUXTAPOSING
#define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
#define BOOST_NO_USING_TEMPLATE
#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
// check for exception handling support:

View File

@@ -84,8 +84,8 @@
# error "Compiler not configured - please reconfigure"
#endif
//
// last known and checked version is 3.3:
#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 3))
// last known and checked version is 3.4:
#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 4))
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else

View File

@@ -36,7 +36,7 @@
# define BOOST_NO_SFINAE
# endif
# if(__MWERKS__ <= 0x3201) // 9.2
# if(__MWERKS__ <= 0x3202) // 9.2
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# endif
@@ -48,6 +48,7 @@
# define BOOST_NO_EXCEPTIONS
#endif
#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
# if __MWERKS__ == 0x3000
# define BOOST_COMPILER_VERSION 8.0
# elif __MWERKS__ == 0x3001
@@ -56,11 +57,18 @@
# define BOOST_COMPILER_VERSION 8.2
# elif __MWERKS__ == 0x3003
# define BOOST_COMPILER_VERSION 8.3
# elif __MWERKS__ == 0x3200
# define BOOST_COMPILER_VERSION 9.0
# elif __MWERKS__ == 0x3201
# define BOOST_COMPILER_VERSION 9.1
# elif __MWERKS__ == 0x3202
# define BOOST_COMPILER_VERSION 9.2
# else
# define BOOST_COMPILER_VERSION __MWERKS__
# endif
# endif
#else
# define BOOST_COMPILER_VERSION __MWERKS__
#endif
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
@@ -72,7 +80,7 @@
#endif
//
// last known and checked version:
#if (__MWERKS__ > 0x3201)
#if (__MWERKS__ > 0x3202)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# endif

View File

@@ -63,6 +63,7 @@
// and http://lists.boost.org/MailArchives/boost/msg47220.php
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# define BOOST_NO_SFINAE
# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
# endif
#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)

View File

@@ -32,6 +32,14 @@
# define BOOST_HAS_FTIME
#endif
//
// find out if we have a stdint.h, there should be a better way to do this:
//
#include <sys/types.h>
#ifdef _STDINT_H
#define BOOST_HAS_STDINT_H
#endif
// boilerplate code:
#include <boost/config/posix_features.hpp>

View File

@@ -19,6 +19,11 @@
# define BOOST_HAS_DECLSPEC
#endif
#if defined(__MINGW32__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
# define BOOST_HAS_STDINT_H
# define __STDC_LIMIT_MACROS
#endif
//
// Win32 will normally be using native Win32 threads,
// but there is a pthread library avaliable as an option,

View File

@@ -35,7 +35,7 @@
# include <boost/config/posix_features.hpp>
#endif
#if _MWMT
#if defined(_MWMT) || _MSL_THREADSAFE
# define BOOST_HAS_THREADS
#endif

View File

@@ -65,5 +65,60 @@
// even when available:
// #define BOOST_DISABLE_WIN32
// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any
// prefix/suffix headers that normally control things like struct
// packing and alignment.
// #define BOOST_DISABLE_ABI_HEADERS
// BOOST_ABI_PREFIX: A prefix header to include in place of whatever
// boost.config would normally select, any replacement should set up
// struct packing and alignment options as required.
// #define BOOST_ABI_PREFIX my-header-name
// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever
// boost.config would normally select, any replacement should undo
// the effects of the prefix header.
// #define BOOST_ABI_SUFFIX my-header-name
// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source,
// to be linked as dll's rather than static libraries on Microsoft Windows
// (this macro is used to turn on __declspec(dllimport) modifiers, so that
// the compiler knows which symbols to look for in a dll rather than in a
// static library). Note that there may be some libraries that can only
// be statically linked (Boost.Test for example) and others which may only
// be dynamically linked (Boost.Threads for example), in these cases this
// macro has no effect.
// #define BOOST_ALL_DYN_LINK
// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll
// rather than a static library on Microsoft Windows: replace the WHATEVER
// part of the macro name with the name of the library that you want to
// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or
// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport)
// modifiers, so that the compiler knows which symbols to look for in a dll
// rather than in a static library).
// Note that there may be some libraries that can only be statically linked
// (Boost.Test for example) and others which may only be dynamically linked
// (Boost.Threads for example), in these cases this macro is unsupported.
// #define BOOST_WHATEVER_DYN_LINK
// BOOST_ALL_NO_LIB: Tells the config system not to automatically select
// which libraries to link against.
// Normally if a compiler supports #pragma lib, then the correct library
// build variant will be automatically selected and linked against,
// simply by the act of including one of that library's headers.
// This macro turns that feature off.
// #define BOOST_ALL_NO_LIB
// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically
// select which library to link against for library "whatever",
// replace WHATEVER in the macro name with the name of the library;
// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB.
// Normally if a compiler supports #pragma lib, then the correct library
// build variant will be automatically selected and linked against, simply
// by the act of including one of that library's headers. This macro turns
// that feature off.
// #define BOOST_WHATEVER_NO_LIB

View File

@@ -33,7 +33,7 @@ int test()
std::isalpha(c);
std::ispunct(c);
#endif
std::strlen(&c);
(void)std::strlen(&c);
std::clock();
return 0;

View File

@@ -30,13 +30,13 @@ namespace boost
}
}
namespace user
namespace user_ns
{
template <class T>
struct Y{};
template <class T>
T* get_pointer(user::Y<T>)
T* get_pointer(user_ns::Y<T>)
{ return 0; }
template <class T>
@@ -58,8 +58,8 @@ int test()
{
int i;
typedef void* pv;
i = user::f(pv());
i = user::f(boost::inner2::X<int>());
i = user_ns::f(pv());
i = user_ns::f(boost::inner2::X<int>());
return 0;
}

View File

@@ -7,6 +7,32 @@ dll link_test : link_test.cpp
<runtime-link>dynamic
<define>BOOST_DYN_LINK=1
<sysinclude>$(BOOST_ROOT)
# make sure the names of the libraries are correctly named:
common-variant-tag
:
debug release
;
lib link_test : link_test.cpp
:
<sysinclude>$(BOOST_ROOT)
# make sure the names of the libraries are correctly named:
common-variant-tag
:
debug release
;
stage stage/lib : <lib>link_test <dll>link_test
:
# copy to a path rooted at BOOST_ROOT:
<locate>$(BOOST_ROOT)
# make sure the names of the libraries are correctly named:
common-variant-tag
# add this target to the "stage" and "all" psuedo-targets:
<target>stage
<target>all
:
debug release
;

View File

@@ -0,0 +1,36 @@
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.
// Test file for macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
// This file should not compile, if it does then
// BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS need not be defined.
// see boost_no_array_type_spec.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_no_array_type_spec.cxx on
// Sat Dec 13 12:29:38 GMTST 2003
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
#include "boost_no_array_type_spec.cxx"
#else
#error "this file should not compile"
#endif
int cpp_main( int, char *[] )
{
return boost_no_array_type_specializations::test();
}

View File

@@ -0,0 +1,36 @@
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.
// Test file for macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
// This file should compile, if it does not then
// BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS needs to be defined.
// see boost_no_array_type_spec.cxx for more details
// Do not edit this file, it was generated automatically by
// ../tools/generate from boost_no_array_type_spec.cxx on
// Sat Dec 13 12:29:38 GMTST 2003
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
#include "boost_no_array_type_spec.cxx"
#else
namespace boost_no_array_type_specializations = empty_boost;
#endif
int cpp_main( int, char *[] )
{
return boost_no_array_type_specializations::test();
}

View File

@@ -31,6 +31,6 @@
int cpp_main( int, char *[] )
{
return ::test();
return boost_function_scope_using_declaration_breaks_adl::test();
}

View File

@@ -26,11 +26,11 @@
#ifndef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
#include "boost_no_using_breaks_adl.cxx"
#else
namespace = empty_boost;
namespace boost_function_scope_using_declaration_breaks_adl = empty_boost;
#endif
int cpp_main( int, char *[] )
{
return ::test();
return boost_function_scope_using_declaration_breaks_adl::test();
}