Compare commits
9 Commits
master
...
openEuler-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8cda558dc2 | ||
|
|
7175fdc636 | ||
|
|
91c368581c | ||
|
|
b90b3c54af | ||
|
|
b098e05564 | ||
|
|
d0d041ea50 | ||
|
|
3b95ba6c8d | ||
|
|
8e41d4288f | ||
|
|
62ed33d47e |
144
bjam
Normal file
144
bjam
Normal file
@ -0,0 +1,144 @@
|
||||
.TH "b2" 1 "Sat Nov 19 2011" "Doxygen" \" -*- nroff -*-
|
||||
.ad l
|
||||
.nh
|
||||
.SH NAME
|
||||
b2 \- Command-line utility to build Boost-related C++ projects with Boost\&.Build
|
||||
.SH "SYNOPSIS"
|
||||
.PP
|
||||
\fBb2\fP \fC[-a] [-dx] [-fx] [-jx] [-lx] [-n] [-ox] [-px] [-q] [-sx=y] [-tx] [-v] [--x]\fP
|
||||
.PP
|
||||
\fIb2\fP accepts the following options:
|
||||
.PP
|
||||
\fB-a\fP
|
||||
.br
|
||||
Build all targets, even if they are current
|
||||
.PP
|
||||
\fB-dx\fP
|
||||
.br
|
||||
Set the debug level to x (0-9)
|
||||
.PP
|
||||
\fB-fx\fP
|
||||
.br
|
||||
Read x instead of Jambase
|
||||
.PP
|
||||
\fB-jx\fP
|
||||
.br
|
||||
Run up to x shell commands concurrently
|
||||
.PP
|
||||
\fB-lx\fP
|
||||
.br
|
||||
Limit actions to x number of seconds after which they are stopped
|
||||
.PP
|
||||
\fB-n\fP
|
||||
.br
|
||||
Don't actually execute the updating actions
|
||||
.PP
|
||||
\fB-ox\fP
|
||||
.br
|
||||
Write the updating actions to file x
|
||||
.PP
|
||||
\fB-px\fP
|
||||
.br
|
||||
x=0, pipes action stdout and stderr merged into action output
|
||||
.PP
|
||||
\fB-q\fP
|
||||
.br
|
||||
Quit quickly as soon as a target fails
|
||||
.PP
|
||||
\fB-sx=y\fP
|
||||
.br
|
||||
Set variable x=y, overriding environment
|
||||
.PP
|
||||
\fB-tx\fP
|
||||
.br
|
||||
Rebuild x, even if it is up-to-date
|
||||
.PP
|
||||
\fB-v\fP
|
||||
.br
|
||||
Print the version of b2 and exit
|
||||
.PP
|
||||
\fB--x\fP
|
||||
.br
|
||||
Option is ignored
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
This section provides the information necessary to create your own projects using \fIBoost\&.Build\fP The information provided here is relatively high-level, and Chapter 6, Reference as well as the on-line help system must be used to obtain low-level documentation (see --help)
|
||||
.PP
|
||||
\fIBoost\&.Build\fP actually consists of two parts - \fIBoost\&.Jam\fP, a build engine with its own interpreted language, and \fIBoost\&.Build\fP itself, implemented in \fIBoost\&.Jam's\fP language\&. The chain of events when you type b2 on the command line is as follows:
|
||||
.IP "\(bu" 2
|
||||
\fIBoost\&.Jam\fP tries to find \fIBoost\&.Build\fP and loads the top-level module\&. The exact process is described in the section called “Initialization”
|
||||
.PP
|
||||
.PP
|
||||
.IP "\(bu" 2
|
||||
The top-level module loads user-defined configuration files, \fIuser-config\&.jam\fP and \fIsite-config\&.jam\fP, which define available toolsets
|
||||
.PP
|
||||
.PP
|
||||
.IP "\(bu" 2
|
||||
The \fIJamfile\fP in the current directory is read That in turn might cause reading of further Jamfiles\&. As a result, a tree of projects is created, with targets inside projects
|
||||
.PP
|
||||
.PP
|
||||
.IP "\(bu" 2
|
||||
Finally, using the build request specified on the command line, \fIBoost\&.Build\fP decides which targets should be built and how\&. That information is passed back to \fIBoost\&.Jam\fP, which takes care of actually running the scheduled build action commands
|
||||
.PP
|
||||
.PP
|
||||
So, to be able to successfully use \fIBoost\&.Build\fP, you need to know only four things:
|
||||
.IP "\(bu" 2
|
||||
How to configure \fIBoost\&.Build\fP (http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html)
|
||||
.IP "\(bu" 2
|
||||
How to declare targets in Jamfiles (http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html)
|
||||
.IP "\(bu" 2
|
||||
How the build process works (http://www.boost.org/boost-build2/doc/html/bbv2/overview/build_process.html)
|
||||
.PP
|
||||
.PP
|
||||
Some Basics about the \fIBoost\&.Jam\fP language\&. See the section called “Boost\&.Jam Language” (http://www.boost.org/boost-build2/doc/html/bbv2/overview/jam_language.html)
|
||||
.SH "CONCEPTS"
|
||||
.PP
|
||||
\fIBoost\&.Build\fP has a few unique concepts that are introduced in this section\&. The best way to explain the concepts is by comparison with more classical build tools
|
||||
.PP
|
||||
When using any flavour of make, you directly specify targets and commands that are used to create them from other target\&. The below example creates a\&.o from a\&.c using a hardcoded compiler invocation command
|
||||
.PP
|
||||
a\&.o: a\&.c
|
||||
.br
|
||||
g++ -o a\&.o -g a\&.c
|
||||
.PP
|
||||
This is rather low-level description mechanism and it is hard to adjust commands, options, and sets of created targets depending on the used compiler and operating system\&.
|
||||
.PP
|
||||
To improve portability, most modern build system provide a set of higher-level functions that can be used in build description files\&. Consider this example:
|
||||
.PP
|
||||
add_program ('a', 'a\&.c')
|
||||
.br
|
||||
.PP
|
||||
This is a function call that creates targets necessary to create executable file from source file a\&.c\&. Depending on configured properties, different commands line may be used\&. However, \fIadd_program\fP is higher-level, but rather thin level All targets are created immediately when build description is parsed, which makes it impossible to perform multi-variant builds\&. Often, change in any build property requires complete reconfiguration of the build tree
|
||||
.PP
|
||||
In order to support true multivariant builds, Boost\&.Build introduces the concept of metatarget—object that is created when build description is parsed and can be later called with specific build properties to generate actual targets
|
||||
.PP
|
||||
Consider an example:
|
||||
.PP
|
||||
exe a : a\&.cpp ;
|
||||
.br
|
||||
.PP
|
||||
When this declaration is parsed, \fIBoost\&.Build\fP creates a metatarget, but does not yet decides what files must be created, or what commands must be used\&. After all build files are parsed, Boost\&.Build considers properties requested on the command line\&. Supposed you have invoked \fIBoost\&.Build\fP with:
|
||||
.PP
|
||||
\fIb2\fP toolset=gcc toolset=msvc
|
||||
.br
|
||||
.PP
|
||||
In that case, the metatarget will be called twice, once with toolset=gcc and once with toolset=msvc\&. Both invocations will produce concrete targets, that will have different extensions and use different command lines\&. Another key concept is build property\&. Build property is a variable that affects the build process\&. It can be specified on the command line, and is passed when calling a metatarget
|
||||
.PP
|
||||
While all build tools have a similar mechanism, \fIBoost\&.Build\fP differs by requiring that all build properties are declared in advance, and providing a large set of properties with portable semantics
|
||||
.PP
|
||||
The final concept is property propagation\&. Boost\&.Build does not require that every metatarget is called with the same properties\&. Instead, the 'top-level' metatargets are called with the properties specified on the command line Each metatarget can elect to augment or override some properties (in particular, using the requirements mechanism, see the section called “Requirements”: http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html#bbv2.overview.targets.requirements) Then, the dependency metatargets are called with modified properties and produce concrete targets that are then used in build process Of course, dependency metatargets maybe in turn modify build properties and have dependencies of their own\&.
|
||||
.PP
|
||||
For more in-depth treatment of the requirements and concepts, you may refer to SYRCoSE 2009 Boost\&.Build article (http://syrcose.ispras.ru/2009/files/04_paper.pdf)\&.
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
\fBboost-libraries\fP(3)
|
||||
.SH "SUPPORT"
|
||||
.PP
|
||||
Please report any bugs to https://svn.boost.org/trac/boost/
|
||||
.SH "COPYRIGHT"
|
||||
.PP
|
||||
Boost Software License - Version 1\&.0 - August 17th, 2003
|
||||
.PP
|
||||
See the LICENSE_1_0\&.txt file for more information on that license, or directly on Internet:
|
||||
.br
|
||||
http://www.boost.org/LICENSE_1_0.txt
|
||||
36
boost-1.73-locale-empty-vector.patch
Normal file
36
boost-1.73-locale-empty-vector.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From daf4ef50c88c2b9a6bf2c40b537eebc202caad6e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?S=C3=A9bastien=20Gonzalve?=
|
||||
<sebastien.gonzalve@aliceadsl.fr>
|
||||
Date: Sat, 14 Nov 2020 10:39:47 +0100
|
||||
Subject: [PATCH] Do not try to access element when vector is empty
|
||||
|
||||
Trying to access tmp[0] causes a crash on Fedora when assertion on STL
|
||||
are enabled.
|
||||
|
||||
/usr/include/c++/10/bits/stl_vector.h:1045: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>; std::vector<_Tp, _Alloc>::reference = unsigned char&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.
|
||||
|
||||
This patch just passes nullptr as pointer to getSortKey() when tmp size
|
||||
is 0, preventing dereferencing elements in empty vector.
|
||||
|
||||
I guess that &tmp[0] should be optimized as 'no real access' when
|
||||
disabling assertion, but actually leads to crash when assert are
|
||||
enabled.
|
||||
---
|
||||
src/icu/collator.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libs/locale/src/icu/collator.cpp b/libs/locale/src/icu/collator.cpp
|
||||
index 7f1ea6a..dc59e8c 100644
|
||||
--- a/libs/locale/src/icu/collator.cpp
|
||||
+++ b/libs/locale/src/icu/collator.cpp
|
||||
@@ -93,7 +93,7 @@ namespace boost {
|
||||
std::vector<uint8_t> tmp;
|
||||
tmp.resize(str.length());
|
||||
icu::Collator *collate = get_collator(level);
|
||||
- int len = collate->getSortKey(str,&tmp[0],tmp.size());
|
||||
+ int len = collate->getSortKey(str,tmp.empty()?nullptr:&tmp[0],tmp.size());
|
||||
if(len > int(tmp.size())) {
|
||||
tmp.resize(len);
|
||||
collate->getSortKey(str,&tmp[0],tmp.size());
|
||||
--
|
||||
2.26.2
|
||||
38
boost-1.77-build-drop-rpath.patch
Normal file
38
boost-1.77-build-drop-rpath.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 8f85a56a883d3712d4d0cb23dc22ccdfb8201f12 Mon Sep 17 00:00:00 2001
|
||||
From: sdlzx <hdu_sdlzx@163.com>
|
||||
Date: Wed, 15 Sep 2021 23:41:16 +0800
|
||||
Subject: [PATCH] Drop rpath
|
||||
|
||||
Originally-by: Yaakov Selkowitz <yselkowi@redhat.com>
|
||||
---
|
||||
tools/build/src/tools/gcc.jam | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
|
||||
index f48a00dc9..5c4e3e3ed 100644
|
||||
--- a/tools/build/src/tools/gcc.jam
|
||||
+++ b/tools/build/src/tools/gcc.jam
|
||||
@@ -1034,17 +1034,17 @@ actions link.mingw bind LIBRARIES
|
||||
|
||||
actions link.dll.mingw bind LIBRARIES
|
||||
{
|
||||
- "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])" -shared @"@($(<[-1]:T).rsp:E=$(START-GROUP) "$(>:T)" "$(LIBRARIES:T)" $(FINDLIBS-ST-PFX:T) -l$(FINDLIBS-ST:T) $(FINDLIBS-SA-PFX:T) -l$(FINDLIBS-SA:T) $(END-GROUP))" $(OPTIONS) $(USER_OPTIONS)
|
||||
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.IMPLIB-COMMAND)$(<[0])" -o "$(<[-1])" -shared @"@($(<[-1]:T).rsp:E=$(START-GROUP) "$(>:T)" "$(LIBRARIES:T)" $(FINDLIBS-ST-PFX:T) -l$(FINDLIBS-ST:T) $(FINDLIBS-SA-PFX:T) -l$(FINDLIBS-SA:T) $(END-GROUP))" $(OPTIONS) $(USER_OPTIONS)
|
||||
}
|
||||
|
||||
actions link bind LIBRARIES
|
||||
{
|
||||
- "$(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)" -o "$(<)" $(START-GROUP) "$(>)" "$(LIBRARIES)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
|
||||
}
|
||||
|
||||
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)" $(FINDLIBS-ST-PFX) -l$(FINDLIBS-ST) $(FINDLIBS-SA-PFX) -l$(FINDLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
|
||||
+ "$(CONFIG_COMMAND)" -L"$(LINKPATH)" "$(.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)
|
||||
}
|
||||
|
||||
###
|
||||
--
|
||||
2.31.1
|
||||
|
||||
355
boost-1.77-locale-remove-linking-with-boost-system.patch
Normal file
355
boost-1.77-locale-remove-linking-with-boost-system.patch
Normal file
@ -0,0 +1,355 @@
|
||||
From aebac1401f9ddabb84c222481301d25beea1988d Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Semashev <andrey.semashev@gmail.com>
|
||||
Date: Mon, 14 Jan 2019 21:08:25 +0300
|
||||
Subject: [PATCH 1/2] Remove linking with Boost.System.
|
||||
|
||||
Since Boost.System is header-only now, no need to link with the library.
|
||||
---
|
||||
build/Jamfile.v2 | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/libs/locale/build/Jamfile.v2 b/libs/locale/build/Jamfile.v2
|
||||
index 578e722e..43ab0014 100644
|
||||
--- a/libs/locale/build/Jamfile.v2
|
||||
+++ b/libs/locale/build/Jamfile.v2
|
||||
@@ -382,9 +382,6 @@ rule configure-full ( properties * : flags-only )
|
||||
result += <source>util/gregorian.cpp ;
|
||||
}
|
||||
|
||||
- result += <library>../../system/build//boost_system ;
|
||||
-
|
||||
-
|
||||
if "$(flags-only)" = "flags"
|
||||
{
|
||||
return $(flags-result) ;
|
||||
|
||||
From b01aab1d28c9b32d107ae39c76c9af988420d476 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Semashev <andrey.semashev@gmail.com>
|
||||
Date: Mon, 14 Jan 2019 21:10:38 +0300
|
||||
Subject: [PATCH 2/2] Trim trailing spaces.
|
||||
|
||||
---
|
||||
build/Jamfile.v2 | 119 +++++++++++++++++++++++------------------------
|
||||
1 file changed, 59 insertions(+), 60 deletions(-)
|
||||
|
||||
diff --git a/libs/locale/build/Jamfile.v2 b/libs/locale/build/Jamfile.v2
|
||||
index 43ab0014..97dd68c7 100644
|
||||
--- a/libs/locale/build/Jamfile.v2
|
||||
+++ b/libs/locale/build/Jamfile.v2
|
||||
@@ -1,6 +1,6 @@
|
||||
# copyright John Maddock 2003, Artyom Beilis 2010
|
||||
-# Distributed under the Boost Software License, Version 1.0.
|
||||
-# (See accompanying file LICENSE_1_0.txt or copy at
|
||||
+# 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.
|
||||
|
||||
|
||||
@@ -32,11 +32,11 @@ explicit has_iconv ;
|
||||
|
||||
ICONV_PATH = [ modules.peek : ICONV_PATH ] ;
|
||||
|
||||
-lib iconv
|
||||
- :
|
||||
+lib iconv
|
||||
+ :
|
||||
: <search>$(ICONV_PATH)/lib <link>shared <runtime-link>shared
|
||||
:
|
||||
- : <include>$(ICONV_PATH)/include
|
||||
+ : <include>$(ICONV_PATH)/include
|
||||
;
|
||||
|
||||
explicit iconv ;
|
||||
@@ -45,8 +45,8 @@ obj has_iconv_libc_ext : ../build/has_iconv.cpp iconv ;
|
||||
exe has_external_iconv : has_iconv_libc_ext iconv ;
|
||||
explicit has_external_iconv ;
|
||||
|
||||
-exe accepts_shared_option : ../build/option.cpp
|
||||
- : <cxxflags>-shared-libstdc++
|
||||
+exe accepts_shared_option : ../build/option.cpp
|
||||
+ : <cxxflags>-shared-libstdc++
|
||||
<cxxflags>-shared-libgcc
|
||||
<linkflags>-shared-libstdc++
|
||||
<linkflags>-shared-libgcc
|
||||
@@ -71,8 +71,8 @@ if $(ICU_LINK)
|
||||
else
|
||||
{
|
||||
searched-lib icuuc : : <name>icuuc
|
||||
- <search>$(ICU_PATH)/lib
|
||||
- <link>shared
|
||||
+ <search>$(ICU_PATH)/lib
|
||||
+ <link>shared
|
||||
<runtime-link>shared ;
|
||||
|
||||
searched-lib icuuc : : <toolset>msvc
|
||||
@@ -120,9 +120,9 @@ else
|
||||
|
||||
explicit icuuc icudt icuin ;
|
||||
|
||||
- ICU_OPTS = <include>$(ICU_PATH)/include
|
||||
- <library>icuuc/<link>shared/<runtime-link>shared
|
||||
- <library>icudt/<link>shared/<runtime-link>shared
|
||||
+ ICU_OPTS = <include>$(ICU_PATH)/include
|
||||
+ <library>icuuc/<link>shared/<runtime-link>shared
|
||||
+ <library>icudt/<link>shared/<runtime-link>shared
|
||||
<library>icuin/<link>shared/<runtime-link>shared
|
||||
<dll-path>$(ICU_PATH)/bin
|
||||
<runtime-link>shared ;
|
||||
@@ -130,8 +130,8 @@ else
|
||||
|
||||
|
||||
searched-lib icuuc_64 : : <name>icuuc
|
||||
- <search>$(ICU_PATH)/lib64
|
||||
- <link>shared
|
||||
+ <search>$(ICU_PATH)/lib64
|
||||
+ <link>shared
|
||||
<runtime-link>shared ;
|
||||
|
||||
searched-lib icuuc_64 : : <toolset>msvc
|
||||
@@ -179,14 +179,14 @@ else
|
||||
|
||||
explicit icuuc_64 icudt_64 icuin_64 ;
|
||||
|
||||
- ICU64_OPTS = <include>$(ICU_PATH)/include
|
||||
- <library>icuuc_64/<link>shared/<runtime-link>shared
|
||||
- <library>icudt_64/<link>shared/<runtime-link>shared
|
||||
+ ICU64_OPTS = <include>$(ICU_PATH)/include
|
||||
+ <library>icuuc_64/<link>shared/<runtime-link>shared
|
||||
+ <library>icudt_64/<link>shared/<runtime-link>shared
|
||||
<library>icuin_64/<link>shared/<runtime-link>shared
|
||||
<dll-path>$(ICU_PATH)/bin64
|
||||
<runtime-link>shared ;
|
||||
-
|
||||
-
|
||||
+
|
||||
+
|
||||
}
|
||||
|
||||
obj has_icu_obj : ../build/has_icu_test.cpp : $(ICU_OPTS) ;
|
||||
@@ -206,11 +206,11 @@ rule configure-full ( properties * : flags-only )
|
||||
|
||||
local result ;
|
||||
local flags-result ;
|
||||
-
|
||||
+
|
||||
local found-iconv ;
|
||||
-
|
||||
+
|
||||
if <boost.locale.iconv>on in $(properties)
|
||||
- || ! <boost.locale.iconv> in $(properties:G)
|
||||
+ || ! <boost.locale.iconv> in $(properties:G)
|
||||
&& ! <target-os>solaris in $(properties)
|
||||
{
|
||||
# See if iconv is bundled with standard library.
|
||||
@@ -218,7 +218,7 @@ rule configure-full ( properties * : flags-only )
|
||||
{
|
||||
found-iconv = true ;
|
||||
}
|
||||
- else
|
||||
+ else
|
||||
{
|
||||
if [ configure.builds has_external_iconv : $(properties) : "iconv (separate)" ]
|
||||
{
|
||||
@@ -226,8 +226,8 @@ rule configure-full ( properties * : flags-only )
|
||||
result += <library>iconv ;
|
||||
}
|
||||
}
|
||||
- }
|
||||
- if $(found-iconv)
|
||||
+ }
|
||||
+ if $(found-iconv)
|
||||
{
|
||||
flags-result += <define>BOOST_LOCALE_WITH_ICONV=1 ;
|
||||
}
|
||||
@@ -249,7 +249,7 @@ rule configure-full ( properties * : flags-only )
|
||||
|
||||
if $(found-icu)
|
||||
{
|
||||
- ICU_SOURCES =
|
||||
+ ICU_SOURCES =
|
||||
boundary
|
||||
codecvt
|
||||
collator
|
||||
@@ -260,20 +260,20 @@ rule configure-full ( properties * : flags-only )
|
||||
numeric
|
||||
time_zone
|
||||
;
|
||||
-
|
||||
- result += <source>icu/$(ICU_SOURCES).cpp
|
||||
- <library>../../thread/build//boost_thread
|
||||
+
|
||||
+ result += <source>icu/$(ICU_SOURCES).cpp
|
||||
+ <library>../../thread/build//boost_thread
|
||||
;
|
||||
}
|
||||
|
||||
}
|
||||
-
|
||||
- if ! $(found-iconv) && ! $(found-icu) && ! <target-os>windows in $(properties) && ! <target-os>cygwin in $(properties)
|
||||
+
|
||||
+ if ! $(found-iconv) && ! $(found-icu) && ! <target-os>windows in $(properties) && ! <target-os>cygwin in $(properties)
|
||||
{
|
||||
ECHO "- Boost.Locale needs either iconv or ICU library to be built." ;
|
||||
result += <build>no ;
|
||||
}
|
||||
-
|
||||
+
|
||||
if ! <boost.locale.std> in $(properties:G)
|
||||
{
|
||||
if <toolset>sun in $(properties)
|
||||
@@ -283,9 +283,9 @@ rule configure-full ( properties * : flags-only )
|
||||
else
|
||||
{
|
||||
properties += <boost.locale.std>on ;
|
||||
- }
|
||||
+ }
|
||||
}
|
||||
-
|
||||
+
|
||||
if <boost.locale.std>off in $(properties)
|
||||
{
|
||||
flags-result += <define>BOOST_LOCALE_NO_STD_BACKEND=1 ;
|
||||
@@ -301,38 +301,38 @@ rule configure-full ( properties * : flags-only )
|
||||
;
|
||||
result += <source>std/$(STD_SOURCES).cpp ;
|
||||
}
|
||||
-
|
||||
+
|
||||
if ! <boost.locale.winapi> in $(properties:G)
|
||||
{
|
||||
- if <target-os>windows in $(properties)
|
||||
+ if <target-os>windows in $(properties)
|
||||
|| <target-os>cygwin in $(properties)
|
||||
{
|
||||
properties += <boost.locale.winapi>on ;
|
||||
- }
|
||||
+ }
|
||||
else
|
||||
{
|
||||
properties += <boost.locale.winapi>off ;
|
||||
- }
|
||||
+ }
|
||||
}
|
||||
- if <target-os>windows in $(properties)
|
||||
- && <toolset>gcc in $(properties)
|
||||
+ if <target-os>windows in $(properties)
|
||||
+ && <toolset>gcc in $(properties)
|
||||
&& <link>shared in $(properties)
|
||||
&& [ configure.builds accepts_shared_option : $(properties) : "g++ -shared-* supported" ]
|
||||
{
|
||||
- flags-result += <cxxflags>-shared-libstdc++
|
||||
+ flags-result += <cxxflags>-shared-libstdc++
|
||||
<cxxflags>-shared-libgcc
|
||||
<linkflags>-shared-libstdc++
|
||||
<linkflags>-shared-libgcc
|
||||
;
|
||||
}
|
||||
-
|
||||
+
|
||||
if <boost.locale.winapi>off in $(properties)
|
||||
{
|
||||
flags-result += <define>BOOST_LOCALE_NO_WINAPI_BACKEND=1 ;
|
||||
}
|
||||
else
|
||||
{
|
||||
- WINAPI_SOURCES =
|
||||
+ WINAPI_SOURCES =
|
||||
collate
|
||||
converter
|
||||
numeric
|
||||
@@ -340,34 +340,34 @@ rule configure-full ( properties * : flags-only )
|
||||
;
|
||||
result += <source>win32/$(WINAPI_SOURCES).cpp ;
|
||||
}
|
||||
-
|
||||
+
|
||||
if ( ! <boost.locale.winapi>off in $(properties) || ! <boost.locale.std>off in $(properties) )
|
||||
&& ( <target-os>windows in $(properties) || <target-os>cygwin in $(properties) )
|
||||
{
|
||||
result += <source>win32/lcid.cpp ;
|
||||
}
|
||||
-
|
||||
+
|
||||
if ! <boost.locale.posix> in $(properties:G)
|
||||
{
|
||||
- if <target-os>linux in $(properties)
|
||||
- || <target-os>darwin in $(properties)
|
||||
+ if <target-os>linux in $(properties)
|
||||
+ || <target-os>darwin in $(properties)
|
||||
|| ( <target-os>freebsd in $(properties) && [ configure.builds has_xlocale : $(properties) : "xlocale supported" ] )
|
||||
{
|
||||
properties += <boost.locale.posix>on ;
|
||||
}
|
||||
else
|
||||
{
|
||||
- properties += <boost.locale.posix>off ;
|
||||
- }
|
||||
+ properties += <boost.locale.posix>off ;
|
||||
+ }
|
||||
}
|
||||
-
|
||||
+
|
||||
if <boost.locale.posix>off in $(properties)
|
||||
{
|
||||
- flags-result += <define>BOOST_LOCALE_NO_POSIX_BACKEND=1 ;
|
||||
+ flags-result += <define>BOOST_LOCALE_NO_POSIX_BACKEND=1 ;
|
||||
}
|
||||
else
|
||||
{
|
||||
- POSIX_SOURCES =
|
||||
+ POSIX_SOURCES =
|
||||
collate
|
||||
converter
|
||||
numeric
|
||||
@@ -381,12 +381,13 @@ rule configure-full ( properties * : flags-only )
|
||||
{
|
||||
result += <source>util/gregorian.cpp ;
|
||||
}
|
||||
-
|
||||
- if "$(flags-only)" = "flags"
|
||||
+
|
||||
+ if "$(flags-only)" = "flags"
|
||||
{
|
||||
return $(flags-result) ;
|
||||
}
|
||||
- else {
|
||||
+ else
|
||||
+ {
|
||||
result += $(flags-result) ;
|
||||
return $(result) ;
|
||||
}
|
||||
@@ -396,7 +397,6 @@ rule configure ( properties * )
|
||||
{
|
||||
local result = [ configure-full $(properties) : "all" ] ;
|
||||
return $(result) ;
|
||||
-
|
||||
}
|
||||
|
||||
rule configure-flags ( properties * )
|
||||
@@ -404,15 +404,14 @@ rule configure-flags ( properties * )
|
||||
local result ;
|
||||
result = [ configure-full $(properties) : "flags" ] ;
|
||||
return $(result) ;
|
||||
-
|
||||
}
|
||||
|
||||
|
||||
alias build_options : : : : <conditional>@configure ;
|
||||
alias build_flags : : : : <conditional>@configure-flags ;
|
||||
|
||||
-lib boost_locale
|
||||
- :
|
||||
+lib boost_locale
|
||||
+ :
|
||||
encoding/codepage.cpp
|
||||
shared/date_time.cpp
|
||||
shared/format.cpp
|
||||
@@ -425,7 +424,7 @@ lib boost_locale
|
||||
util/codecvt_converter.cpp
|
||||
util/default_locale.cpp
|
||||
util/info.cpp
|
||||
- util/locale_data.cpp
|
||||
+ util/locale_data.cpp
|
||||
:
|
||||
# Don't link explicitly, not required
|
||||
<define>BOOST_THREAD_NO_LIB=1
|
||||
@ -0,0 +1,152 @@
|
||||
From b59c1be697a001a71f6b92660e41d8915eea941d Mon Sep 17 00:00:00 2001
|
||||
From: Orgad Shaneh <orgads@gmail.com>
|
||||
Date: Thu, 9 Sep 2021 10:28:13 +0300
|
||||
Subject: [PATCH] fix integer overflows in pool::ordered_malloc
|
||||
|
||||
Fixes trac #6701 (https://svn.boost.org/trac10/ticket/6701).
|
||||
|
||||
Originally-by: Jonathan Wakely <jwakely.boost@kayari.org>
|
||||
---
|
||||
boost/pool/pool.hpp | 32 +++++++++++++++++++++++---------
|
||||
libs/pool/test/test_bug_6701.cpp | 27 +++++++++++++++++++++++++++
|
||||
2 files changed, 50 insertions(+), 9 deletions(-)
|
||||
create mode 100644 libs/pool/test/test_bug_6701.cpp
|
||||
|
||||
diff --git a/boost/pool/pool.hpp b/boost/pool/pool.hpp
|
||||
index c47b11faf..a899ca0a2 100644
|
||||
--- a/boost/pool/pool.hpp
|
||||
+++ b/boost/pool/pool.hpp
|
||||
@@ -26,6 +26,8 @@
|
||||
|
||||
#include <boost/pool/poolfwd.hpp>
|
||||
|
||||
+// std::numeric_limits
|
||||
+#include <boost/limits.hpp>
|
||||
// boost::integer::static_lcm
|
||||
#include <boost/integer/common_factor_ct.hpp>
|
||||
// boost::simple_segregated_storage
|
||||
@@ -355,6 +357,13 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
|
||||
return s;
|
||||
}
|
||||
|
||||
+ size_type max_chunks() const
|
||||
+ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool.
|
||||
+ size_type partition_size = alloc_size();
|
||||
+ size_type POD_size = integer::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type);
|
||||
+ return (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
|
||||
+ }
|
||||
+
|
||||
static void * & nextof(void * const ptr)
|
||||
{ //! \returns Pointer dereferenced.
|
||||
//! (Provided and used for the sake of code readability :)
|
||||
@@ -375,6 +384,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
|
||||
//! the first time that object needs to allocate system memory.
|
||||
//! The default is 32. This parameter may not be 0.
|
||||
//! \param nmax_size is the maximum number of chunks to allocate in one block.
|
||||
+ set_next_size(nnext_size);
|
||||
+ set_max_size(nmax_size);
|
||||
}
|
||||
|
||||
~pool()
|
||||
@@ -398,8 +409,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
|
||||
}
|
||||
void set_next_size(const size_type nnext_size)
|
||||
{ //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0.
|
||||
- //! \returns nnext_size.
|
||||
- next_size = start_size = nnext_size;
|
||||
+ BOOST_USING_STD_MIN();
|
||||
+ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks());
|
||||
}
|
||||
size_type get_max_size() const
|
||||
{ //! \returns max_size.
|
||||
@@ -407,7 +418,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
|
||||
}
|
||||
void set_max_size(const size_type nmax_size)
|
||||
{ //! Set max_size.
|
||||
- max_size = nmax_size;
|
||||
+ BOOST_USING_STD_MIN();
|
||||
+ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks());
|
||||
}
|
||||
size_type get_requested_size() const
|
||||
{ //! \returns the requested size passed into the constructor.
|
||||
@@ -708,9 +720,9 @@ void * pool<UserAllocator>::malloc_need_resize()
|
||||
|
||||
BOOST_USING_STD_MIN();
|
||||
if(!max_size)
|
||||
- next_size <<= 1;
|
||||
+ set_next_size(next_size << 1);
|
||||
else if( next_size*partition_size/requested_size < max_size)
|
||||
- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
|
||||
+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
|
||||
|
||||
// initialize it,
|
||||
store().add_block(node.begin(), node.element_size(), partition_size);
|
||||
@@ -748,9 +760,9 @@ void * pool<UserAllocator>::ordered_malloc_need_resize()
|
||||
|
||||
BOOST_USING_STD_MIN();
|
||||
if(!max_size)
|
||||
- next_size <<= 1;
|
||||
+ set_next_size(next_size << 1);
|
||||
else if( next_size*partition_size/requested_size < max_size)
|
||||
- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
|
||||
+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
|
||||
|
||||
// initialize it,
|
||||
// (we can use "add_block" here because we know that
|
||||
@@ -792,6 +804,8 @@ void * pool<UserAllocator>::ordered_malloc(const size_type n)
|
||||
{ //! Gets address of a chunk n, allocating new memory if not already available.
|
||||
//! \returns Address of chunk n if allocated ok.
|
||||
//! \returns 0 if not enough memory for n chunks.
|
||||
+ if (n > max_chunks())
|
||||
+ return 0;
|
||||
|
||||
const size_type partition_size = alloc_size();
|
||||
const size_type total_req_size = n * requested_size;
|
||||
@@ -840,9 +854,9 @@ void * pool<UserAllocator>::ordered_malloc(const size_type n)
|
||||
|
||||
BOOST_USING_STD_MIN();
|
||||
if(!max_size)
|
||||
- next_size <<= 1;
|
||||
+ set_next_size(next_size << 1);
|
||||
else if( next_size*partition_size/requested_size < max_size)
|
||||
- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
|
||||
+ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
|
||||
|
||||
// insert it into the list,
|
||||
// handle border case.
|
||||
diff --git a/libs/pool/test/test_bug_6701.cpp b/libs/pool/test/test_bug_6701.cpp
|
||||
new file mode 100644
|
||||
index 000000000..e484d3c7e
|
||||
--- /dev/null
|
||||
+++ b/libs/pool/test/test_bug_6701.cpp
|
||||
@@ -0,0 +1,27 @@
|
||||
+/* Copyright (C) 2012 Étienne Dupuis
|
||||
+*
|
||||
+* Use, modification and distribution is subject to the
|
||||
+* Boost Software License, Version 1.0. (See accompanying
|
||||
+* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||||
+*/
|
||||
+
|
||||
+// Test of bug #6701 (https://svn.boost.org/trac/boost/ticket/6701)
|
||||
+
|
||||
+#include <boost/pool/object_pool.hpp>
|
||||
+#include <boost/limits.hpp>
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ boost::pool<> p(1024, std::numeric_limits<size_t>::max() / 768);
|
||||
+
|
||||
+ void *x = p.malloc();
|
||||
+ BOOST_ASSERT(!x);
|
||||
+
|
||||
+ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_next_size());
|
||||
+ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_max_size());
|
||||
+
|
||||
+ void *y = p.ordered_malloc(std::numeric_limits<size_t>::max() / 768);
|
||||
+ BOOST_ASSERT(!y);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
--
|
||||
2.31.1
|
||||
|
||||
24
boost-1.77-type_erasure-remove-boost-system-linkage.patch
Normal file
24
boost-1.77-type_erasure-remove-boost-system-linkage.patch
Normal file
@ -0,0 +1,24 @@
|
||||
From d96af5c5060f02d35a70f57d971b539258279634 Mon Sep 17 00:00:00 2001
|
||||
From: sdlzx <hdu_sdlzx@163.com>
|
||||
Date: Tue, 5 Oct 2021 17:14:02 +0800
|
||||
Subject: [PATCH] Remove boost.system linkage
|
||||
|
||||
---
|
||||
libs/type_erasure/build/Jamfile.v2 | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libs/type_erasure/build/Jamfile.v2 b/libs/type_erasure/build/Jamfile.v2
|
||||
index 2408e6bd8..3a77b5e57 100644
|
||||
--- a/libs/type_erasure/build/Jamfile.v2
|
||||
+++ b/libs/type_erasure/build/Jamfile.v2
|
||||
@@ -12,6 +12,6 @@ project /boost/type_erasure
|
||||
: usage-requirements <link>shared:<define>BOOST_TYPE_ERASURE_DYN_LINK
|
||||
;
|
||||
|
||||
-lib boost_type_erasure : dynamic_binding.cpp /boost//thread /boost//system ;
|
||||
+lib boost_type_erasure : dynamic_binding.cpp /boost//thread ;
|
||||
|
||||
boost-install boost_type_erasure ;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
From f58f3df2bf54fd820bd2c043e5000a7c90144804 Mon Sep 17 00:00:00 2001
|
||||
From: Liu Zixian <liuzixian4@huawei.com>
|
||||
Date: Thu, 15 Dec 2022 21:31:43 -0500
|
||||
Subject: [PATCH] Don't run performance test in CI
|
||||
|
||||
---
|
||||
libs/graph/test/Jamfile.v2 | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libs/graph/test/Jamfile.v2 b/libs/graph/test/Jamfile.v2
|
||||
index a0c15ca7b..c882916a7 100644
|
||||
--- a/libs/graph/test/Jamfile.v2
|
||||
+++ b/libs/graph/test/Jamfile.v2
|
||||
@@ -47,7 +47,10 @@ alias graph_test_regular :
|
||||
[ run undirected_dfs.cpp ]
|
||||
[ compile dfs_cc.cpp ]
|
||||
[ compile dijkstra_cc.cpp ]
|
||||
- [ run dijkstra_heap_performance.cpp /boost/timer//boost_timer : 10000 ]
|
||||
+
|
||||
+ # Performance benchmark
|
||||
+ #[ run dijkstra_heap_performance.cpp /boost/timer//boost_timer : 10000 ]
|
||||
+
|
||||
[ run dijkstra_no_color_map_compare.cpp : 10000 ]
|
||||
[ run disjoint_set_test.cpp ]
|
||||
[ run dominator_tree_test.cpp ]
|
||||
@ -1,27 +0,0 @@
|
||||
From 50973dc10ea16931245ea61a00b2ce9041acc5ba Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Wed, 4 Jan 2023 17:33:31 +0100
|
||||
Subject: [PATCH] Avoid boost::phoenix::placeholders::uarg1..10 ODR violations
|
||||
|
||||
Those variables, defined in an include file, had external linkage, causing ODR
|
||||
violations. Make them const to implicitly give them internal linkage.
|
||||
---
|
||||
boost/phoenix/stl/tuple.hpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/boost/phoenix/stl/tuple.hpp b/boost/phoenix/stl/tuple.hpp
|
||||
index a83014a..7f61a40 100644
|
||||
--- a/boost/phoenix/stl/tuple.hpp
|
||||
+++ b/boost/phoenix/stl/tuple.hpp
|
||||
@@ -110,7 +110,7 @@ namespace boost { namespace phoenix {
|
||||
namespace placeholders {
|
||||
#define BOOST_PP_LOCAL_LIMITS (1, BOOST_PHOENIX_ARG_LIMIT)
|
||||
#define BOOST_PP_LOCAL_MACRO(N) \
|
||||
- auto uarg##N = \
|
||||
+ auto const uarg##N = \
|
||||
boost::phoenix::get_<(N)-1>(boost::phoenix::placeholders::arg1);
|
||||
#include BOOST_PP_LOCAL_ITERATE()
|
||||
}
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -1,30 +0,0 @@
|
||||
From 4239d93dad32a11e4c3829050f8070d456266133 Mon Sep 17 00:00:00 2001
|
||||
From: jzmaddock <john@johnmaddock.co.uk>
|
||||
Date: Wed, 1 Jun 2022 19:35:36 +0100
|
||||
Subject: [PATCH] Update multiprecision_float_test.cpp to not overflow type
|
||||
double. Previously the max value for uint1024_t could just squeeze into a
|
||||
double because truncation occurred during the conversion, now that cpp_int
|
||||
performs correctly rounded conversions, overflow occurs, and the computation
|
||||
fails. Changed the problem distribution to use a multiprecision weight type,
|
||||
rather than double.
|
||||
|
||||
---
|
||||
libs/random/test/multiprecision_float_test.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libs/random/test/multiprecision_float_test.cpp b/libs/random/test/multiprecision_float_test.cpp
|
||||
index bc2a936..2b53483 100644
|
||||
--- a/libs/random/test/multiprecision_float_test.cpp
|
||||
+++ b/libs/random/test/multiprecision_float_test.cpp
|
||||
@@ -77,7 +77,7 @@ typedef boost::mpl::list <
|
||||
boost::random::lognormal_distribution<big_float>,
|
||||
boost::random::normal_distribution<big_float>,
|
||||
#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
- boost::random::piecewise_constant_distribution<big_float>,
|
||||
+ boost::random::piecewise_constant_distribution<big_float, big_float>,
|
||||
boost::random::piecewise_linear_distribution<big_float>,
|
||||
#endif
|
||||
boost::random::student_t_distribution<big_float>,
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
From 7561690135c67ecf88c2133bad7680ebd2665c36 Mon Sep 17 00:00:00 2001
|
||||
From: jzmaddock <john@johnmaddock.co.uk>
|
||||
Date: Wed, 1 Jun 2022 19:32:55 +0100
|
||||
Subject: [PATCH] Update multiprecision_int_test.cpp to not accidentality
|
||||
overflow type double. Multiprecision now performs correct rounding when
|
||||
converting to double - previously the max value for uint1024_t would just fit
|
||||
in a double if it was truncated. But now that it's correctly rounded it
|
||||
overflows and breaks the calculation.
|
||||
|
||||
---
|
||||
libs/random/test/multiprecision_int_test.cpp | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libs/random/test/multiprecision_int_test.cpp b/libs/random/test/multiprecision_int_test.cpp
|
||||
index 41ec229..a861cca 100644
|
||||
--- a/libs/random/test/multiprecision_int_test.cpp
|
||||
+++ b/libs/random/test/multiprecision_int_test.cpp
|
||||
@@ -215,8 +215,11 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(discrete_distributions, distribution_type, other_d
|
||||
distribution_type d2;
|
||||
ss >> d2;
|
||||
BOOST_CHECK(d == d2);
|
||||
-
|
||||
- boost::random::independent_bits_engine<boost::random::mt19937, std::numeric_limits<boost::multiprecision::uint1024_t>::digits, boost::multiprecision::uint1024_t > big_random;
|
||||
+ //
|
||||
+ // The number of digits in the independent_bits_engine must be low enough that we don't overflow
|
||||
+ // when converting to a double (see other_distributions declared above).
|
||||
+ //
|
||||
+ boost::random::independent_bits_engine<boost::random::mt19937, std::numeric_limits<boost::multiprecision::uint1024_t>::digits - 2, boost::multiprecision::uint1024_t > big_random;
|
||||
for(unsigned i = 0; i < 200; ++i)
|
||||
{
|
||||
result_type r = d(big_random);
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
From c3ada7a1b2b54f4b27585f72308a76984f8489b4 Mon Sep 17 00:00:00 2001
|
||||
From: jzmaddock <john@johnmaddock.co.uk>
|
||||
Date: Tue, 16 Mar 2021 10:47:16 +0000
|
||||
Subject: [PATCH] Add missing #includes.
|
||||
|
||||
---
|
||||
test/multiprecision_float_test.cpp | 1 +
|
||||
test/multiprecision_int_test.cpp | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libs/random/test/multiprecision_float_test.cpp b/libs/random/test/multiprecision_float_test.cpp
|
||||
index 904c59d..bc2a936 100644
|
||||
--- a/libs/random/test/multiprecision_float_test.cpp
|
||||
+++ b/libs/random/test/multiprecision_float_test.cpp
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <boost/multiprecision/debug_adaptor.hpp>
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
#include <boost/random.hpp>
|
||||
+#include <boost/mpl/list.hpp>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
diff --git a/libs/random/test/multiprecision_int_test.cpp b/libs/random/test/multiprecision_int_test.cpp
|
||||
index 577e52a..41ec229 100644
|
||||
--- a/libs/random/test/multiprecision_int_test.cpp
|
||||
+++ b/libs/random/test/multiprecision_int_test.cpp
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <boost/random/uniform_int.hpp>
|
||||
#include <boost/random/uniform_smallint.hpp>
|
||||
#include <boost/random/discrete_distribution.hpp>
|
||||
+#include <boost/mpl/list.hpp>
|
||||
#include <sstream>
|
||||
|
||||
typedef boost::mpl::list <
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
Index: boost_1_80_0/tools/boost_install/boost-install.jam
|
||||
===================================================================
|
||||
--- boost_1_80_0.orig/tools/boost_install/boost-install.jam
|
||||
+++ boost_1_80_0/tools/boost_install/boost-install.jam
|
||||
@@ -753,25 +753,6 @@ rule generate-cmake-config- ( target : s
|
||||
"get_filename_component(_BOOST_CMAKEDIR \"${CMAKE_CURRENT_LIST_DIR}/../\" REALPATH)"
|
||||
: true ;
|
||||
|
||||
- if [ path.is-rooted $(cmakedir) ]
|
||||
- {
|
||||
- local cmakedir-native = [ path-native-fwd $(cmakedir) ] ;
|
||||
-
|
||||
- print.text
|
||||
-
|
||||
- ""
|
||||
- "# If the computed and the original directories are symlink-equivalent, use original"
|
||||
- "if(EXISTS \"$(cmakedir-native)\")"
|
||||
- " get_filename_component(_BOOST_CMAKEDIR_ORIGINAL \"$(cmakedir-native)\" REALPATH)"
|
||||
- " if(_BOOST_CMAKEDIR STREQUAL _BOOST_CMAKEDIR_ORIGINAL)"
|
||||
- " set(_BOOST_CMAKEDIR \"$(cmakedir-native)\")"
|
||||
- " endif()"
|
||||
- " unset(_BOOST_CMAKEDIR_ORIGINAL)"
|
||||
- "endif()"
|
||||
- ""
|
||||
- : true ;
|
||||
- }
|
||||
-
|
||||
get-dir "_BOOST_INCLUDEDIR" : $(includedir) ;
|
||||
|
||||
if $(library-type) = INTERFACE
|
||||
|
||||
1381
boost.spec
1381
boost.spec
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,13 +0,0 @@
|
||||
Index: boost_1_80_0/libs/test/build/Jamfile.v2
|
||||
===================================================================
|
||||
--- boost_1_80_0.orig/libs/test/build/Jamfile.v2
|
||||
+++ boost_1_80_0/libs/test/build/Jamfile.v2
|
||||
@@ -95,7 +95,7 @@ lib boost_test_exec_monitor
|
||||
: # sources
|
||||
$(TEST_EXEC_MON_SOURCES).cpp
|
||||
: # requirements
|
||||
- <link>static
|
||||
+ # <link>static
|
||||
: # default build
|
||||
: # usage-requirements
|
||||
<link>shared:<define>BOOST_TEST_DYN_LINK=1
|
||||
Loading…
Reference in New Issue
Block a user