This commit is contained in:
Alexander Stefanov 2020-02-29 15:31:49 +00:00
parent 904d3827c3
commit 6471ea6f4b
14 changed files with 864 additions and 943 deletions

View file

@ -1,2 +1,2 @@
sources:
boost_1_61_0.tar.bz2: f84b1a1ce764108ec3c2b7bd7704cf8dfd3c9d01
boost_1_72_0.tar.bz2: 88866e4075e12255e7a7189d0b8a686e0b1ee9c1

View file

@ -0,0 +1,70 @@
From 1ca8df632c4a6be88f3e84f037bd65399bfcd1b4 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Mon, 8 Apr 2019 14:53:54 +0200
Subject: [PATCH] Add detection of RISC-V from __riscv
---
include/boost/predef/architecture.h | 1 +
include/boost/predef/architecture/riscv.h | 41 +++++++++++++++++++++++
2 files changed, 42 insertions(+)
create mode 100644 include/boost/predef/architecture/riscv.h
diff --git a/boost/predef/architecture.h b/boost/predef/architecture.h
index 120d557..732d6f0 100644
--- a/boost/predef/architecture.h
+++ b/boost/predef/architecture.h
@@ -21,6 +21,7 @@ Distributed under the Boost Software License, Version 1.0.
#include <boost/predef/architecture/ppc.h>
#include <boost/predef/architecture/ptx.h>
#include <boost/predef/architecture/pyramid.h>
+#include <boost/predef/architecture/riscv.h>
#include <boost/predef/architecture/rs6k.h>
#include <boost/predef/architecture/sparc.h>
#include <boost/predef/architecture/superh.h>
diff --git a/boost/predef/architecture/riscv.h b/boost/predef/architecture/riscv.h
new file mode 100644
index 0000000..5ff2c3b
--- /dev/null
+++ b/boost/predef/architecture/riscv.h
@@ -0,0 +1,41 @@
+/*
+Distributed under 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)
+*/
+
+#ifndef BOOST_PREDEF_ARCHITECTURE_RISCV_H
+#define BOOST_PREDEF_ARCHITECTURE_RISCV_H
+
+#include <boost/predef/version_number.h>
+#include <boost/predef/make.h>
+
+/*`
+[heading `BOOST_ARCH_RISCV`]
+
+[@http://en.wikipedia.org/wiki/RISC-V] architecture.
+
+[table
+ [[__predef_symbol__] [__predef_version__]]
+
+ [[`__riscv`] [__predef_detection__]]
+ ]
+ */
+
+#define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_NOT_AVAILABLE
+
+#if defined(__riscv)
+# undef BOOST_ARCH_RISCV
+# define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_AVAILABLE
+#endif
+
+#if BOOST_ARCH_RISCV
+# define BOOST_ARCH_RISCV_AVAILABLE
+#endif
+
+#define BOOST_ARCH_RISCV_NAME "RISC-V"
+
+#endif
+
+#include <boost/predef/detail/test.h>
+BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_RISCV,BOOST_ARCH_RISCV_NAME)

View file

@ -0,0 +1,48 @@
From 6a4d2ff72114ef47c7afaf92e1042aca3dfa41b0 Mon Sep 17 00:00:00 2001
From: Klemens David Morgenstern <klemens.morgenstern@gmx.net>
Date: Fri, 22 Nov 2019 14:03:22 +0800
Subject: [PATCH] added typedef executor_type;
---
include/boost/process/async_pipe.hpp | 2 ++
include/boost/process/detail/posix/async_pipe.hpp | 1 +
include/boost/process/detail/windows/async_pipe.hpp | 1 +
3 files changed, 4 insertions(+)
diff --git a/boost/process/async_pipe.hpp b/boost/process/async_pipe.hpp
index 101fe1d59..a562432c0 100644
--- a/boost/process/async_pipe.hpp
+++ b/boost/process/async_pipe.hpp
@@ -47,6 +47,8 @@ class async_pipe
*/
typedef platform_specific handle_type;
+ typedef typename handle_type::executor_type executor_type;
+
/** Construct a new async_pipe, does automatically open the pipe.
* Initializes source and sink with the same io_context.
* @note Windows creates a named pipe here, where the name is automatically generated.
diff --git a/boost/process/detail/posix/async_pipe.hpp b/boost/process/detail/posix/async_pipe.hpp
index 725a07890..a82c057b9 100644
--- a/boost/process/detail/posix/async_pipe.hpp
+++ b/boost/process/detail/posix/async_pipe.hpp
@@ -23,6 +23,7 @@ class async_pipe
public:
typedef int native_handle_type;
typedef ::boost::asio::posix::stream_descriptor handle_type;
+ typedef typename handle_type::executor_type executor_type;
inline async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios) {}
diff --git a/boost/process/detail/windows/async_pipe.hpp b/boost/process/detail/windows/async_pipe.hpp
index 06d5f2d85..0b447f9b8 100644
--- a/boost/process/detail/windows/async_pipe.hpp
+++ b/boost/process/detail/windows/async_pipe.hpp
@@ -48,6 +48,7 @@ class async_pipe
public:
typedef ::boost::winapi::HANDLE_ native_handle_type;
typedef ::boost::asio::windows::stream_handle handle_type;
+ typedef typename handle_type::executor_type executor_type;
async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios, make_pipe_name(), true) {}
async_pipe(boost::asio::io_context & ios_source, boost::asio::io_context & ios_sink)

View file

@ -0,0 +1,40 @@
From aab7addcc5d0fbb7ea9ed62e902095bc781baa2e Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Mon, 8 Apr 2019 14:54:20 +0200
Subject: [PATCH] Add support for the RISC-V architecture
---
boostcpp.jam | 5 +++--
libs/config | 2 +-
libs/context | 2 +-
libs/predef | 2 +-
tools/build | 2 +-
5 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/boostcpp.jam b/boostcpp.jam
index efc41c1ed8b..10250a5b693 100644
--- a/boostcpp.jam
+++ b/boostcpp.jam
@@ -607,7 +607,7 @@ rule address-model ( )
return <conditional>@boostcpp.deduce-address-model ;
}
-local deducable-architectures = arm mips1 power sparc x86 combined ;
+local deducable-architectures = arm mips1 power riscv sparc x86 combined ;
feature.feature deduced-architecture : $(deducable-architectures) : propagated optional composite hidden ;
for a in $(deducable-architectures)
{
@@ -618,11 +618,12 @@ rule deduce-architecture ( properties * )
{
local result ;
local filtered = [ toolset-properties $(properties) ] ;
- local names = arm mips1 power sparc x86 combined ;
+ local names = arm mips1 power riscv sparc x86 combined ;
local idx = [ configure.find-builds "default architecture" : $(filtered)
: /boost/architecture//arm
: /boost/architecture//mips1
: /boost/architecture//power
+ : /boost/architecture//riscv
: /boost/architecture//sparc
: /boost/architecture//x86
: /boost/architecture//combined ] ;

View file

@ -5,9 +5,9 @@ index 8b2bc43..d04f2fe 100644
@@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit<thing_base_unit, boost::units::
struct euro_base_unit : boost::units::base_unit<euro_base_unit, boost::units::dimensionless_type, 5>
{
static const char* name() { return("EUR"); }
- static const char* symbol() { return("€"); }
+ static const char* symbol() { return("€"); }
static constexpr const char* name() { return("EUR"); }
- static constexpr const char* symbol() { return("€"); }
+ static constexpr const char* symbol() { return("€"); }
};
int main()

View file

@ -1,7 +1,7 @@
Index: /trunk/boost/foreach_fwd.hpp
Index: boost/boost/foreach_fwd.hpp
===================================================================
--- /trunk/boost/foreach_fwd.hpp (revision 62661)
+++ /trunk/boost/foreach_fwd.hpp (revision 75540)
--- boost/boost/foreach_fwd.hpp (revision 62661)
+++ boost/boost/foreach_fwd.hpp (revision 75540)
@@ -15,4 +15,6 @@
#define BOOST_FOREACH_FWD_HPP
@ -40,10 +40,10 @@ Index: /trunk/boost/foreach_fwd.hpp
+
} // namespace boost
Index: /trunk/boost/foreach.hpp
Index: boost/boost/foreach.hpp
===================================================================
--- /trunk/boost/foreach.hpp (revision 75077)
+++ /trunk/boost/foreach.hpp (revision 75540)
--- boost/boost/foreach.hpp (revision 75077)
+++ boost/boost/foreach.hpp (revision 75540)
@@ -166,5 +166,5 @@
// at the global namespace for your type.
template<typename T>

View file

@ -1,5 +1,5 @@
--- /usr/include/boost/polygon/polygon.hpp.orig 2012-01-26 01:05:15.934998805 +0800
+++ /usr/include/boost/polygon/polygon.hpp 2012-01-26 01:13:10.547000000 +0800
--- boost/boost/polygon/polygon.hpp.orig 2012-01-26 01:05:15.934998805 +0800
+++ boost/boost/polygon/polygon.hpp 2012-01-26 01:13:10.547000000 +0800
@@ -24,6 +24,8 @@
#include "transform.hpp"

View file

@ -1,7 +1,7 @@
Index: boost/pool/pool.hpp
Index: boost/boost/pool/pool.hpp
===================================================================
--- boost/pool/pool.hpp (revision 78317)
+++ boost/pool/pool.hpp (revision 78326)
--- boost/boost/pool/pool.hpp (revision 78317)
+++ boost/boost/pool/pool.hpp (revision 78326)
@@ -27,4 +27,6 @@
#include <boost/pool/poolfwd.hpp>

View file

@ -1,98 +0,0 @@
diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/exec.cpp
--- boost_1_55_0/libs/python/test/exec.cpp~ 2010-07-05 00:38:38.000000000 +0200
+++ boost_1_55_0/libs/python/test/exec.cpp 2015-01-09 21:31:12.903218280 +0100
@@ -56,6 +56,20 @@ void eval_test()
BOOST_TEST(value == "ABCDEFG");
}
+struct PyCtx
+{
+ PyCtx() {
+ Py_Initialize();
+ }
+
+ ~PyCtx() {
+ // N.B. certain problems may arise when Py_Finalize is called when
+ // using Boost.Python. However in this test suite it all seems to
+ // work fine.
+ Py_Finalize();
+ }
+};
+
void exec_test()
{
// Register the module with the interpreter
@@ -68,6 +82,8 @@ void exec_test()
) == -1)
throw std::runtime_error("Failed to add embedded_hello to the interpreter's "
"builtin modules");
+
+ PyCtx ctx;
// Retrieve the main module
python::object main = python::import("__main__");
@@ -148,41 +164,43 @@ void check_pyerr(bool pyerr_expected=fal
}
}
+template <class Cb>
+bool
+run_and_handle_exception(Cb cb, bool pyerr_expected = false)
+{
+ PyCtx ctx;
+ if (python::handle_exception(cb)) {
+ check_pyerr(pyerr_expected);
+ return true;
+ } else {
+ return false;
+ }
+}
+
int main(int argc, char **argv)
{
BOOST_TEST(argc == 2 || argc == 3);
std::string script = argv[1];
- // Initialize the interpreter
- Py_Initialize();
- if (python::handle_exception(eval_test)) {
- check_pyerr();
- }
- else if(python::handle_exception(exec_test)) {
- check_pyerr();
- }
- else if (python::handle_exception(boost::bind(exec_file_test, script))) {
+ // N.B. exec_test mustn't be called through run_and_handle_exception
+ // as it needs to handles the python context by itself.
+ if (run_and_handle_exception(eval_test)
+ || python::handle_exception(exec_test))
check_pyerr();
- }
-
- if (python::handle_exception(exec_test_error))
- {
- check_pyerr(/*pyerr_expected*/ true);
- }
else
- {
+ run_and_handle_exception(boost::bind(exec_file_test, script));
+
+ if (!run_and_handle_exception(exec_test_error, true))
BOOST_ERROR("Python exception expected, but not seen.");
- }
if (argc > 2) {
+ PyCtx ctx;
// The main purpose is to test compilation. Since this test generates
// a file and I (rwgk) am uncertain about the side-effects, run it only
// if explicitly requested.
exercise_embedding_html();
}
- // Boost.Python doesn't support Py_Finalize yet.
- // Py_Finalize();
return boost::report_errors();
}
Diff finished. Fri Jan 9 21:31:13 2015

View file

@ -0,0 +1,42 @@
diff -up boost_1_70_0/tools/build/src/tools/gcc.jam.0019~ boost_1_70_0/tools/build/src/tools/gcc.jam
--- boost_1_70_0/tools/build/src/tools/gcc.jam.0019~ 2019-04-09 21:36:57.000000000 +0200
+++ boost_1_70_0/tools/build/src/tools/gcc.jam 2019-04-12 14:23:10.519125908 +0200
@@ -569,7 +569,7 @@ rule compile.fortran ( targets * : sourc
actions compile.c++ bind PCH_FILE
{
- "$(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) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)"
}
actions compile.c bind PCH_FILE
@@ -579,7 +579,7 @@ actions compile.c bind PCH_FILE
actions compile.c++.preprocess bind PCH_FILE
{
- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)"
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)"
}
actions compile.c.preprocess bind PCH_FILE
@@ -702,13 +702,13 @@ actions compile.c.pch
###
# 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>space : -Os ;
-
-toolset.flags gcc.compile OPTIONS <inlining>off : -fno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>on : -Wno-inline ;
-toolset.flags gcc.compile OPTIONS <inlining>full : -finline-functions -Wno-inline ;
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
+
+toolset.flags gcc.compile OPTIONS <inlining>off : ;
+toolset.flags gcc.compile OPTIONS <inlining>on : ;
+toolset.flags gcc.compile OPTIONS <inlining>full : ;
toolset.flags gcc.compile OPTIONS <warnings>off : -w ;
toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;

View file

@ -1,6 +1,6 @@
--- 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
--- boost_1_65_0/tools/build/src/tools/python.jam.p18~ 2017-08-21 23:51:31.876299004 +0200
+++ boost_1_65_0/tools/build/src/tools/python.jam 2017-08-21 23:52:08.595223722 +0200
@@ -99,7 +99,7 @@ py3-version = ;
# using python : 2.3 : /usr/local/bin/python ;
#
rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
@ -9,7 +9,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 +18,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 +27,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 +43,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

@ -0,0 +1,21 @@
diff -up boost_1_68_0/boost/atomic/detail/ops_gcc_x86_dcas.hpp.0006~ boost_1_68_0/boost/atomic/detail/ops_gcc_x86_dcas.hpp
--- boost_1_68_0/boost/atomic/detail/ops_gcc_x86_dcas.hpp.0006~ 2018-08-01 22:50:46.000000000 +0200
+++ boost_1_68_0/boost/atomic/detail/ops_gcc_x86_dcas.hpp 2018-08-10 01:08:54.617706383 +0200
@@ -119,7 +119,7 @@ struct gcc_dcas_x86
}
}
- static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order) BOOST_NOEXCEPT
+ static BOOST_FORCEINLINE storage_type load(storage_type volatile& storage, memory_order) BOOST_NOEXCEPT
{
storage_type value;
@@ -404,7 +404,7 @@ struct gcc_dcas_x86_64
);
}
- static BOOST_FORCEINLINE storage_type load(storage_type const volatile& storage, memory_order) BOOST_NOEXCEPT
+ static BOOST_FORCEINLINE storage_type load(storage_type volatile& storage, memory_order) BOOST_NOEXCEPT
{
// Note that despite const qualification cmpxchg16b below may issue a store to the storage. The storage value
// will not change, but this prevents the storage to reside in read-only memory.

1425
boost.spec

File diff suppressed because it is too large Load diff

View file

@ -1,13 +0,0 @@
Index: boost1.62-1.62.0+dfsg/libs/python/src/converter/builtin_converters.cpp
===================================================================
--- boost1.62-1.62.0+dfsg.orig/libs/python/src/converter/builtin_converters.cpp
+++ boost1.62-1.62.0+dfsg/libs/python/src/converter/builtin_converters.cpp
@@ -48,7 +48,7 @@ namespace
#else
void* convert_to_cstring(PyObject* obj)
{
- return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
+ return PyUnicode_Check(obj) ? const_cast<void*>(reinterpret_cast<const void*>(_PyUnicode_AsString(obj))) : 0;
}
#endif