Accepting request 527532 from home:adamm:branches:devel:libraries:c_c++

- New upstream version 1.65.1
  + config, fiber - Return a continuation from functions executed
    by resume_with.
  + stacktrace - Change preprocessor file extensions to work with
    the installation system.
- Changes in version 1.65.0
  + stacktrace - new library providing call sequence in human
    readable format.
  + polycollection - new library providing fast containers of
    polymorphic objects, from Joaquín M López Muñoz.
  + For full list of changes, see
    http://www.boost.org/users/history/version_1_65_1.html
- 1d862615.patch: upstreamed and removed
- gcc_path.patch: obsolete, tr1 module is removed
- mpi_upstream.patch: upstreamed and removed
- boost-1.57.0-python-abi_letters.patch: refreshed
- python_library_name.patch: refreshed and reverted upstream
  changes to mpi/build/Jamfile as we are building python2 and
  python3 versions of MPI separately.
- baselibs.conf
  + add libboost_stracktrace
  + update to version 1.65.1

OBS-URL: https://build.opensuse.org/request/show/527532
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=199
This commit is contained in:
Adam Majer 2017-09-21 08:40:33 +00:00 committed by Git OBS Bridge
parent cff41edda1
commit e6f843d58e
10 changed files with 205 additions and 343 deletions

View File

@ -1,19 +0,0 @@
commit 1d86261581230e2dc5d617a9b16287d326f3e229
Author: Robert Ramey <ramey@rrsd.com>
Date: Wed Feb 1 16:43:59 2017 -0800
correct error which appeared when compiling non c++ compliant code for arrays
diff --git a/include/boost/serialization/array.hpp b/include/boost/serialization/array.hpp
index 61708b3..612d1a6 100644
--- a/include/boost/serialization/array.hpp
+++ b/include/boost/serialization/array.hpp
@@ -23,6 +23,8 @@ namespace std{
} // namespace std
#endif
+#include <boost/serialization/array_wrapper.hpp>
+
#ifndef BOOST_NO_CXX11_HDR_ARRAY
#include <array>

View File

@ -1,27 +1,28 @@
boost_1_64-devel
boost_1_65-devel
requires -boost-<targettype>
libboost_atomic1_64_0
libboost_container1_64_0
libboost_context1_64_0
libboost_coroutine1_64_0
libboost_date_time1_64_0
libboost_fiber1_64_0
libboost_filesystem1_64_0
libboost_graph1_64_0
libboost_graph_parallel1_64_0
libboost_iostreams1_64_0
libboost_locale1_64_0
libboost_math1_64_0
libboost_mpi1_64_0
libboost_test1_64_0
libboost_program_options1_64_0
libboost_python-py2_7-1_64_0
libboost_python-py3-1_64_0
libboost_random1_64_0
libboost_serialization1_64_0
libboost_signals1_64_0
libboost_system1_64_0
libboost_thread1_64_0
libboost_type_erasure1_64_0
libboost_wave1_64_0
libboost_regex1_64_0
libboost_atomic1_65_1
libboost_container1_65_1
libboost_context1_65_1
libboost_coroutine1_65_1
libboost_date_time1_65_1
libboost_fiber1_65_1
libboost_filesystem1_65_1
libboost_graph1_65_1
libboost_graph_parallel1_65_1
libboost_iostreams1_65_1
libboost_locale1_65_1
libboost_math1_65_1
libboost_mpi1_65_1
libboost_test1_65_1
libboost_program_options1_65_1
libboost_python-py2_7-1_65_1
libboost_python-py3-1_65_1
libboost_random1_65_1
libboost_serialization1_65_1
libboost_signals1_65_1
libboost_stacktrace1_65_1
libboost_system1_65_1
libboost_thread1_65_1
libboost_type_erasure1_65_1
libboost_wave1_65_1
libboost_regex1_65_1

View File

@ -1,6 +1,8 @@
--- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200
+++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200
@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti
Index: boost_1_65_0/tools/build/src/tools/python.jam
===================================================================
--- boost_1_65_0.orig/tools/build/src/tools/python.jam
+++ boost_1_65_0/tools/build/src/tools/python.jam
@@ -99,7 +99,7 @@ py3-version = ;
# using python : 2.3 : /usr/local/bin/python ;
#
rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
@ -9,7 +11,7 @@
{
project.push-current $(.project) ;
@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ?
@@ -112,7 +112,7 @@ rule init ( version ? : cmd-or-prefix ?
}
}
@ -18,7 +20,7 @@
project.pop-current ;
}
@@ -653,7 +653,7 @@ local rule system-library-dependencies (
@@ -659,7 +659,7 @@ local rule system-library-dependencies (
# Declare a target to represent Python's library.
#
@ -27,7 +29,7 @@
{
# Compute the representation of Python version in the name of Python's
# library file.
@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve
@@ -683,13 +683,13 @@ local rule declare-libpython-target ( ve
}
# Declare it.
@ -43,15 +45,15 @@
{
local prefix ;
local exec-prefix ;
@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o
@@ -705,6 +705,7 @@ local rule configure ( version ? : cmd-o
extension-suffix ?= _d ;
}
extension-suffix ?= "" ;
+ abi-letters ?= "" ;
# Normalize and dissect any version number.
local major-minor ;
@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
local cmds-to-try ;
@@ -968,7 +969,7 @@ local rule configure ( version ? : cmd-o
}
else
{

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Wed Sep 20 11:54:35 UTC 2017 - adam.majer@suse.de
- New upstream version 1.65.1
+ config, fiber - Return a continuation from functions executed
by resume_with.
+ stacktrace - Change preprocessor file extensions to work with
the installation system.
- Changes in version 1.65.0
+ stacktrace - new library providing call sequence in human
readable format.
+ polycollection - new library providing fast containers of
polymorphic objects, from Joaquín M López Muñoz.
+ For full list of changes, see
http://www.boost.org/users/history/version_1_65_1.html
- 1d862615.patch: upstreamed and removed
- gcc_path.patch: obsolete, tr1 module is removed
- mpi_upstream.patch: upstreamed and removed
- boost-1.57.0-python-abi_letters.patch: refreshed
- python_library_name.patch: refreshed and reverted upstream
changes to mpi/build/Jamfile as we are building python2 and
python3 versions of MPI separately.
- baselibs.conf
+ add libboost_stracktrace
+ update to version 1.65.1
-------------------------------------------------------------------
Tue May 9 10:52:38 UTC 2017 - adam.majer@suse.de

View File

@ -16,11 +16,11 @@
#
%define ver 1.64.0
%define file_version 1_64_0
%define ver 1.65.1
%define file_version 1_65_1
%define docs_version 1.56.0
%define short_version 1_56
%define lib_appendix 1_64_0
%define lib_appendix 1_65_1
%bcond_with build_docs
%bcond_without package_pdf
%bcond_without build_quickbook
@ -68,8 +68,8 @@
#%endif
Name: boost
%define package_name boost_1_64
Version: 1.64.0
%define package_name boost_1_65
Version: 1.65.1
Release: 0
Summary: Boost C++ Libraries
License: BSL-1.0
@ -100,11 +100,8 @@ Patch15: boost-1.57.0-python-abi_letters.patch
Patch16: boost-1.55.0-python-test-PyImport_AppendInittab.patch
Patch17: python_mpi.patch
Patch18: dynamic_linking.patch
Patch19: mpi_upstream.patch
Patch20: python_library_name.patch
Patch21: python_numpy_retfunc.patch
Patch22: 1d862615.patch
Patch100: gcc_path.patch
BuildRequires: chrpath
BuildRequires: dos2unix
BuildRequires: fdupes
@ -841,6 +838,27 @@ This package contains development headers for Boost.Signals library.
Boost.Signals is deprecated in favour of Boost.Signals2, a header-only
library and part of libboost_headers-devel.
%package -n libboost_stacktrace%{lib_appendix}
Summary: Boost.Stacktrace runtime library
Group: System/Libraries
Requires: boost-license%{lib_appendix}
%description -n libboost_stacktrace%{lib_appendix}
This package contains the Boost.Stacktrace runtime library.
%package -n libboost_stacktrace%{lib_appendix}-devel
Summary: Development headers for Boost.Stacktrace library
Group: Development/Libraries/C and C++
PreReq: libboost_headers%{lib_appendix}-devel = %{version}
Requires: libboost_stacktrace%{lib_appendix} = %{version}
Provides: libboost_stacktrace-devel = %{version}
Conflicts: otherproviders(libboost_stacktrace-devel)
%description -n libboost_stacktrace%{lib_appendix}-devel
This package contains development headers for Boost.Stacktrace library.
Boost.Stacktrace is a simple C++03 library that provide information
about call sequence in a human-readable form.
%package -n libboost_system%{lib_appendix}
Summary: Boost.System runtime library
Group: System/Libraries
@ -1059,11 +1077,8 @@ find -type f ! \( -name \*.sh -o -name \*.py -o -name \*.pl \) -exec chmod -x {}
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p2
%patch100 -p1
#stupid build machinery copies .orig files
# find . -name \*.orig -exec rm {} +
@ -1084,8 +1099,8 @@ PY_LIBRARIES_FLAGS+=" --with-mpi"
export LIBRARIES_FLAGS="--without-python"
%if ! %{with build_context}
# coroutine/coroutine2 depend on context
LIBRARIES_FLAGS+=" --without-context --without-coroutine --without-coroutine2"
# coroutine depends on context
LIBRARIES_FLAGS+=" --without-context --without-coroutine"
%endif
%if ! %{with boost_fiber}
@ -1152,14 +1167,14 @@ cp user-config.jam user-config-py3.jam
%{?!python3_version: %define python3_version %py3_ver }
cat << EOF >> user-config-py3.jam
using python
using python
: %{python3_version}
: %{_bindir}/python3
: %{_includedir}/python%{python3_version}%{py3_abiflags}
:
:
: .%{py3_soflags}
: %{py3_abiflags}
: .%{py3_soflags}
: %{py3_abiflags}
;
%if %{with build_mpi}
using mpi ;
@ -1346,27 +1361,16 @@ rm -r %{buildroot}%{_includedir}/boost/context
%endif
%post -n libboost_atomic%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_container%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_context%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_coroutine%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_date_time%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_fiber%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_filesystem%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_iostreams%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_log%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_test%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_program_options%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
%if %{with python_numpy}
@ -1375,71 +1379,47 @@ rm -r %{buildroot}%{_includedir}/boost/context
%if %{with python3}
%post -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig
%if %{with python_numpy}
%post -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig
%endif
%endif
%post -n libboost_regex%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_serialization%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_signals%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_thread%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_type_erasure%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_math%{lib_appendix} -p /sbin/ldconfig
%if %{with build_mpi}
%post -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_mpi_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
%if %{with python3}
%post -n libboost_mpi_python-py3-%{lib_appendix} -p /sbin/ldconfig
%endif
%endif
%post -n libboost_graph%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_stacktrace%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_system%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_wave%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_random%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_chrono%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_locale%{lib_appendix} -p /sbin/ldconfig
%post -n libboost_timer%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_atomic%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_container%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_context%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_coroutine%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_date_time%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_fiber%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_filesystem%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_iostreams%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_log%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_test%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_program_options%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
%if %{with python_numpy}
@ -1448,47 +1428,34 @@ rm -r %{buildroot}%{_includedir}/boost/context
%if %{with python3}
%postun -n libboost_python-py3-%{lib_appendix} -p /sbin/ldconfig
%if %{with python_numpy}
%postun -n libboost_numpy-py3-%{lib_appendix} -p /sbin/ldconfig
%endif
%endif
%postun -n libboost_regex%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_serialization%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_signals%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_thread%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_type_erasure%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_math%{lib_appendix} -p /sbin/ldconfig
%if %{with build_mpi}
%postun -n libboost_mpi%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_graph_parallel%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_mpi_python-py2_7-%{lib_appendix} -p /sbin/ldconfig
%if %{with python3}
%postun -n libboost_mpi_python-py3-%{lib_appendix} -p /sbin/ldconfig
%endif
%endif
%postun -n libboost_graph%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_stacktrace%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_system%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_wave%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_random%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_chrono%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_locale%{lib_appendix} -p /sbin/ldconfig
%postun -n libboost_timer%{lib_appendix} -p /sbin/ldconfig
%files -n %{package_name}-jam
@ -1746,6 +1713,18 @@ rm -r %{buildroot}%{_includedir}/boost/context
%defattr(-, root, root, -)
%{_libdir}/libboost_signals.so
%files -n libboost_stacktrace%{lib_appendix}
%defattr(-, root, root, -)
%{_libdir}/libboost_stacktrace_addr2line.so.%{version}
%{_libdir}/libboost_stacktrace_basic.so.%{version}
%{_libdir}/libboost_stacktrace_noop.so.%{version}
%files -n libboost_stacktrace%{lib_appendix}-devel
%defattr(-, root, root, -)
%{_libdir}/libboost_stacktrace_addr2line.so
%{_libdir}/libboost_stacktrace_basic.so
%{_libdir}/libboost_stacktrace_noop.so
%files -n libboost_system%{lib_appendix}
%defattr(-, root, root, -)
%{_libdir}/libboost_system.so.%{version}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332
size 80472424

3
boost_1_65_1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81
size 82594767

View File

@ -1,32 +0,0 @@
Author: Adam Majer <amajer@suse.de>
Date: Mon, 12 Sep 2016 17:12:13 +0200
Summary: Adapt paths for our GCC versions
Bugs: bnc#996917
Boost assumes /usr/include/c++/x.y.z/ existence for GCC 4.x
onward while our version of GCC only has /usr/include/c++/x.y
for 4.x GCC and /usr/include/c++/x/ for 5.x onward.
Index: boost_1_64_0/boost/tr1/detail/config_all.hpp
===================================================================
--- boost_1_64_0.orig/boost/tr1/detail/config_all.hpp
+++ boost_1_64_0/boost/tr1/detail/config_all.hpp
@@ -102,14 +102,12 @@
// compiler version:
# define BOOST_TR1_STD_HEADER(name) <../4.0.0/name>
/*
- * Before version 3.4.0 the 0 patch level was not part of the include path:
+ * SUSE GCC 4.x has 2 level directory and GCC 5.x and 6.x, only __GNUC__
*/
-# elif defined (__GNUC_PATCHLEVEL__) && ((__GNUC_PATCHLEVEL__ > 0) || \
- (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \
- (__GNUC__ > 3))
-# define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__.__GNUC_PATCHLEVEL__/name>
-# else
+# elif __GNUC__ < 5
# define BOOST_TR1_STD_HEADER(name) <../__GNUC__.__GNUC_MINOR__/name>
+# else
+# define BOOST_TR1_STD_HEADER(name) <../__GNUC__/name>
# endif
# endif

View File

@ -1,178 +0,0 @@
commit f5bdcc1ebfe954bb64835f2a0efd94471da42207
Author: Jonathan Wakely <github@kayari.org>
Date: Thu Feb 23 02:18:58 2017 +0000
Replace boost::serialization::detail::get_data function. (#39)
commit 947d17157304ceb93926ab961487e9c86fc7c2d2
Author: Jonathan Wakely <github@kayari.org>
Date: Thu Feb 23 02:19:45 2017 +0000
Add header for serialization::make_array (#40)
commit b21d95676028e45a6743be9898306f13fe715282
Author: Andrey Semashev <Lastique@users.noreply.github.com>
Date: Thu Feb 23 05:17:32 2017 +0300
Fix incorrect usage of auto_ptr to free an array (#38)
The `auto_ptr` would use `delete p` to free an array allocated with `operator new[]`, which could result in heap corruption. Replaced it with `scoped_array`.
commit 98c406a77f8506550276a8e81ad6ed0c961fca8f
Author: Alain Miniussi <alain.miniussi@oca.eu>
Date: Thu Feb 23 11:26:49 2017 +0100
documentation typo
Index: boost_1_64_0/boost/mpi/python/serialize.hpp
===================================================================
--- boost_1_64_0.orig/boost/mpi/python/serialize.hpp
+++ boost_1_64_0/boost/mpi/python/serialize.hpp
@@ -26,7 +26,6 @@
#include <boost/python/str.hpp>
#include <boost/python/extract.hpp>
-#include <memory>
#include <map>
#include <boost/function/function3.hpp>
@@ -36,6 +35,9 @@
#include <boost/serialization/split_free.hpp>
#include <boost/serialization/array.hpp>
+#include <boost/serialization/array_wrapper.hpp>
+
+#include <boost/smart_ptr/scoped_array.hpp>
#include <boost/assert.hpp>
@@ -441,7 +443,7 @@ load_impl(Archiver& ar, boost::python::o
int len;
ar >> len;
- std::auto_ptr<char> string(new char[len]);
+ boost::scoped_array<char> string(new char[len]);
ar >> boost::serialization::make_array(string.get(), len);
boost::python::str py_string(string.get(), len);
obj = boost::python::pickle::loads(py_string);
Index: boost_1_64_0/boost/mpi/detail/mpi_datatype_primitive.hpp
===================================================================
--- boost_1_64_0.orig/boost/mpi/detail/mpi_datatype_primitive.hpp
+++ boost_1_64_0/boost/mpi/detail/mpi_datatype_primitive.hpp
@@ -25,7 +25,6 @@ namespace std{
#include <boost/assert.hpp>
#include <boost/mpl/placeholders.hpp>
#include <boost/serialization/array.hpp>
-#include <boost/serialization/detail/get_data.hpp>
#include <stdexcept>
#include <iostream>
#include <vector>
@@ -80,18 +79,18 @@ public:
BOOST_MPI_CHECK_RESULT(MPI_Type_create_struct,
(
addresses.size(),
- boost::serialization::detail::get_data(lengths),
- boost::serialization::detail::get_data(addresses),
- boost::serialization::detail::get_data(types),
+ get_data(lengths),
+ get_data(addresses),
+ get_data(types),
&datatype_
));
#else
BOOST_MPI_CHECK_RESULT(MPI_Type_struct,
(
addresses.size(),
- boost::serialization::detail::get_data(lengths),
- boost::serialization::detail::get_data(addresses),
- boost::serialization::detail::get_data(types),
+ get_data(lengths),
+ get_data(addresses),
+ get_data(types),
&datatype_
));
#endif
@@ -129,6 +128,12 @@ private:
lengths.push_back(l);
}
+ template <class T>
+ static T* get_data(std::vector<T>& v)
+ {
+ return v.empty() ? 0 : &(v[0]);
+ }
+
std::vector<MPI_Aint> addresses;
std::vector<MPI_Datatype> types;
std::vector<int> lengths;
Index: boost_1_64_0/boost/mpi/detail/packed_iprimitive.hpp
===================================================================
--- boost_1_64_0.orig/boost/mpi/detail/packed_iprimitive.hpp
+++ boost_1_64_0/boost/mpi/detail/packed_iprimitive.hpp
@@ -16,7 +16,6 @@
#include <boost/mpi/exception.hpp>
#include <boost/assert.hpp>
#include <boost/serialization/array.hpp>
-#include <boost/serialization/detail/get_data.hpp>
#include <vector>
#include <boost/mpi/allocator.hpp>
@@ -104,7 +103,12 @@ private:
void load_impl(void * p, MPI_Datatype t, int l)
{
BOOST_MPI_CHECK_RESULT(MPI_Unpack,
- (const_cast<char*>(boost::serialization::detail::get_data(buffer_)), buffer_.size(), &position, p, l, t, comm));
+ (get_data(buffer_), buffer_.size(), &position, p, l, t, comm));
+ }
+
+ static buffer_type::value_type* get_data(buffer_type& b)
+ {
+ return b.empty() ? 0 : &(b[0]);
}
buffer_type & buffer_;
Index: boost_1_64_0/boost/mpi/detail/packed_oprimitive.hpp
===================================================================
--- boost_1_64_0.orig/boost/mpi/detail/packed_oprimitive.hpp
+++ boost_1_64_0/boost/mpi/detail/packed_oprimitive.hpp
@@ -15,7 +15,6 @@
#include <boost/mpi/datatype.hpp>
#include <boost/mpi/exception.hpp>
-#include <boost/serialization/detail/get_data.hpp>
#include <boost/serialization/array.hpp>
#include <boost/assert.hpp>
#include <vector>
@@ -98,13 +97,18 @@ private:
// pack the data into the buffer
BOOST_MPI_CHECK_RESULT(MPI_Pack,
- (const_cast<void*>(p), l, t, boost::serialization::detail::get_data(buffer_), buffer_.size(), &position, comm));
+ (const_cast<void*>(p), l, t, get_data(buffer_), buffer_.size(), &position, comm));
// reduce the buffer size if needed
BOOST_ASSERT(std::size_t(position) <= buffer_.size());
if (std::size_t(position) < buffer_.size())
buffer_.resize(position);
}
+ static buffer_type::value_type* get_data(buffer_type& b)
+ {
+ return b.empty() ? 0 : &(b[0]);
+ }
+
buffer_type& buffer_;
mutable std::size_t size_;
MPI_Comm comm;
Index: boost_1_64_0/boost/mpi/communicator.hpp
===================================================================
--- boost_1_64_0.orig/boost/mpi/communicator.hpp
+++ boost_1_64_0/boost/mpi/communicator.hpp
@@ -850,7 +850,7 @@ class BOOST_MPI_DECL communicator
optional<graph_communicator> as_graph_communicator() const;
/**
- * Determines whether this communicator has a Cartesian topology.
+ * Determines whether this communicator has a Graph topology.
*/
bool has_cartesian_topology() const;

View File

@ -27,10 +27,10 @@ MPI module needs to reference correct python
~ <library>boost_mpi_python
~ <library>boost_mpi
~ <library>/mpi//mpi [ mpi.extra-requirements ]
Index: boost_1_64_0/libs/python/build/Jamfile
Index: boost_1_65_0/libs/python/build/Jamfile
===================================================================
--- boost_1_64_0.orig/libs/python/build/Jamfile
+++ boost_1_64_0/libs/python/build/Jamfile
--- boost_1_65_0.orig/libs/python/build/Jamfile
+++ boost_1_65_0/libs/python/build/Jamfile
@@ -42,15 +42,15 @@ rule cond ( test ? : yes * : no * ) { if
rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
local rule eq ( a : b ) { if $(a) = $(b) { return 1 ; } }
@ -50,9 +50,9 @@ Index: boost_1_64_0/libs/python/build/Jamfile
- lib $(lib_boost_python($(version)))
+ lib boost_python #$(lib_boost_python($(version)))
: # sources
numeric.cpp
list.cpp
@@ -122,16 +122,16 @@ rule lib_boost_python ( version )
long.cpp
@@ -121,16 +121,16 @@ rule lib_boost_python ( version )
;
}
@ -74,7 +74,7 @@ Index: boost_1_64_0/libs/python/build/Jamfile
: # sources
numpy/dtype.cpp
numpy/matrix.cpp
@@ -173,7 +173,7 @@ for local N in 2 3
@@ -172,7 +172,7 @@ for local N in 2 3
}
else
{
@ -83,7 +83,7 @@ Index: boost_1_64_0/libs/python/build/Jamfile
}
if $(py$(N)-version) && [ python.numpy ]
{
@@ -182,7 +182,7 @@ for local N in 2 3
@@ -181,7 +181,7 @@ for local N in 2 3
}
else
{
@ -92,3 +92,85 @@ Index: boost_1_64_0/libs/python/build/Jamfile
}
}
Index: boost_1_65_0/libs/mpi/build/Jamfile.v2
===================================================================
--- boost_1_65_0.orig/libs/mpi/build/Jamfile.v2
+++ boost_1_65_0/libs/mpi/build/Jamfile.v2
@@ -58,33 +58,13 @@ libraries += boost_mpi ;
if [ python.configured ]
{
- py2-version = [ py-version 2 ] ;
- py3-version = [ py-version 3 ] ;
-
- # These library names are synchronized with those defined by Boost.Python, see libs/python/build/Jamfile.
- lib_boost_python(2) = boost_python ;
- lib_boost_python(3) = boost_python3 ;
-
- lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ;
- lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ;
-
- lib_boost_mpi_python(2) = boost_mpi_python ;
- lib_boost_mpi_python(3) = boost_mpi_python3 ;
-
- lib_boost_mpi_python($(py2-version)) = $(lib_boost_mpi_python(2)) ;
- lib_boost_mpi_python($(py3-version)) = $(lib_boost_mpi_python(3)) ;
-
- for local N in 2 3
- {
- if $(py$(N)-version)
- {
- lib $(lib_boost_mpi_python($(py$(N)-version)))
+ lib boost_mpi_python
: # Sources
python/serialize.cpp
: # Requirements
<library>boost_mpi
<library>/mpi//mpi [ mpi.extra-requirements ]
- <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
+ <library>/boost/python//boost_python
<link>shared:<define>BOOST_MPI_DYN_LINK=1
<link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
<link>shared:<define>BOOST_PYTHON_DYN_LINK=1
@@ -92,12 +72,12 @@ libraries += boost_mpi ;
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
- <python>$(py$(N)-version)
: # Default build
<link>shared
: # Usage requirements
<library>/mpi//mpi [ mpi.extra-requirements ]
;
+ libraries += boost_mpi_python ;
python-extension mpi
: # Sources
@@ -114,8 +94,8 @@ libraries += boost_mpi ;
python/status.cpp
python/py_timer.cpp
: # Requirements
- <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
- <library>$(lib_boost_mpi_python($(py$(N)-version)))
+ <library>/boost/python//boost_python
+ <library>boost_mpi_python
<library>boost_mpi
<library>/mpi//mpi [ mpi.extra-requirements ]
<link>shared:<define>BOOST_MPI_DYN_LINK=1
@@ -123,16 +103,7 @@ libraries += boost_mpi ;
<link>shared:<define>BOOST_PYTHON_DYN_LINK=1
<link>shared <runtime-link>shared
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
- <python>$(py$(N)-version)
;
-
- libraries += $(lib_boost_mpi_python($(py$(N)-version))) ;
- }
- else
- {
- alias $(lib_boost_mpi_python($(N))) ;
- }
- }
}
}
else if ! ( --without-mpi in [ modules.peek : ARGV ] )