mirror of
https://github.com/boostorg/config.git
synced 2026-03-07 06:14:04 +01:00
Compare commits
15 Commits
boost-1.69
...
boost-1.31
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f950d42d4 | ||
|
|
23b59e4563 | ||
|
|
e41c6c1a72 | ||
|
|
d7657d3aa1 | ||
|
|
3fe8a44ab9 | ||
|
|
f8c3245e39 | ||
|
|
cf26b3bb7a | ||
|
|
8da4cf28c8 | ||
|
|
146248f9f1 | ||
|
|
bf1fe352ae | ||
|
|
278d4cdb86 | ||
|
|
90531b094b | ||
|
|
230fcadc4b | ||
|
|
2a5f055a05 | ||
|
|
ff2296c7a3 |
60
config.htm
60
config.htm
@@ -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).
|
||||
</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 (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).
|
||||
</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.
|
||||
</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. 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.
|
||||
</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. 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 <<a href="../../boost/config/user.hpp">boost/config/user.hpp</a>>,
|
||||
@@ -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. 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).
|
||||
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). Probably Borland specific.</TD>
|
||||
</TR>
|
||||
<tr>
|
||||
<td valign="top" width="51%">BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP</td>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
# include <boost/config/posix_features.hpp>
|
||||
#endif
|
||||
|
||||
#if _MWMT
|
||||
#if defined(_MWMT) || _MSL_THREADSAFE
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ int test()
|
||||
std::isalpha(c);
|
||||
std::ispunct(c);
|
||||
#endif
|
||||
std::strlen(&c);
|
||||
(void)std::strlen(&c);
|
||||
std::clock();
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
;
|
||||
|
||||
|
||||
|
||||
36
test/no_array_type_spec_fail.cpp
Normal file
36
test/no_array_type_spec_fail.cpp
Normal 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();
|
||||
}
|
||||
|
||||
36
test/no_array_type_spec_pass.cpp
Normal file
36
test/no_array_type_spec_pass.cpp
Normal 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();
|
||||
}
|
||||
|
||||
@@ -31,6 +31,6 @@
|
||||
|
||||
int cpp_main( int, char *[] )
|
||||
{
|
||||
return ::test();
|
||||
return boost_function_scope_using_declaration_breaks_adl::test();
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user