Udpate to 1.41.0; original diff from Markus Hennecke

This commit is contained in:
robert 2010-03-30 11:00:15 +00:00
parent 6843761a15
commit 9cfa962094
24 changed files with 4076 additions and 1353 deletions

View File

@ -1,25 +1,31 @@
# $OpenBSD: Makefile,v 1.18 2009/07/27 00:34:24 kurt Exp $
# $OpenBSD: Makefile,v 1.19 2010/03/30 11:00:15 robert Exp $
COMMENT= free peer-reviewed portable C++ source libraries
PKGNAME= boost-${VERSION}p4
PKGNAME= boost-${VERSION}
VERSION= 1.34.1
VERSION= 1.41.0
DISTNAME= boost_${VERSION:S/./_/g}
SO_VERSION= 1.0
SO_VERSION= 1.1
BOOST_LIBS= boost_date_time boost_date_time-mt \
boost_filesystem boost_filesystem-mt \
boost_graph boost_graph-mt \
boost_math_c99 boost_math_c99-mt \
boost_math_c99f boost_math_c99f-mt \
boost_math_c99l boost_math_c99l-mt \
boost_math_tr1 boost_math_tr1-mt \
boost_math_tr1f boost_math_tr1f-mt \
boost_math_tr1l boost_math_tr1l-mt \
boost_iostreams boost_iostreams-mt \
boost_prg_exec_monitor boost_prg_exec_monitor-mt \
boost_program_options boost_program_options-mt \
boost_python boost_python-mt \
boost_regex boost_regex-mt \
boost_serialization boost_serialization-mt \
boost_wserialization boost_wserialization-mt \
boost_signals boost_signals-mt \
boost_system boost_system-mt \
boost_thread-mt \
boost_unit_test_framework boost_unit_test_framework-mt \
boost_wave boost_wave-mt
.for _lib in ${BOOST_LIBS}
SHARED_LIBS+= ${_lib} ${SO_VERSION}
@ -40,11 +46,25 @@ PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=boost/}
MAKE_ENV= GCC="${CC}" GXX="${CXX}"
CONFIGURE_ENV= BJAM_CONFIG="-sNO_BZIP2=1 -sSO_VERSION=${SO_VERSION}"
BJAM_CONFIG= -sNO_BZIP2=1 \
-d+2 -q \
-sEXPAT_INCLUDE=/usr/include -sEXPAT_LIBPATH=/usr/lib \
variant=release link=static,shared threading=single,multi
BOOTSTRAP_CONFIG= --without-icu \
--with-python=${MODPY_BIN} \
--with-python-root=${LOCALBASE} \
--with-python-version=${MODPY_VERSION} \
--without-libraries=test
# --without-libraries=test,thread,serialization,system,date_time,filesystem,graph,math,mpi,program_options,signals,wave
CONFIGURE_ENV= BJAM_CONFIG="${BJAM_CONFIG}"
REGRESS_TARGET= check
WANTLIB= z c
WANTLIB= z c expat pthread util
MODULES= lang/python
MODPY_RUNDEP= No
@ -58,11 +78,12 @@ do-configure:
cp user.hpp ${WRKSRC}/boost/config
post-configure:
@cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} /bin/sh ./configure \
--with-python=${MODPY_BIN} \
--with-python-root=${LOCALBASE} \
--with-python-version=${MODPY_VERSION} \
--without-icu
@cd ${WRKSRC} && chmod -R a+x ./ && \
/bin/sh ./bootstrap.sh ${BOOTSTRAP_CONFIG}
do-build:
@cd ${WRKSRC} && \
./bjam ${BJAM_CONFIG}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/tools/jam/src/bin.*/bjam \

View File

@ -1,5 +1,5 @@
MD5 (boost_1_34_1.tar.gz) = UpCipWXX0VoxuxE2p8MI1w==
RMD160 (boost_1_34_1.tar.gz) = fWjTzs7V9Dha1j4N8wLydWJ1zPE=
SHA1 (boost_1_34_1.tar.gz) = sgoNUPMFkjNW06+/IjajazqT2Ec=
SHA256 (boost_1_34_1.tar.gz) = 75kGIRcGig1kH0BFxCFmF2hlcmKj0RnEonLJej565bM=
SIZE (boost_1_34_1.tar.gz) = 16017741
MD5 (boost_1_41_0.tar.gz) = 3bBMm5Fko2qR3PNoGWZt2Q==
RMD160 (boost_1_41_0.tar.gz) = M4lshOEh0nxFLD+9DQaUK7NPnvs=
SHA1 (boost_1_41_0.tar.gz) = wJWhk3oe8cjZzNf0VIHCmjrSnVY=
SHA256 (boost_1_41_0.tar.gz) = Ajy+HNPwlG/j1rTIPkrlrMBCzeaGHbw/fi9WXP4+RPk=
SIZE (boost_1_41_0.tar.gz) = 40743333

View File

@ -1,33 +0,0 @@
$OpenBSD: patch-Jamfile_v2,v 1.1 2008/04/03 07:44:39 bernd Exp $
--- Jamfile.v2.orig Tue May 29 19:46:37 2007
+++ Jamfile.v2 Wed Jan 9 21:57:39 2008
@@ -110,7 +110,7 @@ local default-build ;
if $(__file__:D) = ""
{
default-build =
- debug release
+ release
<threading>single <threading>multi
<link>shared <link>static
;
@@ -175,10 +175,9 @@ alias test_exec_monitor : libs/test/build//boost_test_
alias unit_test_framework : libs/test/build//boost_unit_test_framework ;
alias bgl-vis : libs/graps/build//bgl-vis ;
alias serialization : libs/serialization/build//boost_serialization ;
-alias wserialization : libs/serialization/build//boost_wserialization ;
explicit prg_exec_monitor test_exec_monitor unit_test_framework
- bgl-vis serialization wserialization ;
+ bgl-vis serialization ;
for local l in $(all-libraries)
{
@@ -233,7 +232,7 @@ rule libraries-to-install ( existing-libraries * )
# what kind of layout are we doing?
layout = [ MATCH "^--layout=(.*)" : [ modules.peek : ARGV ] ] ;
-layout ?= versioned ;
+layout = system ;
layout-$(layout) = true ;
# possible stage only location

View File

@ -1,11 +1,11 @@
$OpenBSD: patch-boost_config_stdlib_libstdcpp3_hpp,v 1.4 2009/07/27 00:34:24 kurt Exp $
--- boost/config/stdlib/libstdcpp3.hpp.orig Thu Dec 1 10:00:33 2005
+++ boost/config/stdlib/libstdcpp3.hpp Mon Dec 31 02:29:05 2007
$OpenBSD: patch-boost_config_stdlib_libstdcpp3_hpp,v 1.5 2010/03/30 11:00:15 robert Exp $
--- boost/config/stdlib/libstdcpp3.hpp.orig Tue May 12 18:09:45 2009
+++ boost/config/stdlib/libstdcpp3.hpp Tue May 12 18:15:20 2009
@@ -29,6 +29,15 @@
# define _REENTRANT
#endif
+// This is a hack for OpenBSD. Currently OpenBSD's gcc is compiled
+// This is hack for OpenBSD. Currently OpenBSD's gcc is compiled
+// with thread model = single. Many references on the net indicate
+// multithreaded c++ applications will have problems with c++
+// exceptions and the high-speed caching allocator. However in

View File

@ -1,12 +1,13 @@
$OpenBSD: patch-boost_config_suffix_hpp,v 1.6 2009/07/27 11:31:08 kurt Exp $
--- boost/config/suffix.hpp.orig Thu Feb 9 18:29:09 2006
+++ boost/config/suffix.hpp Mon Jan 7 20:59:55 2008
@@ -207,7 +207,7 @@
$OpenBSD: patch-boost_config_suffix_hpp,v 1.7 2010/03/30 11:00:15 robert Exp $
--- boost/config/suffix.hpp.orig Tue May 12 18:19:58 2009
+++ boost/config/suffix.hpp Tue May 12 18:21:48 2009
@@ -225,7 +225,8 @@
// from here then add to the appropriate compiler section):
//
#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \
- || defined(_PTHREADS)) && !defined(BOOST_HAS_THREADS)
+ || defined(_PTHREADS) || defined(_POSIX_THREADS)) && !defined(BOOST_HAS_THREADS)
- || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \
+ || defined(_PTHREADS) || defined(_POSIX_THREADS) \
+ || defined(__APPLE__) || defined(__DragonFly__)) \
&& !defined(BOOST_HAS_THREADS)
# define BOOST_HAS_THREADS
#endif

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-boost_detail_atomic_count_hpp,v 1.1 2008/06/05 12:55:56 kurt Exp $
--- boost/detail/atomic_count.hpp.orig Wed Mar 30 17:52:54 2005
+++ boost/detail/atomic_count.hpp Thu Jun 5 07:17:02 2008
@@ -93,7 +93,13 @@ typedef long atomic_count;
# include <boost/detail/atomic_count_pthreads.hpp>
#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
# include <boost/detail/atomic_count_win32.hpp>
-#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
+#elif defined(__GLIBCXX__) && \
+ (defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || \
+ defined(_GLIBCXX__PTHREADS))
+# include <boost/detail/atomic_count_gcc.hpp>
+#elif defined(__GLIBCPP__) && \
+ (defined(_GLIBCPP_HAVE_GTHR_DEFAULT) || \
+ defined(_GLIBCPP__PTHREADS))
# include <boost/detail/atomic_count_gcc.hpp>
#elif defined(BOOST_HAS_PTHREADS)
# define BOOST_AC_USE_PTHREADS

View File

@ -1,155 +0,0 @@
$OpenBSD: patch-boost_function_function_base_hpp,v 1.1 2008/04/03 07:44:40 bernd Exp $
--- boost/function/function_base.hpp.orig Wed Jan 9 06:44:14 2008
+++ boost/function/function_base.hpp Wed Jan 9 06:44:55 2008
@@ -15,6 +15,7 @@
#include <memory>
#include <new>
#include <typeinfo>
+#include <functional> // unary_function, binary_function
#include <boost/config.hpp>
#include <boost/assert.hpp>
#include <boost/type_traits/is_integral.hpp>
@@ -30,6 +31,20 @@
#endif
#include <boost/function_equal.hpp>
+#if defined(BOOST_MSVC)
+# pragma warning( push )
+# pragma warning( disable : 4793 ) // complaint about native code generation
+# pragma warning( disable : 4127 ) // "conditional expression is constant"
+#endif
+
+// Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
+#ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE
+// Embedded VC++ does not have type_info in namespace std
+# define BOOST_FUNCTION_STD_NS
+#else
+# define BOOST_FUNCTION_STD_NS std
+#endif
+
// Borrowed from Boost.Python library: determines the cases where we
// need to use std::type_info::name to compare instead of operator==.
# if (defined(__GNUC__) && __GNUC__ >= 3) \
@@ -59,7 +74,7 @@ namespace boost { namespace python { namespace objects
#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|| defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \
- || !(BOOST_STRICT_CONFIG || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
+ || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
# define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
#endif
@@ -198,8 +213,8 @@ namespace boost {
struct reference_manager
{
static inline void
- get(const function_buffer& in_buffer, function_buffer& out_buffer,
- functor_manager_operation_type op)
+ manage(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op)
{
switch (op) {
case clone_functor_tag:
@@ -215,8 +230,8 @@ namespace boost {
// DPG TBD: Since we're only storing a pointer, it's
// possible that the user could ask for a base class or
// derived class. Is that okay?
- const std::type_info& check_type =
- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(F)))
out_buffer.obj_ptr = in_buffer.obj_ptr;
else
@@ -265,8 +280,8 @@ namespace boost {
else if (op == destroy_functor_tag)
out_buffer.func_ptr = 0;
else /* op == check_functor_type_tag */ {
- const std::type_info& check_type =
- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
out_buffer.obj_ptr = &in_buffer.func_ptr;
else
@@ -287,8 +302,8 @@ namespace boost {
// Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor();
} else /* op == check_functor_type_tag */ {
- const std::type_info& check_type =
- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
out_buffer.obj_ptr = &in_buffer.data;
else
@@ -348,8 +363,8 @@ namespace boost {
# endif // BOOST_NO_STD_ALLOCATOR
out_buffer.obj_ptr = 0;
} else /* op == check_functor_type_tag */ {
- const std::type_info& check_type =
- *static_cast<const std::type_info*>(out_buffer.const_obj_ptr);
+ const BOOST_FUNCTION_STD_NS::type_info& check_type =
+ *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(out_buffer.const_obj_ptr);
if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, typeid(Functor)))
out_buffer.obj_ptr = in_buffer.obj_ptr;
else
@@ -368,6 +383,15 @@ namespace boost {
mpl::bool_<(function_allows_small_object_optimization<functor_type>::value)>());
}
+ // For member pointers, we treat them as function objects with
+ // the small-object optimization always enabled.
+ static inline void
+ manager(const function_buffer& in_buffer, function_buffer& out_buffer,
+ functor_manager_operation_type op, member_ptr_tag)
+ {
+ manager(in_buffer, out_buffer, op, mpl::true_());
+ }
+
public:
/* Dispatch to an appropriate manager based on whether we have a
function pointer or a function object pointer. */
@@ -456,7 +480,6 @@ namespace boost {
*/
struct vtable_base
{
- vtable_base() : manager(0) { }
void (*manager)(const function_buffer& in_buffer,
function_buffer& out_buffer,
functor_manager_operation_type op);
@@ -480,13 +503,13 @@ class function_base (public)
/** Retrieve the type of the stored function object, or typeid(void)
if this is empty. */
- const std::type_info& target_type() const
+ const BOOST_FUNCTION_STD_NS::type_info& target_type() const
{
if (!vtable) return typeid(void);
detail::function::function_buffer type;
vtable->manager(functor, type, detail::function::get_functor_type_tag);
- return *static_cast<const std::type_info*>(type.const_obj_ptr);
+ return *static_cast<const BOOST_FUNCTION_STD_NS::type_info*>(type.const_obj_ptr);
}
template<typename Functor>
@@ -558,7 +581,7 @@ class function_base (public)
#endif
public: // should be protected, but GCC 2.95.3 will fail to allow access
- detail::function::vtable_base* vtable;
+ const detail::function::vtable_base* vtable;
mutable detail::function::function_buffer functor;
};
@@ -732,5 +755,9 @@ namespace detail {
#undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL
#undef BOOST_FUNCTION_COMPARE_TYPE_ID
+
+#if defined(BOOST_MSVC)
+# pragma warning( pop )
+#endif
#endif // BOOST_FUNCTION_BASE_HEADER

View File

@ -1,551 +0,0 @@
$OpenBSD: patch-boost_function_function_template_hpp,v 1.1 2008/04/03 07:44:40 bernd Exp $
--- boost/function/function_template.hpp.orig Wed Jan 9 06:44:37 2008
+++ boost/function/function_template.hpp Wed Jan 9 06:45:08 2008
@@ -11,6 +11,11 @@
// protection.
#include <boost/function/detail/prologue.hpp>
+#if defined(BOOST_MSVC)
+# pragma warning( push )
+# pragma warning( disable : 4127 ) // "conditional expression is constant"
+#endif
+
#define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
#define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
@@ -54,12 +59,20 @@
BOOST_JOIN(function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
#define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \
BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
+#define BOOST_FUNCTION_MEMBER_INVOKER \
+ BOOST_JOIN(member_invoker,BOOST_FUNCTION_NUM_ARGS)
+#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \
+ BOOST_JOIN(void_member_invoker,BOOST_FUNCTION_NUM_ARGS)
#define BOOST_FUNCTION_GET_FUNCTION_INVOKER \
BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS)
#define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \
BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS)
#define BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \
BOOST_JOIN(get_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS)
+#define BOOST_FUNCTION_GET_MEMBER_INVOKER \
+ BOOST_JOIN(get_member_invoker,BOOST_FUNCTION_NUM_ARGS)
+#define BOOST_FUNCTION_GET_INVOKER \
+ BOOST_JOIN(get_invoker,BOOST_FUNCTION_NUM_ARGS)
#define BOOST_FUNCTION_VTABLE BOOST_JOIN(basic_vtable,BOOST_FUNCTION_NUM_ARGS)
#ifndef BOOST_NO_VOID_RETURNS
@@ -70,16 +83,6 @@
# define BOOST_FUNCTION_RETURN(X) X; return BOOST_FUNCTION_VOID_RETURN_TYPE ()
#endif
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4127) // conditional expression is constant.
-#endif
-
-#ifdef BOOST_MSVC
-# pragma warning(push)
-# pragma warning(disable: 4127) // conditional expression is constant.
-#endif
-
namespace boost {
namespace detail {
namespace function {
@@ -191,7 +194,45 @@ namespace boost {
}
};
+#if BOOST_FUNCTION_NUM_ARGS > 0
+ /* Handle invocation of member pointers. */
template<
+ typename MemberPtr,
+ typename R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_PARMS
+ >
+ struct BOOST_FUNCTION_MEMBER_INVOKER
+ {
+ static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_PARMS)
+
+ {
+ MemberPtr* f =
+ reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);
+ return boost::mem_fn(*f)(BOOST_FUNCTION_ARGS);
+ }
+ };
+
+ template<
+ typename MemberPtr,
+ typename R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_PARMS
+ >
+ struct BOOST_FUNCTION_VOID_MEMBER_INVOKER
+ {
+ static BOOST_FUNCTION_VOID_RETURN_TYPE
+ invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_PARMS)
+
+ {
+ MemberPtr* f =
+ reinterpret_cast<MemberPtr*>(&function_obj_ptr.data);
+ BOOST_FUNCTION_RETURN(boost::mem_fn(*f)(BOOST_FUNCTION_ARGS));
+ }
+ };
+#endif
+
+ template<
typename FunctionPtr,
typename R BOOST_FUNCTION_COMMA
BOOST_FUNCTION_TEMPLATE_PARMS
@@ -254,12 +295,130 @@ namespace boost {
>::type type;
};
+#if BOOST_FUNCTION_NUM_ARGS > 0
+ /* Retrieve the appropriate invoker for a member pointer. */
+ template<
+ typename MemberPtr,
+ typename R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_PARMS
+ >
+ struct BOOST_FUNCTION_GET_MEMBER_INVOKER
+ {
+ typedef typename mpl::if_c<(is_void<R>::value),
+ BOOST_FUNCTION_VOID_MEMBER_INVOKER<
+ MemberPtr,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >,
+ BOOST_FUNCTION_MEMBER_INVOKER<
+ MemberPtr,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >
+ >::type type;
+ };
+#endif
+
+ /* Given the tag returned by get_function_tag, retrieve the
+ actual invoker that will be used for the given function
+ object.
+
+ Each specialization contains an "apply" nested class template
+ that accepts the function object, return type, function
+ argument types, and allocator. The resulting "apply" class
+ contains two typedefs, "invoker_type" and "manager_type",
+ which correspond to the invoker and manager types. */
+ template<typename Tag>
+ struct BOOST_FUNCTION_GET_INVOKER { };
+
+ /* Retrieve the invoker for a function pointer. */
+ template<>
+ struct BOOST_FUNCTION_GET_INVOKER<function_ptr_tag>
+ {
+ template<typename FunctionPtr,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+ typename Allocator>
+ struct apply
+ {
+ typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
+ FunctionPtr,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ invoker_type;
+
+ typedef functor_manager<FunctionPtr, Allocator> manager_type;
+ };
+ };
+
+#if BOOST_FUNCTION_NUM_ARGS > 0
+ /* Retrieve the invoker for a member pointer. */
+ template<>
+ struct BOOST_FUNCTION_GET_INVOKER<member_ptr_tag>
+ {
+ template<typename MemberPtr,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+ typename Allocator>
+ struct apply
+ {
+ typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER<
+ MemberPtr,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ invoker_type;
+
+ typedef functor_manager<MemberPtr, Allocator> manager_type;
+ };
+ };
+#endif
+
+ /* Retrieve the invoker for a function object. */
+ template<>
+ struct BOOST_FUNCTION_GET_INVOKER<function_obj_tag>
+ {
+ template<typename FunctionObj,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+ typename Allocator>
+ struct apply
+ {
+ typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
+ FunctionObj,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ invoker_type;
+
+ typedef functor_manager<FunctionObj, Allocator> manager_type;
+ };
+ };
+
+ /* Retrieve the invoker for a reference to a function object. */
+ template<>
+ struct BOOST_FUNCTION_GET_INVOKER<function_obj_ref_tag>
+ {
+ template<typename RefWrapper,
+ typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
+ typename Allocator>
+ struct apply
+ {
+ typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
+ typename RefWrapper::type,
+ R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS
+ >::type
+ invoker_type;
+
+ typedef reference_manager<typename RefWrapper::type> manager_type;
+ };
+ };
+
/**
* vtable for a specific boost::function instance.
*/
template<typename R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_PARMS,
typename Allocator>
- struct BOOST_FUNCTION_VTABLE : vtable_base
+ struct BOOST_FUNCTION_VTABLE
{
#ifndef BOOST_NO_VOID_RETURNS
typedef R result_type;
@@ -272,50 +431,25 @@ namespace boost {
BOOST_FUNCTION_TEMPLATE_ARGS);
template<typename F>
- BOOST_FUNCTION_VTABLE(F f) : vtable_base(), invoker(0)
+ bool assign_to(const F& f, function_buffer& functor) const
{
- init(f);
- }
-
- template<typename F>
- bool assign_to(F f, function_buffer& functor)
- {
typedef typename get_function_tag<F>::type tag;
return assign_to(f, functor, tag());
}
- void clear(function_buffer& functor)
+ void clear(function_buffer& functor) const
{
- if (manager)
- manager(functor, functor, destroy_functor_tag);
+ if (base.manager)
+ base.manager(functor, functor, destroy_functor_tag);
}
-
+#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE
private:
- template<typename F>
- void init(F f)
- {
- typedef typename get_function_tag<F>::type tag;
- init(f, tag());
- }
-
+#endif
// Function pointers
template<typename FunctionPtr>
- void init(FunctionPtr /*f*/, function_ptr_tag)
- {
- typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER<
- FunctionPtr,
- R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS
- >::type
- actual_invoker_type;
-
- invoker = &actual_invoker_type::invoke;
- manager = &functor_manager<FunctionPtr, Allocator>::manage;
- }
-
- template<typename FunctionPtr>
bool
- assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag)
+ assign_to(FunctionPtr f, function_buffer& functor,
+ function_ptr_tag) const
{
this->clear(functor);
if (f) {
@@ -331,22 +465,13 @@ namespace boost {
// Member pointers
#if BOOST_FUNCTION_NUM_ARGS > 0
template<typename MemberPtr>
- void init(MemberPtr f, member_ptr_tag)
+ bool
+ assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) const
{
- // DPG TBD: Add explicit support for member function
- // objects, so we invoke through mem_fn() but we retain the
- // right target_type() values.
- this->init(mem_fn(f));
- }
-
- template<typename MemberPtr>
- bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag)
- {
- // DPG TBD: Add explicit support for member function
- // objects, so we invoke through mem_fn() but we retain the
- // right target_type() values.
if (f) {
- this->assign_to(mem_fn(f), functor);
+ // Always use the small-object optimization for member
+ // pointers.
+ assign_functor(f, functor, mpl::true_());
return true;
} else {
return false;
@@ -355,24 +480,11 @@ namespace boost {
#endif // BOOST_FUNCTION_NUM_ARGS > 0
// Function objects
- template<typename FunctionObj>
- void init(FunctionObj /*f*/, function_obj_tag)
- {
- typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER<
- FunctionObj,
- R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS
- >::type
- actual_invoker_type;
-
- invoker = &actual_invoker_type::invoke;
- manager = &functor_manager<FunctionObj, Allocator>::manage;
- }
-
// Assign to a function object using the small object optimization
template<typename FunctionObj>
void
- assign_functor(FunctionObj f, function_buffer& functor, mpl::true_)
+ assign_functor(const FunctionObj& f, function_buffer& functor,
+ mpl::true_) const
{
new ((void*)&functor.data) FunctionObj(f);
}
@@ -380,7 +492,8 @@ namespace boost {
// Assign to a function object allocated on the heap.
template<typename FunctionObj>
void
- assign_functor(FunctionObj f, function_buffer& functor, mpl::false_)
+ assign_functor(const FunctionObj& f, function_buffer& functor,
+ mpl::false_) const
{
#ifndef BOOST_NO_STD_ALLOCATOR
typedef typename Allocator::template rebind<FunctionObj>::other
@@ -400,7 +513,8 @@ namespace boost {
template<typename FunctionObj>
bool
- assign_to(FunctionObj f, function_buffer& functor, function_obj_tag)
+ assign_to(const FunctionObj& f, function_buffer& functor,
+ function_obj_tag) const
{
if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
assign_functor(f, functor,
@@ -413,24 +527,9 @@ namespace boost {
// Reference to a function object
template<typename FunctionObj>
- void
- init(const reference_wrapper<FunctionObj>& /*f*/, function_obj_ref_tag)
- {
- typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER<
- FunctionObj,
- R BOOST_FUNCTION_COMMA
- BOOST_FUNCTION_TEMPLATE_ARGS
- >::type
- actual_invoker_type;
-
- invoker = &actual_invoker_type::invoke;
- manager = &reference_manager<FunctionObj>::get;
- }
-
- template<typename FunctionObj>
bool
assign_to(const reference_wrapper<FunctionObj>& f,
- function_buffer& functor, function_obj_ref_tag)
+ function_buffer& functor, function_obj_ref_tag) const
{
if (!boost::detail::function::has_empty_target(f.get_pointer())) {
// DPG TBD: We might need to detect constness of
@@ -445,6 +544,7 @@ namespace boost {
}
public:
+ vtable_base base;
invoker_type invoker;
};
} // end namespace function
@@ -456,6 +556,17 @@ namespace boost {
typename Allocator = BOOST_FUNCTION_DEFAULT_ALLOCATOR
>
class BOOST_FUNCTION_FUNCTION : public function_base
+
+#if BOOST_FUNCTION_NUM_ARGS == 1
+
+ , public std::unary_function<T0,R>
+
+#elif BOOST_FUNCTION_NUM_ARGS == 2
+
+ , public std::binary_function<T0,T1,R>
+
+#endif
+
{
public:
#ifndef BOOST_NO_VOID_RETURNS
@@ -537,7 +648,7 @@ namespace boost {
if (this->empty())
boost::throw_exception(bad_function_call());
- return static_cast<vtable_type*>(vtable)->invoker
+ return reinterpret_cast<const vtable_type*>(vtable)->invoker
(this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
}
#else
@@ -561,12 +672,16 @@ namespace boost {
operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f)
{
this->clear();
+#ifndef BOOST_NO_EXCEPTIONS
try {
this->assign_to(f);
} catch (...) {
vtable = 0;
throw;
}
+#else
+ this->assign_to(f);
+#endif
return *this;
}
@@ -592,12 +707,16 @@ namespace boost {
return *this;
this->clear();
+#ifndef BOOST_NO_EXCEPTIONS
try {
this->assign_to_own(f);
} catch (...) {
vtable = 0;
throw;
}
+#else
+ this->assign_to_own(f);
+#endif
return *this;
}
@@ -615,7 +734,7 @@ namespace boost {
void clear()
{
if (vtable) {
- static_cast<vtable_type*>(vtable)->clear(this->functor);
+ reinterpret_cast<const vtable_type*>(vtable)->clear(this->functor);
vtable = 0;
}
}
@@ -650,10 +769,24 @@ namespace boost {
}
template<typename Functor>
- void assign_to(Functor f)
+ void assign_to(const Functor& f)
{
- static vtable_type stored_vtable(f);
- if (stored_vtable.assign_to(f, functor)) vtable = &stored_vtable;
+ using detail::function::vtable_base;
+
+ typedef typename detail::function::get_function_tag<Functor>::type tag;
+ typedef detail::function::BOOST_FUNCTION_GET_INVOKER<tag> get_invoker;
+ typedef typename get_invoker::
+ template apply<Functor, R BOOST_FUNCTION_COMMA
+ BOOST_FUNCTION_TEMPLATE_ARGS, Allocator>
+ handler_type;
+
+ typedef typename handler_type::invoker_type invoker_type;
+ typedef typename handler_type::manager_type manager_type;
+
+ static const vtable_type stored_vtable =
+ { { &manager_type::manage }, &invoker_type::invoke };
+
+ if (stored_vtable.assign_to(f, functor)) vtable = &stored_vtable.base;
else vtable = 0;
}
};
@@ -688,7 +821,7 @@ namespace boost {
if (this->empty())
boost::throw_exception(bad_function_call());
- return static_cast<vtable_type*>(vtable)->invoker
+ return reinterpret_cast<const vtable_type*>(vtable)->invoker
(this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS);
}
#endif
@@ -798,21 +931,14 @@ class function<BOOST_FUNCTION_PARTIAL_SPEC, Allocator>
}
};
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
#undef BOOST_FUNCTION_PARTIAL_SPEC
#endif // have partial specialization
} // end namespace boost
-#ifdef BOOST_MSVC
-# pragma warning(pop)
-#endif
-
// Cleanup after ourselves...
#undef BOOST_FUNCTION_VTABLE
+#undef BOOST_FUNCTION_GET_INVOKER
#undef BOOST_FUNCTION_DEFAULT_ALLOCATOR
#undef BOOST_FUNCTION_COMMA
#undef BOOST_FUNCTION_FUNCTION
@@ -822,10 +948,12 @@ class function<BOOST_FUNCTION_PARTIAL_SPEC, Allocator>
#undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER
#undef BOOST_FUNCTION_FUNCTION_REF_INVOKER
#undef BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER
+#undef BOOST_FUNCTION_MEMBER_INVOKER
+#undef BOOST_FUNCTION_VOID_MEMBER_INVOKER
#undef BOOST_FUNCTION_GET_FUNCTION_INVOKER
#undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER
#undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER
-#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER
+#undef BOOST_FUNCTION_GET_MEMBER_INVOKER
#undef BOOST_FUNCTION_TEMPLATE_PARMS
#undef BOOST_FUNCTION_TEMPLATE_ARGS
#undef BOOST_FUNCTION_PARMS
@@ -835,3 +963,7 @@ class function<BOOST_FUNCTION_PARTIAL_SPEC, Allocator>
#undef BOOST_FUNCTION_ARG_TYPES
#undef BOOST_FUNCTION_VOID_RETURN_TYPE
#undef BOOST_FUNCTION_RETURN
+
+#if defined(BOOST_MSVC)
+# pragma warning( pop )
+#endif

View File

@ -1,12 +1,12 @@
$OpenBSD: patch-boost_regex_config_hpp,v 1.1 2008/04/03 07:44:40 bernd Exp $
--- boost/regex/config.hpp.orig Wed Mar 26 19:36:57 2008
+++ boost/regex/config.hpp Wed Mar 26 19:37:27 2008
$OpenBSD: patch-boost_regex_config_hpp,v 1.2 2010/03/30 11:00:15 robert Exp $
--- boost/regex/config.hpp.orig Sat Dec 26 15:48:19 2009
+++ boost/regex/config.hpp Sat Dec 26 15:48:34 2009
@@ -75,7 +75,7 @@
* std::use_facet<std::ctype<wchar_t> >.is(std::ctype_base::lower|std::ctype_base::upper, L'a');
* returns *false*.
*/
-#ifdef __GLIBCPP__
+#if defined(__GLIBCPP__) || defined (__OpenBSD__)
+#if defined(__GLIBCPP__) && !defined(__OpenBSD__)
# define BOOST_REGEX_BUGGY_CTYPE_FACET
#endif

View File

@ -1,35 +0,0 @@
$OpenBSD: patch-boost_regex_v4_basic_regex_parser_hpp,v 1.1 2008/05/27 00:52:01 deanna Exp $
--- boost/regex/v4/basic_regex_parser.hpp.orig Wed Dec 20 12:19:05 2006
+++ boost/regex/v4/basic_regex_parser.hpp Sun May 25 21:59:07 2008
@@ -777,6 +777,7 @@ bool basic_regex_parser<charT, traits>::parse_repeat(s
case syntax_element_restart_continue:
case syntax_element_jump:
case syntax_element_startmark:
+ case syntax_element_backstep:
// can't legally repeat any of the above:
fail(regex_constants::error_badrepeat, m_position - m_base);
return false;
@@ -1862,6 +1863,7 @@ bool basic_regex_parser<charT, traits>::parse_perl_ext
if(markid == -4)
{
re_syntax_base* b = this->getaddress(expected_alt_point);
+ // Make sure we have exactly one alternative following this state:
if(b->type != syntax_element_alt)
{
re_alt* alt = static_cast<re_alt*>(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt)));
@@ -1870,6 +1872,15 @@ bool basic_regex_parser<charT, traits>::parse_perl_ext
else if(this->getaddress(static_cast<re_alt*>(b)->alt.i, b)->type == syntax_element_alt)
{
fail(regex_constants::error_bad_pattern, m_position - m_base);
+ return false;
+ }
+ // check for invalid repetition of next state:
+ b = this->getaddress(expected_alt_point);
+ b = this->getaddress(static_cast<re_alt*>(b)->next.i, b);
+ if((b->type != syntax_element_assert_backref)
+ && (b->type != syntax_element_startmark))
+ {
+ fail(regex_constants::error_badrepeat, m_position - m_base);
return false;
}
}

View File

@ -1,20 +0,0 @@
$OpenBSD: patch-configure,v 1.2 2008/04/03 07:44:40 bernd Exp $
--- configure.orig Thu May 10 01:09:39 2007
+++ configure Wed Jan 9 08:01:33 2008
@@ -9,7 +9,6 @@
BJAM=""
TOOLSET=""
-BJAM_CONFIG=""
BUILD=""
PREFIX=/usr/local
EPREFIX=
@@ -326,7 +325,7 @@ LIBS=$LIBS
all: .dummy
@echo "\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS)"
- @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) || \\
+ @\$(BJAM) \$(BJAM_CONFIG) --user-config=user-config.jam \$(LIBS) stage || \\
echo "Not all Boost libraries built properly."
clean: .dummy

View File

@ -1,29 +0,0 @@
$OpenBSD: patch-libs_config_configure,v 1.2 2008/01/06 00:01:15 deanna Exp $
--- libs/config/configure.orig Thu Nov 3 06:23:34 2005
+++ libs/config/configure Mon Dec 31 02:29:05 2007
@@ -1955,13 +1955,13 @@ fi
-echo "$as_me:$LINENO: checking for pthread_exit in -lpthread" >&5
-echo $ECHO_N "checking for pthread_exit in -lpthread... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for pthread_exit in -pthread" >&5
+echo $ECHO_N "checking for pthread_exit in -pthread... $ECHO_C" >&6
if test "${ac_cv_lib_pthread_pthread_exit+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthread $LIBS"
+LIBS="-pthread $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -2024,7 +2024,7 @@ if test $ac_cv_lib_pthread_pthread_exit = yes; then
#define HAVE_LIBPTHREAD 1
_ACEOF
- LIBS="-lpthread $LIBS"
+ LIBS="-pthread $LIBS"
fi

View File

@ -1,11 +1,10 @@
$OpenBSD: patch-libs_config_test_boost_has_clock_gettime_ipp,v 1.1.1.1 2006/11/05 19:20:43 wilfried Exp $
--- libs/config/test/boost_has_clock_gettime.ipp.orig Tue Oct 14 12:33:07 2003
+++ libs/config/test/boost_has_clock_gettime.ipp Thu Oct 26 19:35:48 2006
@@ -9,7 +9,7 @@
// TITLE: clock_gettime
$OpenBSD: patch-libs_config_test_boost_has_clock_gettime_ipp,v 1.2 2010/03/30 11:00:15 robert Exp $
--- libs/config/test/boost_has_clock_gettime.ipp.orig Tue May 12 18:35:20 2009
+++ libs/config/test/boost_has_clock_gettime.ipp Tue May 12 18:35:43 2009
@@ -10,6 +10,7 @@
// DESCRIPTION: The platform supports POSIX standard API clock_gettime.
-#include <time.h>
#include <time.h>
+#include <sys/time.h>

View File

@ -1,6 +1,6 @@
$OpenBSD: patch-libs_config_test_boost_has_pthread_yield_ipp,v 1.1.1.1 2006/11/05 19:20:43 wilfried Exp $
--- libs/config/test/boost_has_pthread_yield.ipp.orig Tue Oct 14 12:33:07 2003
+++ libs/config/test/boost_has_pthread_yield.ipp Thu Oct 26 19:39:07 2006
$OpenBSD: patch-libs_config_test_boost_has_pthread_yield_ipp,v 1.2 2010/03/30 11:00:15 robert Exp $
--- libs/config/test/boost_has_pthread_yield.ipp.orig Tue May 12 18:36:21 2009
+++ libs/config/test/boost_has_pthread_yield.ipp Tue May 12 18:36:56 2009
@@ -17,7 +17,7 @@ namespace boost_has_pthread_yield{
void f()
{

View File

@ -1,12 +1,12 @@
$OpenBSD: patch-libs_random_random_device_cpp,v 1.1 2008/04/06 17:57:43 deanna Exp $
--- libs/random/random_device.cpp.orig Sat Apr 5 13:36:41 2008
+++ libs/random/random_device.cpp Sat Apr 5 13:38:10 2008
$OpenBSD: patch-libs_random_random_device_cpp,v 1.2 2010/03/30 11:00:15 robert Exp $
--- libs/random/random_device.cpp.orig Tue May 12 18:37:39 2009
+++ libs/random/random_device.cpp Tue May 12 18:38:44 2009
@@ -22,7 +22,7 @@ const boost::random_device::result_type boost::random_
#endif
-#ifdef __linux__
+#if defined(__linux__) || defined(__OpenBSD__)
-#if defined(__linux__) || defined (__FreeBSD__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)
// the default is the unlimited capacity device, using some secure hash
// try "/dev/random" for blocking when the entropy pool has drained
@ -14,8 +14,8 @@ $OpenBSD: patch-libs_random_random_device_cpp,v 1.1 2008/04/06 17:57:43 deanna E
int fd;
};
-#endif // __linux__
+#endif // __linux__ || __OpenBSD__
-#endif // __linux__ || __FreeBSD__
+#endif // __linux__ || __FreeBSD__ || __OpenBSD__
boost::random_device::random_device(const std::string& token)

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-libs_regex_src_wc_regex_traits_cpp,v 1.1.1.1 2006/11/05 19:20:43 wilfried Exp $
--- libs/regex/src/wc_regex_traits.cpp.orig Fri Oct 6 09:19:06 2006
+++ libs/regex/src/wc_regex_traits.cpp Fri Oct 6 09:20:06 2006
@@ -29,7 +29,7 @@
$OpenBSD: patch-libs_regex_src_wc_regex_traits_cpp,v 1.2 2010/03/30 11:00:15 robert Exp $
--- libs/regex/src/wc_regex_traits.cpp.orig Mon Aug 3 14:00:07 2009
+++ libs/regex/src/wc_regex_traits.cpp Thu Dec 24 14:11:11 2009
@@ -77,9 +77,12 @@ template BOOST_REGEX_STDLIB_DECL bool __cdecl operator
#include <boost/regex/v4/primary_transform.hpp>
#include <boost/regex/v4/regex_traits_defaults.hpp>
@ -9,4 +9,9 @@ $OpenBSD: patch-libs_regex_src_wc_regex_traits_cpp,v 1.1.1.1 2006/11/05 19:20:43
+#if defined(BOOST_NO_STDC_NAMESPACE) || defined(__OpenBSD__)
namespace std{
using ::wcstol;
+ using ::iswspace; using ::iswprint; using ::iswcntrl;
+ using ::iswupper; using ::iswlower; using ::iswalpha;
+ using ::iswdigit; using ::iswpunct; using ::iswxdigit;
}
#endif

View File

@ -1,21 +0,0 @@
$OpenBSD: patch-libs_regex_test_regress_test_perl_ex_cpp,v 1.1 2008/05/27 00:52:01 deanna Exp $
--- libs/regex/test/regress/test_perl_ex.cpp.orig Wed Sep 14 08:20:08 2005
+++ libs/regex/test/regress/test_perl_ex.cpp Sun May 25 21:59:48 2008
@@ -121,6 +121,17 @@ void test_conditionals()
TEST_INVALID_REGEX("(?:(a)|b)(?(?:", perl);
TEST_INVALID_REGEX("(?:(a)|b)(?(?<", perl);
TEST_INVALID_REGEX("(?:(a)|b)(?(?<a", perl);
+
+ TEST_INVALID_REGEX("(?(?!#?)+)", perl);
+ TEST_INVALID_REGEX("(?(?=:-){0})", perl);
+ TEST_INVALID_REGEX("(?(123){1})", perl);
+ TEST_INVALID_REGEX("(?(?<=A)*)", perl);
+ TEST_INVALID_REGEX("(?(?<=A)+)", perl);
+
+ TEST_INVALID_REGEX("(?<!*|^)", perl);
+ TEST_INVALID_REGEX("(?<!*|A)", perl);
+ TEST_INVALID_REGEX("(?<=?|A)", perl);
+ TEST_INVALID_REGEX("(?<=*|\\B)", perl);
}
void test_options()

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-libs_serialization_build_Jamfile_v2,v 1.1 2008/04/03 07:44:40 bernd Exp $
--- libs/serialization/build/Jamfile.v2.orig Wed Jan 9 23:17:23 2008
+++ libs/serialization/build/Jamfile.v2 Wed Jan 9 23:17:31 2008
@@ -61,10 +61,3 @@ lib boost_serialization
: <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
;
-lib boost_wserialization
- : $(WSOURCES).cpp boost_serialization
- : <toolset>msvc:<cxxflags>/Gy
- <link>shared:<define>BOOST_WSERIALIZATION_DYN_LINK=1
- :
- : <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
- ;

View File

@ -1,15 +0,0 @@
$OpenBSD: patch-libs_serialization_src_stl_port_cpp,v 1.2 2008/01/06 00:01:15 deanna Exp $
--- libs/serialization/src/stl_port.cpp.orig Sat Feb 19 16:08:02 2005
+++ libs/serialization/src/stl_port.cpp Mon Dec 31 02:29:05 2007
@@ -32,11 +32,6 @@ locale::locale(
const locale& __loc, boost::archive::codecvt_null<char> * __f
);
-template
-locale::locale(
- const locale& __loc, boost::archive::codecvt_null<wchar_t> * __f
-);
-
} // namespace std
#endif

View File

@ -1,19 +0,0 @@
$OpenBSD: patch-libs_serialization_test_Jamfile_v2,v 1.1 2008/04/03 07:44:40 bernd Exp $
--- libs/serialization/test/Jamfile.v2.orig Wed Jan 9 21:54:47 2008
+++ libs/serialization/test/Jamfile.v2 Wed Jan 9 21:54:51 2008
@@ -114,7 +114,6 @@ rule run-winvoke ( test-name : sources * : defns * )
: # sources
$(sources)
../build//boost_serialization/<link>static
- ../build//boost_wserialization/<link>static
: # requirements
# FIXME:
@@ -134,7 +133,6 @@ rule run-winvoke ( test-name : sources * : defns * )
: # sources
$(sources)
../build//boost_serialization
- ../build//boost_wserialization
: # requirements
# FIXME
# toolset::require-wide-char-io-support

View File

@ -1,68 +1,56 @@
$OpenBSD: patch-tools_build_v2_tools_gcc_jam,v 1.2 2008/04/06 17:57:43 deanna Exp $
--- tools/build/v2/tools/gcc.jam.orig Tue Jun 12 00:47:49 2007
+++ tools/build/v2/tools/gcc.jam Sat Apr 5 16:10:59 2008
@@ -41,8 +41,10 @@ generators.override gcc.searched-lib-generator : searc
$OpenBSD: patch-tools_build_v2_tools_gcc_jam,v 1.3 2010/03/30 11:00:15 robert Exp $
--- tools/build/v2/tools/gcc.jam.orig Wed Oct 28 08:47:51 2009
+++ tools/build/v2/tools/gcc.jam Sat Dec 26 09:57:06 2009
@@ -269,7 +269,7 @@ class gcc-pch-generator : pch-generator
# Make the "o" suffix used for gcc toolset on all
# platforms
+local so_version = [ modules.peek : SO_VERSION ] ;
type.set-generated-target-suffix OBJ : <toolset>gcc : o ;
type.set-generated-target-suffix STATIC_LIB : <toolset>gcc : a ;
+type.set-generated-target-suffix SHARED_LIB : <toolset>gcc : so.$(so_version) ;
# return result of base class and pch-file property as usage-requirements
return
- [ property-set.create <pch-file>$(pch-file) <cflags>-Winvalid-pch ]
+ [ property-set.create <pch-file>$(pch-file) ]
$(pch-file)
;
}
@@ -299,7 +299,7 @@ toolset.flags gcc.compile PCH_FILE <pch>on : <pch-file
type.set-generated-target-suffix IMPORT_LIB : <toolset>gcc <target-os>cygwin : dll.a ;
type.set-generated-target-suffix IMPORT_LIB : <toolset>gcc <target-os>windows : a ;
@@ -268,7 +270,7 @@ flags gcc.compile PCH_FILE <pch>on : <pch-file> ;
# Declare flags and action for compilation.
toolset.flags gcc.compile OPTIONS <optimization>off : -O0 ;
-toolset.flags gcc.compile OPTIONS <optimization>speed : -O3 ;
+toolset.flags gcc.compile OPTIONS <optimization>speed : -O2 ;
toolset.flags gcc.compile OPTIONS <optimization>space : -Os ;
# Declare flags and action for compilation
flags gcc.compile OPTIONS <optimization>off : -O0 ;
-flags gcc.compile OPTIONS <optimization>speed : -O3 ;
+flags gcc.compile OPTIONS <optimization>speed : -O2 ;
flags gcc.compile OPTIONS <optimization>space : -Os ;
flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
@@ -362,11 +364,13 @@ rule compile.c
toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
@@ -473,11 +473,13 @@ rule compile.c ( targets * : sources * : properties *
actions compile.c++ bind PCH_FILE
{
+ echo "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-128 $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
"$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-128 $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
+ echo "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
"$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
}
actions compile.c bind PCH_FILE
{
+ echo "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
"$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
+ echo "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
"$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
}
@@ -490,12 +494,6 @@ rule init-link-flags ( toolset linker condition )
{
case gnu :
{
- # Strip the binary when no debugging is needed.
- # We use --strip-all flag as opposed to -s since icc
- # (intel's compiler) is generally option-compatible with
- # and inherits from gcc toolset, but does not support -s
- flags $(toolset).link OPTIONS $(condition)/<debug-symbols>off : -Wl,--strip-all
- : unchecked ;
flags $(toolset).link RPATH $(condition) : <dll-path> : unchecked ;
flags $(toolset).link RPATH_LINK $(condition) : <xdll-path> : unchecked ;
flags $(toolset).link START-GROUP $(condition) : -Wl,--start-group : unchecked ;
@@ -565,6 +563,7 @@ rule link ( targets * : sources * : properties * )
@@ -795,6 +797,7 @@ rule link ( targets * : sources * : properties * )
actions link bind LIBRARIES
{
+ echo "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
"$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
+ echo "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
"$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" -Wl,-rpath-link$(SPACE)-Wl,"$(RPATH_LINK)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
}
@@ -855,10 +858,10 @@ rule link.dll ( targets * : sources * : properties * )
JAM_SEMAPHORE on $(targets) = <s>gcc-link-semaphore ;
}
@@ -629,7 +628,8 @@ rule link.dll ( targets * : sources * : properties * )
# Differ from 'link' above only by -shared.
-# Differs from 'link' above only by -shared.
+# Differs from 'link' above only by -shared and -fPIC.
actions link.dll bind LIBRARIES
{
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
+ echo "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared -fPIC $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared -fPIC $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared -fPIC $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
}
# Set up threading support. It's somewhat contrived, so perform it at the end,
rule setup-threading ( targets * : sources * : properties * )

View File

@ -1,11 +0,0 @@
$OpenBSD: patch-tools_build_v2_tools_python_jam,v 1.3 2009/07/27 00:34:24 kurt Exp $
--- tools/build/v2/tools/python.jam.orig Wed Jan 9 03:11:51 2008
+++ tools/build/v2/tools/python.jam Wed Jan 9 03:16:32 2008
@@ -623,6 +623,7 @@ local rule system-library-dependencies ( target-os )
case qnx* : return ;
case darwin : return ;
case windows : return ;
+ case openbsd : return ;
case hpux : return <library>rt ;

View File

@ -1,26 +0,0 @@
@comment $OpenBSD: PFRAG.shared,v 1.5 2008/04/03 07:44:40 bernd Exp $
@lib lib/libboost_date_time-mt.so.${LIBboost_date_time-mt_VERSION}
@lib lib/libboost_date_time.so.${LIBboost_date_time_VERSION}
@lib lib/libboost_filesystem-mt.so.${LIBboost_filesystem-mt_VERSION}
@lib lib/libboost_filesystem.so.${LIBboost_filesystem_VERSION}
@lib lib/libboost_graph-mt.so.${LIBboost_graph-mt_VERSION}
@lib lib/libboost_graph.so.${LIBboost_graph_VERSION}
@lib lib/libboost_iostreams-mt.so.${LIBboost_iostreams-mt_VERSION}
@lib lib/libboost_iostreams.so.${LIBboost_iostreams_VERSION}
@lib lib/libboost_prg_exec_monitor-mt.so.${LIBboost_prg_exec_monitor-mt_VERSION}
@lib lib/libboost_prg_exec_monitor.so.${LIBboost_prg_exec_monitor_VERSION}
@lib lib/libboost_program_options-mt.so.${LIBboost_program_options-mt_VERSION}
@lib lib/libboost_program_options.so.${LIBboost_program_options_VERSION}
@lib lib/libboost_python-mt.so.${LIBboost_python-mt_VERSION}
@lib lib/libboost_python.so.${LIBboost_python_VERSION}
@lib lib/libboost_regex-mt.so.${LIBboost_regex-mt_VERSION}
@lib lib/libboost_regex.so.${LIBboost_regex_VERSION}
@lib lib/libboost_serialization-mt.so.${LIBboost_serialization-mt_VERSION}
@lib lib/libboost_serialization.so.${LIBboost_serialization_VERSION}
@lib lib/libboost_signals-mt.so.${LIBboost_signals-mt_VERSION}
@lib lib/libboost_signals.so.${LIBboost_signals_VERSION}
@lib lib/libboost_thread-mt.so.${LIBboost_thread-mt_VERSION}
@lib lib/libboost_unit_test_framework-mt.so.${LIBboost_unit_test_framework-mt_VERSION}
@lib lib/libboost_unit_test_framework.so.${LIBboost_unit_test_framework_VERSION}
@lib lib/libboost_wave-mt.so.${LIBboost_wave-mt_VERSION}
@lib lib/libboost_wave.so.${LIBboost_wave_VERSION}

File diff suppressed because it is too large Load Diff