!11 update boost from 1.66.0 to 1.73.0

Merge pull request !11 from 吴旭/mymaster
This commit is contained in:
openeuler-ci-bot 2020-07-23 11:46:22 +08:00 committed by Gitee
commit 476d71fe46
16 changed files with 427 additions and 801 deletions

144
bjam Normal file
View 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

View File

@ -1,150 +0,0 @@
diff --git a/tools/build/v2/doc/bjam.1 b/tools/build/v2/doc/bjam.1
new file mode 100644
index 0000000..8a44af6
--- /dev/null
+++ b/tools/build/v2/doc/bjam.1
@@ -0,0 +1,144 @@
+.TH "bjam" 1 "Sat Nov 19 2011" "Doxygen" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+bjam \- Command-line utility to build Boost-related C++ projects with Boost\&.Build
+.SH "SYNOPSIS"
+.PP
+\fBbjam\fP \fC[-a] [-dx] [-fx] [-jx] [-lx] [-n] [-ox] [-px] [-q] [-sx=y] [-tx] [-v] [--x]\fP
+.PP
+\fIbjam\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 jam 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 bjam 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
+\fIbjam\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

View File

@ -1,13 +1,13 @@
diff --git a/libs/units/example/autoprefixes.cpp b/libs/units/example/autoprefixes.cpp diff --git a/libs/units/example/autoprefixes.cpp b/libs/units/example/autoprefixes.cpp
index 8b2bc43..d04f2fe 100644 index 9966766c6..090be0906 100644
--- a/libs/units/example/autoprefixes.cpp --- a/libs/units/example/autoprefixes.cpp
+++ b/libs/units/example/autoprefixes.cpp +++ b/libs/units/example/autoprefixes.cpp
@@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit<thing_base_unit, boost::units:: @@ -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> struct euro_base_unit : boost::units::base_unit<euro_base_unit, boost::units::dimensionless_type, 5>
{ {
static const char* name() { return("EUR"); } static constexpr const char* name() { return("EUR"); }
- static const char* symbol() { return("€"); } - static constexpr const char* symbol() { return("€"); }
+ static const char* symbol() { return("€"); } + static constexpr const char* symbol() { return("€"); }
}; };
int main() int main()
@ -20,3 +20,5 @@ index 8b2bc43..d04f2fe 100644
return 0; return 0;
--
2.19.1

View File

@ -1,31 +0,0 @@
diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp
--- boost_1_57_0/boost/mpl/print.hpp~ 2014-07-09 23:12:31.000000000 +0200
+++ boost_1_57_0/boost/mpl/print.hpp 2015-01-20 12:44:59.621400948 +0100
@@ -52,16 +52,15 @@ struct print
enum { n = sizeof(T) + -1 };
#elif defined(__MWERKS__)
void f(int);
-#else
- enum {
- n =
-# if defined(__EDG_VERSION__)
- aux::dependent_unsigned<T>::value > -1
-# else
- sizeof(T) > -1
-# endif
- };
-#endif
+#elif defined(__EDG_VERSION__)
+ enum { n = aux::dependent_unsigned<T>::value > -1 };
+#elif defined(BOOST_GCC)
+ enum { n1 };
+ enum { n2 };
+ enum { n = n1 != n2 };
+#else
+ enum { n = sizeof(T) > -1 };
+#endif
};
#if defined(BOOST_MSVC)
Diff finished. Tue Jan 20 12:45:03 2015

View File

@ -1,13 +0,0 @@
Index: boost_1_57_0/tools/build/src/tools/python.jam
===================================================================
--- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406)
+++ boost_1_57_0/tools/build/src/tools/python.jam (working copy)
@@ -994,7 +994,7 @@
else
{
alias python_for_extensions
- :
+ : python
: $(target-requirements)
:
: $(usage-requirements)

View File

@ -1,31 +1,33 @@
diff -up boost_1_58_0/libs/pool/test/Jamfile.v2\~ boost_1_58_0/libs/pool/test/Jamfile.v2 diff -up boost_1_58_0/libs/pool/test/Jamfile.v2\~ boost_1_58_0/libs/pool/test/Jamfile.v2
--- boost_1_57_0/libs/pool/test/Jamfile.v2~ 2015-07-17 11:36:16.362519826 +0100 --- boost_1_57_0/libs/pool/test/Jamfile.v2~ 2015-07-17 11:36:16.362519826 +0100
+++ boost_1_57_0/libs/pool/test/Jamfile.v2 2015-07-17 11:37:38.858847388 +0100 +++ boost_1_57_0/libs/pool/test/Jamfile.v2 2015-07-17 11:37:38.858847388 +0100
@@ -28,17 +28,17 @@ @@ -22,18 +22,18 @@ import os ;
local Werr = <toolset>gcc:<warnings-as-errors>on <toolset>msvc:<warnings-as-errors>on ; import testing ;
test-suite pool : test-suite pool :
- [ run test_simple_seg_storage.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4267 ] - [ run test_simple_seg_storage.cpp : : : <toolset>msvc:<cxxflags>-wd4267 ]
- [ run test_pool_alloc.cpp : : : $(Werr) ] - [ run test_pool_alloc.cpp ]
- [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4512 ] - [ run pool_msvc_compiler_bug_test.cpp : : : <toolset>msvc:<cxxflags>-wd4512 ]
- [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) ] - [ run test_msvc_mem_leak_detect.cpp ]
- [ run test_bug_3349.cpp : : : $(Werr) ] - [ run test_bug_3349.cpp ]
- [ run test_bug_4960.cpp : : : $(Werr) ] - [ run test_bug_4960.cpp ]
- [ run test_bug_1252.cpp : : : $(Werr) ] + [ run test_simple_seg_storage.cpp : : : <toolset>msvc:<cxxflags>-wd4267 <library>/boost/system//boost_system ]
- [ run test_bug_2696.cpp : : : $(Werr) ] + [ run test_pool_alloc.cpp <library>/boost/system//boost_system ]
- [ run test_bug_5526.cpp : : : $(Werr) ] + [ run pool_msvc_compiler_bug_test.cpp : : : <toolset>msvc:<cxxflags>-wd4512 <library>/boost/system//boost_system ]
+ [ run test_simple_seg_storage.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4267 <library>/boost/system//boost_system ] + [ run test_msvc_mem_leak_detect.cpp : : : <library>/boost/system//boost_system ]
+ [ run test_pool_alloc.cpp : : : $(Werr) <library>/boost/system//boost_system ] + [ run test_bug_3349.cpp : : : <library>/boost/system//boost_system ]
+ [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4512 <library>/boost/system//boost_system ] + [ run test_bug_4960.cpp : : : <library>/boost/system//boost_system ]
+ [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) <library>/boost/system//boost_system ] [ run test_bug_1252.cpp : : :
+ [ run test_bug_3349.cpp : : : $(Werr) <library>/boost/system//boost_system ] <toolset>clang:<cxxflags>-Wno-c++11-long-long
+ [ run test_bug_4960.cpp : : : $(Werr) <library>/boost/system//boost_system ] <toolset>gcc:<cxxflags>-Wno-long-long
+ [ run test_bug_1252.cpp : : : $(Werr) <library>/boost/system//boost_system ] - <toolset>pathscale:<cxxflags>-Wno-long-long ]
+ [ run test_bug_2696.cpp : : : $(Werr) <library>/boost/system//boost_system ] - [ run test_bug_2696.cpp ]
+ [ run test_bug_5526.cpp : : : $(Werr) <library>/boost/system//boost_system ] - [ run test_bug_5526.cpp ]
+ <toolset>pathscale:<cxxflags>-Wno-long-long <library>/boost/system//boost_system ]
+ [ run test_bug_2696.cpp : : : <library>/boost/system//boost_system ]
+ [ run test_bug_5526.cpp : : : <library>/boost/system//boost_system ]
[ run test_threading.cpp : : : <threading>multi <library>/boost/thread//boost_thread ] [ run test_threading.cpp : : : <threading>multi <library>/boost/thread//boost_thread ]
- [ run ../example/time_pool_alloc.cpp : : : $(Werr) ] [ compile test_poisoned_macros.cpp ]
+ [ run ../example/time_pool_alloc.cpp : : : $(Werr) <library>/boost/system//boost_system ] ;
[ compile test_poisoned_macros.cpp : $(Werr) ] --
2.19.1
#

View File

@ -1,13 +0,0 @@
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:09:56.041685502 +0000
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:09:56.042685500 +0000
@@ -421,7 +421,9 @@
rule set-address-model-options ( targets * : sources * : properties * )
{
- local model = [ feature.get-values address-model : $(properties) ] ;
+ # For RPM builds the address model flag is passed in %{optflags}.
+ # local model = [ feature.get-values address-model : $(properties) ] ;
+ local model ;
if $(model)
{
local option ;

View File

@ -1,26 +0,0 @@
--- boost_1_66_0/tools/build/src/engine/build.jam~ 2018-02-07 21:36:14.552201421 +0000
+++ boost_1_66_0/tools/build/src/engine/build.jam 2018-02-07 21:36:29.014173266 +0000
@@ -4,7 +4,7 @@
#~ http://www.boost.org/LICENSE_1_0.txt)
# Clean env vars of any "extra" empty values.
-for local v in ARGV CC CFLAGS LIBS
+for local v in ARGV CC CFLAGS LIBS RPM_OPT_FLAGS RPM_LD_FLAGS
{
local values ;
for local x in $($(v))
@@ -215,12 +215,12 @@
: -L$(--python-lib[1]) -l$(--python-lib[2]) ;
## GCC 2.x, 3.x, 4.x
toolset gcc gcc : "-o " : -D
- : -pedantic -fno-strict-aliasing
+ : -pedantic -fno-strict-aliasing $(RPM_OPT_FLAGS)
[ opt --release : [ opt --symbols : -g : -s ] -O3 ]
[ opt --debug : -g -O0 -fno-inline ]
[ opt --profile : -O3 -g -pg ]
-I$(--python-include) -I$(--extra-include) -Wno-long-long
- : -L$(--python-lib[1]) -l$(--python-lib[2]) ;
+ : -L$(--python-lib[1]) -l$(--python-lib[2]) $(RPM_LD_FLAGS) ;
## GCC 2.x, 3.x on CYGWIN but without cygwin1.dll
toolset gcc-nocygwin gcc : "-o " : -D
: -s -O3 -mno-cygwin

View File

@ -1,49 +0,0 @@
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2017-12-13 23:56:50.000000000 +0000
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 12:48:26.264755316 +0000
@@ -603,7 +603,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
@@ -613,7 +613,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
@@ -755,17 +755,17 @@ 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 <warnings>off : -w ;
-toolset.flags gcc.compile OPTIONS <warnings>on : -Wall ;
-toolset.flags gcc.compile OPTIONS <warnings>all : -Wall -pedantic ;
+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 : ;
+toolset.flags gcc.compile OPTIONS <warnings>on : ;
+toolset.flags gcc.compile OPTIONS <warnings>all : ;
toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;

View File

@ -1,23 +0,0 @@
From fdbdb94db64e888fce90fe519be23c2a4396a82e Mon Sep 17 00:00:00 2001
From: pradeep <pradeep@arrayfire.com>
Date: Tue, 8 May 2018 14:53:38 +0530
Subject: [PATCH 1/2] Fix return var qualifier in svm_ptr::get_context
Lack of `const` qualifier is throwing errors with GCC 8.1
---
include/boost/compute/memory/svm_ptr.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/boost/compute/memory/svm_ptr.hpp b/include/boost/compute/memory/svm_ptr.hpp
index c8753f5b..56cf1268 100644
--- a/include/boost/compute/memory/svm_ptr.hpp
+++ b/include/boost/compute/memory/svm_ptr.hpp
@@ -126,7 +126,7 @@ class svm_ptr
return m_ptr - other.m_ptr;
}
- context& get_context() const
+ const context& get_context() const
{
return m_context;
}

View File

@ -1,29 +0,0 @@
From 0fce0e589353d772ceda4d493b147138406b22fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Moritz=20Wanzenb=C3=B6ck?= <moritz.wanzenboeck@catalysts.cc>
Date: Wed, 11 Jul 2018 11:57:46 +0200
Subject: [PATCH] Add missing return statement in numpy import
This adds a missing return statement in the python3 specific
import logic of boost.python.numpy.
For python3 wrap_import_array() needs to return a pointer value.
The import_array() macro only returns NULL in case of error. The
missing return statement is UB, so the compiler can assume it does
not happen. This means the compiler can assume the error branch
is always taken, so import_array must always fail.
---
src/numpy/numpy.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/numpy/numpy.cpp b/src/numpy/numpy.cpp
index 8e259bc75..3ae2295e3 100644
--- a/libs/python/src/numpy/numpy.cpp
+++ b/libs/python/src/numpy/numpy.cpp
@@ -19,6 +19,7 @@ static void wrap_import_array()
static void * wrap_import_array()
{
import_array();
+ return NULL;
}
#endif

View File

@ -1,62 +0,0 @@
--- 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
# using python : 2.3 : /usr/local/bin/python ;
#
rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
- : condition * : extension-suffix ? )
+ : condition * : extension-suffix ? : abi-letters ? )
{
project.push-current $(.project) ;
@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ?
}
}
- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ;
+ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ;
project.pop-current ;
}
@@ -653,7 +653,7 @@ local rule system-library-dependencies (
# Declare a target to represent Python's library.
#
-local rule declare-libpython-target ( version ? : requirements * )
+local rule declare-libpython-target ( version ? : requirements * : abi-letters ? )
{
# Compute the representation of Python version in the name of Python's
# library file.
@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve
}
# Declare it.
- lib python.lib : : <name>python$(lib-version) $(requirements) ;
+ lib python.lib : : <name>python$(lib-version)$(abi-letters) $(requirements) ;
}
# Implementation of init.
local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
- condition * : extension-suffix ? )
+ condition * : extension-suffix ? : abi-letters ? )
{
local prefix ;
local exec-prefix ;
@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o
extension-suffix ?= _d ;
}
extension-suffix ?= "" ;
+ abi-letters ?= "" ;
local cmds-to-try ;
@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
}
else
{
- declare-libpython-target $(version) : $(target-requirements) ;
+ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ;
# This is an evil hack. On, Windows, when Python is embedded, nothing
# seems to set up sys.path to include Python's standard library

View File

@ -1,39 +0,0 @@
From 660487c43fde76f3e64f1cb2e644500da92fe582 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
Date: Fri, 9 Feb 2018 18:20:30 +0100
Subject: [PATCH] Fix build with Python 3.7
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Python 3.7 changes the return type of _PyUnicode_AsString()
from void* to const char* -- causing the build of boost-python
to fail.
Signed-off-by: Bernhard Rosenkränzer <bero@lindev.ch>
---
src/converter/builtin_converters.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/converter/builtin_converters.cpp b/src/converter/builtin_converters.cpp
index 1c28af7fc..ee2d5b479 100644
--- a/libs/python/src/converter/builtin_converters.cpp
+++ b/libs/python/src/converter/builtin_converters.cpp
@@ -45,11 +45,16 @@ namespace
{
return PyString_Check(obj) ? PyString_AsString(obj) : 0;
}
-#else
+#elif PY_VERSION_HEX < 0x03070000
void* convert_to_cstring(PyObject* obj)
{
return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
}
+#else
+ void* convert_to_cstring(PyObject* obj)
+ {
+ return PyUnicode_Check(obj) ? const_cast<void*>(reinterpret_cast<const void*>(_PyUnicode_AsString(obj))) : 0;
+ }
#endif
// Given a target type and a SlotPolicy describing how to perform a

View File

@ -1,15 +0,0 @@
--- boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp~ 2018-02-23 16:59:53.785141676 +0000
+++ boost_1_66_0/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp 2018-02-23 17:00:16.838092946 +0000
@@ -68,7 +68,11 @@
typedef unsignedtype type; \
static type call(signedtype n) \
{ \
- return static_cast<unsignedtype>((n >= 0) ? n : -n); \
+ if (n >= 0) \
+ return n; \
+ if (n == std::numeric_limits<signedtype>::min()) \
+ return (unsignedtype)n; \
+ return (unsignedtype)(-n); \
} \
} \
/**/

View File

@ -1,13 +1,14 @@
%global boost_docdir __tmp_docdir %global boost_docdir __tmp_docdir
%global boost_examplesdir __tmp_examplesdir %global boost_examplesdir __tmp_examplesdir
%global version_enc 1_66_0 %global version_enc 1_73_0
%global version_mid 73
%global toplev_dirname %{name}_%{version_enc} %global toplev_dirname %{name}_%{version_enc}
%global sonamever %{version} %global sonamever %{version}
%global python3_lib_version 38
%bcond_with mpich %bcond_with mpich
%bcond_with openmpi %bcond_with openmpi
%bcond_without context %bcond_without context
%bcond_without python2
%bcond_without python3 %bcond_without python3
%ifnarch %{ix86} x86_64 %ifnarch %{ix86} x86_64
@ -20,92 +21,74 @@
%bcond_with docs_generated %bcond_with docs_generated
Name: boost Name: boost
Version: 1.66.0 Version: 1.73.0
Release: 18 Release: 1
Summary: The free peer-reviewed portable C++ source libraries Summary: The free peer-reviewed portable C++ source libraries
License: Boost and MIT and Python License: Boost and MIT and Python
URL: http://www.boost.org URL: http://www.boost.org
Source0: https://sourceforge.net/projects/boost/files/boost/%{version}/%{toplev_dirname}.tar.bz2 Source0: https://sourceforge.net/projects/boost/files/boost/%{version}/%{toplev_dirname}.tar.bz2
Source1: libboost_thread.so Source1: libboost_thread.so
Source2: bjam
# https://svn.boost.org/trac/boost/ticket/6150 # https://svn.boost.org/trac/boost/ticket/6150
Patch4: boost-1.50.0-fix-non-utf8-files.patch Patch1: boost-1.50.0-fix-non-utf8-files.patch
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
Patch5: boost-1.48.0-add-bjam-man-page.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=828856 # https://bugzilla.redhat.com/show_bug.cgi?id=828856
# https://bugzilla.redhat.com/show_bug.cgi?id=828857 # https://bugzilla.redhat.com/show_bug.cgi?id=828857
# https://svn.boost.org/trac/boost/ticket/6701 # https://svn.boost.org/trac/boost/ticket/6701
Patch15: boost-1.58.0-pool.patch Patch2: boost-1.58.0-pool.patch
# https://svn.boost.org/trac/boost/ticket/5637
Patch25: boost-1.57.0-mpl-print.patch
# https://svn.boost.org/trac/boost/ticket/9038 # https://svn.boost.org/trac/boost/ticket/9038
Patch51: boost-1.58.0-pool-test_linking.patch Patch3: boost-1.58.0-pool-test_linking.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1102667
Patch61: boost-1.57.0-python-libpython_dep.patch
Patch62: boost-1.66.0-python-abi_letters.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1190039
Patch65: boost-1.66.0-build-optflags.patch
Patch68: boost-1.66.0-address-model.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1318383 # https://bugzilla.redhat.com/show_bug.cgi?id=1318383
Patch82: boost-1.66.0-no-rpath.patch Patch4: boost-1.66.0-no-rpath.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1541035 Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
Patch83: boost-1.66.0-bjam-build-flags.patch Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
Requires: %{name}-container%{?_isa} = %{version}-%{release}
# https://bugzilla.redhat.com/show_bug.cgi?id=1545092 Requires: %{name}-context%{?_isa} = %{version}-%{release}
Patch84: boost-1.66.0-spirit-abs-overflow.patch Requires: %{name}-coroutine%{?_isa} = %{version}-%{release}
Requires: %{name}-date-time%{?_isa} = %{version}-%{release}
# https://bugzilla.redhat.com/show_bug.cgi?id=1585515 Requires: %{name}-fiber%{?_isa} = %{version}-%{release}
Patch85: boost-1.66.0-compute.patch Requires: %{name}-filesystem%{?_isa} = %{version}-%{release}
Requires: %{name}-graph%{?_isa} = %{version}-%{release}
# https://github.com/boostorg/python/pull/186 Requires: %{name}-iostreams%{?_isa} = %{version}-%{release}
Patch86: boost-1.66.0-python37.patch Requires: %{name}-locale%{?_isa} = %{version}-%{release}
Requires: %{name}-log%{?_isa} = %{version}-%{release}
# https://bugzilla.redhat.com/show_bug.cgi?id=1596468 Requires: %{name}-math%{?_isa} = %{version}-%{release}
# https://github.com/boostorg/python/pull/218 Requires: %{name}-nowide%{?_isa} = %{version}-%{release}
Patch87: boost-1.66.0-numpy3.patch Requires: %{name}-program-options%{?_isa} = %{version}-%{release}
Requires: %{name}-random%{?_isa} = %{version}-%{release}
Requires: boost-atomic%{?_isa} = %{version}-%{release} Requires: %{name}-regex%{?_isa} = %{version}-%{release}
Requires: boost-chrono%{?_isa} = %{version}-%{release} Requires: %{name}-serialization%{?_isa} = %{version}-%{release}
Requires: boost-container%{?_isa} = %{version}-%{release} Requires: %{name}-stacktrace%{?_isa} = %{version}-%{release}
Requires: boost-context%{?_isa} = %{version}-%{release} Requires: %{name}-system%{?_isa} = %{version}-%{release}
Requires: boost-coroutine%{?_isa} = %{version}-%{release} Requires: %{name}-test%{?_isa} = %{version}-%{release}
Requires: boost-date-time%{?_isa} = %{version}-%{release} Requires: %{name}-thread%{?_isa} = %{version}-%{release}
Requires: boost-fiber%{?_isa} = %{version}-%{release} Requires: %{name}-timer%{?_isa} = %{version}-%{release}
Requires: boost-filesystem%{?_isa} = %{version}-%{release} Requires: %{name}-type_erasure%{?_isa} = %{version}-%{release}
Requires: boost-graph%{?_isa} = %{version}-%{release} Requires: %{name}-wave%{?_isa} = %{version}-%{release}
Requires: boost-iostreams%{?_isa} = %{version}-%{release} Requires: %{name}-contract%{?_isa} = %{version}-%{release}
Requires: boost-locale%{?_isa} = %{version}-%{release}
Requires: boost-log%{?_isa} = %{version}-%{release}
Requires: boost-math%{?_isa} = %{version}-%{release}
Requires: boost-program-options%{?_isa} = %{version}-%{release}
Requires: boost-random%{?_isa} = %{version}-%{release}
Requires: boost-regex%{?_isa} = %{version}-%{release}
Requires: boost-serialization%{?_isa} = %{version}-%{release}
Requires: boost-signals%{?_isa} = %{version}-%{release}
Requires: boost-stacktrace%{?_isa} = %{version}-%{release}
Requires: boost-system%{?_isa} = %{version}-%{release}
Requires: boost-test%{?_isa} = %{version}-%{release}
Requires: boost-thread%{?_isa} = %{version}-%{release}
Requires: boost-timer%{?_isa} = %{version}-%{release}
Requires: boost-type_erasure%{?_isa} = %{version}-%{release}
Requires: boost-wave%{?_isa} = %{version}-%{release}
BuildRequires: gcc-c++ m4 tcl gdb BuildRequires: gcc-c++ m4 tcl gdb
BuildRequires: libstdc++-devel bzip2-devel zlib-devel BuildRequires: libstdc++-devel bzip2-devel zlib-devel libicu-devel
BuildRequires: python2-devel python3-devel libicu-devel %if %{with python3}
BuildRequires: python2-numpy python3-numpy BuildRequires: python3-devel python3-numpy
BuildRequires: boost-python3-devel boost-python3
%endif
%if %{with quadmath} %if %{with quadmath}
BuildRequires: libquadmath-devel BuildRequires: libquadmath-devel
%endif %endif
BuildRequires: boost-atomic boost-build boost-chrono boost-container boost-context
BuildRequires: boost-coroutine boost-date-time boost-devel boost-doctools boost-wave
BuildRequires: boost-examples boost-fiber boost-filesystem boost-graph boost-iostreams
BuildRequires: boost-jam boost-locale boost-log boost-math boost-numpy3 boost-type_erasure
BuildRequires: boost-program-options boost-random boost-regex boost-serialization
BuildRequires: boost-stacktrace boost-system boost-test boost-thread boost-timer
Obsoletes: boost-signals
%description %description
Boost provides free peer-reviewed portable C++ source libraries. The Boost provides free peer-reviewed portable C++ source libraries. The
@ -118,6 +101,13 @@ the new C++11 Standard. C++11 also includes several more Boost
libraries in addition to those from TR1. More Boost libraries are libraries in addition to those from TR1. More Boost libraries are
proposed for standardization in C++17. proposed for standardization in C++17.
%package contract
Summary: Boost.Contract runtime library
%description contract
Runtime support for Boost.Contract, a library that implements
Design by Contract or DbC or contract programming.
%package atomic %package atomic
Summary: C++11-style atomic<> Summary: C++11-style atomic<>
@ -256,20 +246,14 @@ standard. Quaternions are a relative of complex numbers often used to
parameterise rotations in three dimentional space. Octonions, like parameterise rotations in three dimentional space. Octonions, like
quaternions, are a relative of complex numbers. quaternions, are a relative of complex numbers.
%package numpy2 %package nowide
Summary: Run-time component of boost numpy library for Python 2 Summary: Standard library functions with UTF-8 API on Windows
Requires: boost-python2%{?_isa} = %{version}-%{release}
Requires: python2-numpy
Provides: boost-numpy%{?_isa} = %{version}-%{release}
Obsoletes: boost-numpy < %{version}-%{release}
%description numpy2 %description nowide
The Boost Python Library is a framework for interfacing Python and Run-time support for Boost.Nowide.
C++. It allows you to quickly and seamlessly expose C++ classes,
functions and objects to Python, and vice versa, using no special %if %{with python3}
tools -- just your C++ compiler. This package contains run-time
support for the NumPy extension of the Boost Python Library for Python 2.
%package numpy3 %package numpy3
Summary: Run-time component of boost numpy library for Python 3 Summary: Run-time component of boost numpy library for Python 3
@ -284,42 +268,6 @@ functions and objects to Python, and vice versa, using no special
tools -- just your C++ compiler. This package contains run-time tools -- just your C++ compiler. This package contains run-time
support for the NumPy extension of the Boost Python Library for Python 3. support for the NumPy extension of the Boost Python Library for Python 3.
%package program-options
Summary: Run-time component of boost program_options library
%description program-options
Boost program options library allows program developers to obtain
(name, value) pairs from the user, via conventional methods such as
command line and config file.
%package python2
Provides: %{name}-python = %{version}-%{release}
Provides: %{name}-python%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-python < %{version}-%{release}
Obsoletes: python2-%{name} < %{version}-%{release}
Summary: Run-time component of boost python library for Python 2
%description python2
The Boost Python Library is a framework for interfacing Python and
C++. It allows you to quickly and seamlessly expose C++ classes,
functions and objects to Python, and vice versa, using no special
tools -- just your C++ compiler. This package contains run-time
support for the Boost Python Library compiled for Python 2.
%package python2-devel
Summary: Shared object symbolic links for Boost.Python 2
Requires: boost-numpy2%{?_isa} = %{version}-%{release}
Requires: boost-python2%{?_isa} = %{version}-%{release}
Requires: boost-devel%{?_isa} = %{version}-%{release}
Provides: boost-python-devel%{?_isa} = %{version}-%{release}
Obsoletes: boost-python-devel < %{version}-%{release}
%description python2-devel
Shared object symbolic links for Python 2 variant of Boost.Python.
%package python3 %package python3
Summary: Run-time component of boost python library for Python 3 Summary: Run-time component of boost python library for Python 3
@ -341,6 +289,17 @@ Requires: boost-devel%{?_isa} = %{version}-%{release}
Shared object symbolic links for Python 3 variant of Boost.Python. Shared object symbolic links for Python 3 variant of Boost.Python.
%endif
%package program-options
Summary: Run-time component of boost program_options library
%description program-options
Boost program options library allows program developers to obtain
(name, value) pairs from the user, via conventional methods such as
command line and config file.
%package random %package random
Summary: A complete system for random number generation Summary: A complete system for random number generation
@ -364,13 +323,6 @@ Summary: Run-time component of boost serialization library
Run-time support for serialization for persistence and marshaling. Run-time support for serialization for persistence and marshaling.
%package signals
Summary: Run-time component of boost signals and slots library
%description signals
Managed signals & slots callback implementation (thread-safe version 2).
%package stacktrace %package stacktrace
Summary: Run-time component of boost stacktrace library Summary: Run-time component of boost stacktrace library
@ -494,30 +446,7 @@ Requires: boost-graph-openmpi%{?_isa} = %{version}-%{release}
Devel package for Boost.MPI-OpenMPI, a library providing a clean C++ Devel package for Boost.MPI-OpenMPI, a library providing a clean C++
API over the OpenMPI implementation of MPI. API over the OpenMPI implementation of MPI.
%package openmpi-python2 %if %{with python3}
Summary: Python 2 run-time component of Boost.MPI library
Requires: boost-openmpi%{?_isa} = %{version}-%{release}
Requires: boost-python%{?_isa} = %{version}-%{release}
Requires: boost-serialization%{?_isa} = %{version}-%{release}
Requires: python2-openmpi%{?_isa}
Provides: boost-openmpi-python%{?_isa} = %{version}-%{release}
Obsoletes: boost-openmpi-python < %{version}-%{release}
%description openmpi-python2
Python 2 support for Boost.MPI-OpenMPI, a library providing a clean C++
API over the OpenMPI implementation of MPI.
%package openmpi-python2-devel
Summary: Shared library symbolic links for Boost.MPI Python 2 component
Requires: boost-devel%{?_isa} = %{version}-%{release}
Requires: boost-openmpi-devel%{?_isa} = %{version}-%{release}
Requires: boost-openmpi-python2%{?_isa} = %{version}-%{release}
%description openmpi-python2-devel
Devel package for the Python 2 interface of Boost.MPI-OpenMPI, a library
providing a clean C++ API over the OpenMPI implementation of MPI.
%package openmpi-python3 %package openmpi-python3
Summary: Python 3 run-time component of Boost.MPI library Summary: Python 3 run-time component of Boost.MPI library
@ -543,6 +472,8 @@ Requires: boost-openmpi-python3%{?_isa} = %{version}-%{release}
Devel package for the Python 3 interface of Boost.MPI-OpenMPI, a library Devel package for the Python 3 interface of Boost.MPI-OpenMPI, a library
providing a clean C++ API over the OpenMPI implementation of MPI. providing a clean C++ API over the OpenMPI implementation of MPI.
%endif
%package graph-openmpi %package graph-openmpi
Summary: Run-time component of parallel boost graph library Summary: Run-time component of parallel boost graph library
Requires: boost-openmpi%{?_isa} = %{version}-%{release} Requires: boost-openmpi%{?_isa} = %{version}-%{release}
@ -578,30 +509,7 @@ Requires: boost-graph-mpich%{?_isa} = %{version}-%{release}
Devel package for Boost.MPI-MPICH, a library providing a clean C++ Devel package for Boost.MPI-MPICH, a library providing a clean C++
API over the MPICH implementation of MPI. API over the MPICH implementation of MPI.
%package mpich-python2 %if %{with python3}
Summary: Python run-time component of Boost.MPI library
Requires: boost-mpich%{?_isa} = %{version}-%{release}
Requires: boost-python2%{?_isa} = %{version}-%{release}
Requires: boost-serialization%{?_isa} = %{version}-%{release}
Requires: python2-mpich%{?_isa}
Provides: boost-mpich-python%{?_isa} = %{version}-%{release}
Obsoletes: boost-mpich-python < %{version}-%{release}
%description mpich-python2
Python 2 support for Boost.MPI-MPICH, a library providing a clean C++
API over the MPICH implementation of MPI.
%package mpich-python2-devel
Summary: Shared library symbolic links for Boost.MPI Python 2 component
Requires: boost-devel%{?_isa} = %{version}-%{release}
Requires: boost-mpich-devel%{?_isa} = %{version}-%{release}
Requires: boost-mpich-python2%{?_isa} = %{version}-%{release}
%description mpich-python2-devel
Devel package for the Python 2 interface of Boost.MPI-MPICH, a library
providing a clean C++ API over the MPICH implementation of MPI.
%package mpich-python3 %package mpich-python3
Summary: Python 3 run-time component of Boost.MPI library Summary: Python 3 run-time component of Boost.MPI library
@ -627,6 +535,8 @@ Requires: boost-mpich-python3%{?_isa} = %{version}-%{release}
Devel package for the Python 3 interface of Boost.MPI-MPICH, a library Devel package for the Python 3 interface of Boost.MPI-MPICH, a library
providing a clean C++ API over the MPICH implementation of MPI. providing a clean C++ API over the MPICH implementation of MPI.
%endif
%package graph-mpich %package graph-mpich
Summary: Run-time component of parallel boost graph library Summary: Run-time component of parallel boost graph library
Requires: boost-mpich%{?_isa} = %{version}-%{release} Requires: boost-mpich%{?_isa} = %{version}-%{release}
@ -675,27 +585,17 @@ a number of significant features and is now developed independently.
%setup -q -n %{toplev_dirname} %setup -q -n %{toplev_dirname}
find ./boost -name '*.hpp' -perm /111 | xargs chmod a-x find ./boost -name '*.hpp' -perm /111 | xargs chmod a-x
%patch1 -p1
%patch2 -p0
%patch3 -p1
%patch4 -p1 %patch4 -p1
%patch5 -p1
%patch15 -p0
%patch25 -p1
%patch51 -p1
%patch61 -p1
%patch62 -p1
%patch65 -p1
%patch68 -p1
%patch82 -p1
%patch83 -p1
%patch84 -p1
%patch85 -p2
%patch86 -p1
%patch87 -p1
%build %build
: PYTHON2_VERSION=%{python2_version} %if %{with python3}
PYTHON3_ABIFLAGS=$(/usr/bin/python3-config --abiflags) PYTHON3_ABIFLAGS=$(/usr/bin/python3-config --abiflags)
: PYTHON3_VERSION=%{python3_version} : PYTHON3_VERSION=%{python3_version}
: PYTHON3_ABIFLAGS=${PYTHON3_ABIFLAGS} : PYTHON3_ABIFLAGS=${PYTHON3_ABIFLAGS}
%endif
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations" export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Wno-unused-local-typedefs -Wno-deprecated-declarations"
export RPM_LD_FLAGS export RPM_LD_FLAGS
@ -709,15 +609,28 @@ using gcc : : : <compileflags>$(RPM_OPT_FLAGS) <linkflags>$(RPM_LD_FLAGS) ;
%if 0%{with openmpi} || 0%{with mpich} %if 0%{with openmpi} || 0%{with mpich}
using mpi ; using mpi ;
%endif %endif
using python : %{python2_version} : /usr/bin/python2 : /usr/include/python%{python2_version} : : : : ;
EOF EOF
%if %{with python3}
cat >> ./tools/build/src/user-config.jam << EOF
using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}${PYTHON3_ABIFLAGS} : : : ;
EOF
%endif
./bootstrap.sh --with-toolset=gcc --with-icu ./bootstrap.sh --with-toolset=gcc --with-icu
echo ============================= build serial ================== echo ============================= build serial ==================
./b2 -d+2 -q %{?_smp_mflags} --without-mpi --without-graph_parallel \ ./b2 -d+2 -q %{?_smp_mflags} \
--build-dir=serial variant=release threading=multi debug-symbols=on \ --without-mpi --without-graph_parallel --build-dir=serial \
pch=off python=%{python2_version} stage %if !%{with context}
--without-context --without-coroutine \
--without-fiber \
%endif
variant=release threading=multi debug-symbols=on pch=off \
%if %{with python3}
python=%{python3_version} \
%endif
stage
if [ $(find serial -type f -name has_atomic_flag_lockfree -print -quit | wc -l) -ne 0 ]; then if [ $(find serial -type f -name has_atomic_flag_lockfree -print -quit | wc -l) -ne 0 ]; then
DEF=D DEF=D
@ -727,59 +640,35 @@ fi
m4 -${DEF}HAS_ATOMIC_FLAG_LOCKFREE -DVERSION=%{version} %{SOURCE1} > $(basename %{SOURCE1}) m4 -${DEF}HAS_ATOMIC_FLAG_LOCKFREE -DVERSION=%{version} %{SOURCE1} > $(basename %{SOURCE1})
cat > python3-config.jam << "EOF" %if %{with openmpi} || %{with mpich}
import os ;
local RPM_OPT_FLAGS = [ os.environ RPM_OPT_FLAGS ] ;
local RPM_LD_FLAGS = [ os.environ RPM_LD_FLAGS ] ;
using gcc : : : <compileflags>$(RPM_OPT_FLAGS) <linkflags>$(RPM_LD_FLAGS) ;
%if 0%{with openmpi} || 0%{with mpich}
using mpi ;
%endif
EOF
cat >> python3-config.jam << EOF
using python : %{python3_version} : /usr/bin/python3 : /usr/include/python%{python3_version}${PYTHON3_ABIFLAGS} : : : : ${PYTHON3_ABIFLAGS} ;
EOF
echo ============================= build serial-py3 ==================
./b2 -d+2 -q %{?_smp_mflags} --user-config=./python3-config.jam \
--with-python --build-dir=serial-py3 variant=release threading=multi \
debug-symbols=on pch=off python=%{python3_version} stage
%if 0%{with openmpi} || 0%{with mpich}
module purge ||: module purge ||:
%endif %endif
%if 0%{with openmpi} %if %{with openmpi}
%{_openmpi_load} %{_openmpi_load}
echo ============================= build $MPI_COMPILER ==================
./b2 -d+2 -q %{?_smp_mflags} --with-mpi --with-graph_parallel \
--build-dir=$MPI_COMPILER variant=release threading=multi \
debug-symbols=on pch=off python=%{python2_version} stage
echo ============================= build $MPI_COMPILER-py3 ================== %if %{with python3}
./b2 -d+2 -q %{?_smp_mflags} --user-config=./python3-config.jam \ echo ============================= build $MPI_COMPILER ==================
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \ ./b2 -d+2 -q %{?_smp_mflags} \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
variant=release threading=multi debug-symbols=on pch=off \ variant=release threading=multi debug-symbols=on pch=off \
python=%{python3_version} stage python=%{python3_version} stage
%endif
%{_openmpi_unload} %{_openmpi_unload}
export PATH=/bin${PATH:+:}$PATH export PATH=/bin${PATH:+:}$PATH
%endif %endif
%if 0%{with mpich} %if %{with mpich}
%{_mpich_load} %{_mpich_load}
echo ============================= build $MPI_COMPILER ==================
./b2 -d+2 -q %{?_smp_mflags} --with-mpi --with-graph_parallel \
--build-dir=$MPI_COMPILER variant=release threading=multi \
debug-symbols=on pch=off python=%{python2_version} stage
echo ============================= build $MPI_COMPILER-py3 ================== %if %{with python3}
./b2 -d+2 -q %{?_smp_mflags} --user-config=./python3-config.jam \ echo ============================= build $MPI_COMPILER ==================
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \ ./b2 -d+2 -q %{?_smp_mflags} \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
variant=release threading=multi debug-symbols=on pch=off \ variant=release threading=multi debug-symbols=on pch=off \
python=%{python3_version} stage python=%{python3_version} stage
%endif
%{_mpich_unload} %{_mpich_unload}
export PATH=/bin${PATH:+:}$PATH export PATH=/bin${PATH:+:}$PATH
@ -802,29 +691,28 @@ module purge ||:
%if 0%{with openmpi} %if 0%{with openmpi}
%{_openmpi_load} %{_openmpi_load}
%if %{with python3}
echo ============================= install $MPI_COMPILER ================== echo ============================= install $MPI_COMPILER ==================
./b2 -q %{?_smp_mflags} --with-mpi --with-graph_parallel \ ./b2 -q %{?_smp_mflags} \
--build-dir=$MPI_COMPILER --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
variant=release threading=multi debug-symbols=on pch=off \ variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} stage python=%{python3_version} stage
mkdir -p ${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost mkdir -p ${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost
touch ${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost/__init__.py touch ${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost/__init__.py
mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so \ mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \
${RPM_BUILD_ROOT}%{python2_sitearch}/openmpi/boost/ ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/
%endif
echo ============================= install $MPI_COMPILER-py3 ==================
./b2 -q %{?_smp_mflags} --user-config=./python3-config.jam \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} variant=release \
threading=multi debug-symbols=on pch=off \
python=%{python3_version} stage
mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost
touch ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/__init__.py
mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so ${RPM_BUILD_ROOT}%{python3_sitearch}/openmpi/boost/
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy*
rm -r ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake
version=%{version}
rm ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_*.so.${version%%.*}
rm ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_*.so.${version%%%%.*}
%{_openmpi_unload} %{_openmpi_unload}
export PATH=/bin${PATH:+:}$PATH export PATH=/bin${PATH:+:}$PATH
@ -832,57 +720,70 @@ export PATH=/bin${PATH:+:}$PATH
%if 0%{with mpich} %if 0%{with mpich}
%{_mpich_load} %{_mpich_load}
%if %{with python3}
echo ============================= install $MPI_COMPILER ================== echo ============================= install $MPI_COMPILER ==================
./b2 -q %{?_smp_mflags} --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \ ./b2 -q %{?_smp_mflags} \
--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} variant=release threading=multi\ --with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER \
debug-symbols=on pch=off python=%{python2_version} stage --stagedir=${RPM_BUILD_ROOT}${MPI_HOME} \
variant=release threading=multi debug-symbols=on pch=off \
mkdir -p ${RPM_BUILD_ROOT}%{python2_sitearch}/mpich/boost python=%{python3_version} stage
touch ${RPM_BUILD_ROOT}%{python2_sitearch}/mpich/boost/__init__.py
mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so ${RPM_BUILD_ROOT}%{python2_sitearch}/mpich/boost/
echo ============================= install $MPI_COMPILER-py3 ==================
./b2 -q %{?_smp_mflags} --user-config=./python3-config.jam \
--with-mpi --with-graph_parallel --build-dir=$MPI_COMPILER-py3 \
--stagedir=${RPM_BUILD_ROOT}${MPI_HOME} variant=release threading=multi \
debug-symbols=on pch=off python=%{python3_version} stage
mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost mkdir -p ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost
touch ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/__init__.py touch ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/__init__.py
mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/mpi.so ${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/ mv ${RPM_BUILD_ROOT}${MPI_HOME}/lib/boost-python%{python3_version}/mpi.so \
${RPM_BUILD_ROOT}%{python3_sitearch}/mpich/boost/
%endif
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}* rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_{python,{w,}serialization}*
rm -f ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_numpy*
rm -r ${RPM_BUILD_ROOT}${MPI_HOME}/lib/cmake
version=%{version}
rm ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_*.so.${version%%.*}
rm ${RPM_BUILD_ROOT}${MPI_HOME}/lib/libboost_*.so.${version%%%%.*}
%{_mpich_unload} %{_mpich_unload}
export PATH=/bin${PATH:+:}$PATH export PATH=/bin${PATH:+:}$PATH
%endif %endif
echo ============================= install serial ================== echo ============================= install serial ==================
./b2 -d+2 -q %{?_smp_mflags} --without-mpi --without-graph_parallel \ ./b2 -d+2 -q %{?_smp_mflags} \
--build-dir=serial --prefix=$RPM_BUILD_ROOT%{_prefix} \ --without-mpi --without-graph_parallel --build-dir=serial \
%if !%{with context}
--without-context --without-coroutine \
--without-fiber \
%endif
--prefix=$RPM_BUILD_ROOT%{_prefix} \
--libdir=$RPM_BUILD_ROOT%{_libdir} \ --libdir=$RPM_BUILD_ROOT%{_libdir} \
variant=release threading=multi debug-symbols=on pch=off \ variant=release threading=multi debug-symbols=on pch=off \
python=%{python2_version} install %if %{with python3}
python=%{python3_version} \
%endif
install
[ -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so ] [ -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so ]
rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so rm -f $RPM_BUILD_ROOT%{_libdir}/libboost_thread.so
install -p -m 644 $(basename %{SOURCE1}) $RPM_BUILD_ROOT%{_libdir}/ install -p -m 644 $(basename %{SOURCE1}) $RPM_BUILD_ROOT%{_libdir}/
echo ============================= install serial-py3 ================== rm -r $RPM_BUILD_ROOT/%{_libdir}/cmake
./b2 -d+2 -q %{?_smp_mflags} --user-config=python3-config.jam \
--with-python --build-dir=serial-py3 --prefix=$RPM_BUILD_ROOT%{_prefix} \ version=%{version}
--libdir=$RPM_BUILD_ROOT%{_libdir} variant=release threading=multi \ rm $RPM_BUILD_ROOT%{_libdir}/libboost_*.so.${version%%.*}
debug-symbols=on pch=off python=%{python3_version} install rm $RPM_BUILD_ROOT%{_libdir}/libboost_*.so.${version%%%%.*}
echo ============================= install Boost.Build ================== echo ============================= install Boost.Build ==================
(cd tools/build (cd tools/build
./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install ./b2 --prefix=$RPM_BUILD_ROOT%{_prefix} install
chmod -x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/build/alias.py
chmod +x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py chmod +x $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py
rm -f $RPM_BUILD_ROOT%{_bindir}/b2 sed -i '1s@^#!/usr/bin.python$@&3@' $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxproc.py
rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/build/project.ann.py rm $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp
rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp rm -f $RPM_BUILD_ROOT%{_datadir}/boost-build/src/tools/doxygen/windows-paths-check.hpp
%{__install} -p -m 644 v2/doc/bjam.1 -D $RPM_BUILD_ROOT%{_mandir}/man1/bjam.1 rm -f $RPM_BUILD_ROOT%{_bindir}/b2
install -m 755 %{_builddir}/%{name}_%{version_enc}/tools/build/b2 $RPM_BUILD_ROOT%{_bindir}/bjam
%{__install} -p -m 644 %{SOURCE2} -D $RPM_BUILD_ROOT%{_mandir}/man1/bjam.1
cp %{_libdir}/libboost_*.so.1.66.* $RPM_BUILD_ROOT%{_libdir}
) )
echo ============================= install Boost.QuickBook ================== echo ============================= install Boost.QuickBook ==================
@ -971,55 +872,73 @@ fi
%files %files
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%exclude %{_libdir}/libboost_signals.so.1.66.0
%files contract
%license LICENSE_1_0.txt
%{_libdir}/libboost_contract.so.%{sonamever}
%files atomic %files atomic
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_atomic.so.%{sonamever} %{_libdir}/libboost_atomic.so.%{sonamever}
%{_libdir}/libboost_atomic.so.1.66.*
%files chrono %files chrono
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_chrono.so.%{sonamever} %{_libdir}/libboost_chrono.so.%{sonamever}
%{_libdir}/libboost_chrono.so.1.66.*
%files container %files container
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_container.so.%{sonamever} %{_libdir}/libboost_container.so.%{sonamever}
%{_libdir}/libboost_container.so.1.66.*
%files context %files context
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_context.so.%{sonamever} %{_libdir}/libboost_context.so.%{sonamever}
%{_libdir}/libboost_context.so.1.66.*
%files coroutine %files coroutine
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_coroutine.so.%{sonamever} %{_libdir}/libboost_coroutine.so.%{sonamever}
%{_libdir}/libboost_coroutine.so.1.66.*
%files date-time %files date-time
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_date_time.so.%{sonamever} %{_libdir}/libboost_date_time.so.%{sonamever}
%{_libdir}/libboost_date_time.so.1.66.*
%files fiber %files fiber
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_fiber.so.%{sonamever} %{_libdir}/libboost_fiber.so.%{sonamever}
%{_libdir}/libboost_fiber.so.1.66.*
%files filesystem %files filesystem
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_filesystem.so.%{sonamever} %{_libdir}/libboost_filesystem.so.%{sonamever}
%{_libdir}/libboost_filesystem.so.1.66.*
%files graph %files graph
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_graph.so.%{sonamever} %{_libdir}/libboost_graph.so.%{sonamever}
%{_libdir}/libboost_graph.so.1.66.*
%files iostreams %files iostreams
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_iostreams.so.%{sonamever} %{_libdir}/libboost_iostreams.so.%{sonamever}
%{_libdir}/libboost_iostreams.so.1.66.*
%files locale %files locale
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_locale.so.%{sonamever} %{_libdir}/libboost_locale.so.%{sonamever}
%{_libdir}/libboost_locale.so.1.66.*
%files log %files log
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_log.so.%{sonamever} %{_libdir}/libboost_log.so.%{sonamever}
%{_libdir}/libboost_log.so.1.66.*
%{_libdir}/libboost_log_setup.so.%{sonamever} %{_libdir}/libboost_log_setup.so.%{sonamever}
%{_libdir}/libboost_log_setup.so.1.66.*
%files math %files math
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
@ -1030,92 +949,105 @@ fi
%{_libdir}/libboost_math_tr1f.so.%{sonamever} %{_libdir}/libboost_math_tr1f.so.%{sonamever}
%{_libdir}/libboost_math_tr1l.so.%{sonamever} %{_libdir}/libboost_math_tr1l.so.%{sonamever}
%files numpy2 %{_libdir}/libboost_math_c99.so.1.66.*
%{_libdir}/libboost_math_c99f.so.1.66.*
%{_libdir}/libboost_math_c99l.so.1.66.*
%{_libdir}/libboost_math_tr1.so.1.66.*
%{_libdir}/libboost_math_tr1f.so.1.66.*
%{_libdir}/libboost_math_tr1l.so.1.66.*
%files nowide
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_numpy.so.%{sonamever} %{_libdir}/libboost_nowide.so.%{sonamever}
%if %{with python3}
%files numpy3 %files numpy3
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_numpy3.so.%{sonamever} %{_libdir}/libboost_numpy%{python3_lib_version}.so.%{sonamever}
%{_libdir}/libboost_numpy3.so.1.66.*
%files python3
%license LICENSE_1_0.txt
%{_libdir}/libboost_python%{python3_lib_version}.so.%{sonamever}
%{_libdir}/libboost_python3.so.1.66.*
%files python3-devel
%license LICENSE_1_0.txt
%{_libdir}/libboost_numpy%{python3_lib_version}.so
%{_libdir}/libboost_python%{python3_lib_version}.so
%endif
%files test %files test
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_prg_exec_monitor.so.%{sonamever} %{_libdir}/libboost_prg_exec_monitor.so.%{sonamever}
%{_libdir}/libboost_unit_test_framework.so.%{sonamever} %{_libdir}/libboost_unit_test_framework.so.%{sonamever}
%{_libdir}/libboost_prg_exec_monitor.so.1.66.*
%{_libdir}/libboost_unit_test_framework.so.1.66.*
%files program-options %files program-options
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_program_options.so.%{sonamever} %{_libdir}/libboost_program_options.so.%{sonamever}
%{_libdir}/libboost_program_options.so.1.66.*
%files python2
%license LICENSE_1_0.txt
%{_libdir}/libboost_python.so.%{sonamever}
%files python2-devel
%license LICENSE_1_0.txt
%{_libdir}/libboost_numpy.so
%{_libdir}/libboost_python.so
%files python3
%license LICENSE_1_0.txt
%{_libdir}/libboost_python3.so.%{sonamever}
%files python3-devel
%license LICENSE_1_0.txt
%{_libdir}/libboost_numpy3.so
%{_libdir}/libboost_python3.so
%files random %files random
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_random.so.%{sonamever} %{_libdir}/libboost_random.so.%{sonamever}
%{_libdir}/libboost_random.so.1.66.*
%files regex %files regex
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_regex.so.%{sonamever} %{_libdir}/libboost_regex.so.%{sonamever}
%{_libdir}/libboost_regex.so.1.66.*
%files serialization %files serialization
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_serialization.so.%{sonamever} %{_libdir}/libboost_serialization.so.%{sonamever}
%{_libdir}/libboost_wserialization.so.%{sonamever} %{_libdir}/libboost_wserialization.so.%{sonamever}
%files signals %{_libdir}/libboost_serialization.so.1.66.*
%license LICENSE_1_0.txt %{_libdir}/libboost_wserialization.so.1.66.*
%{_libdir}/libboost_signals.so.%{sonamever}
%files stacktrace %files stacktrace
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_stacktrace_addr2line.so.%{sonamever} %{_libdir}/libboost_stacktrace_addr2line.so.%{sonamever}
%{_libdir}/libboost_stacktrace_basic.so.%{sonamever} %{_libdir}/libboost_stacktrace_basic.so.%{sonamever}
%{_libdir}/libboost_stacktrace_noop.so.%{sonamever} %{_libdir}/libboost_stacktrace_noop.so.%{sonamever}
%{_libdir}/libboost_stacktrace_addr2line.so.1.66.*
%{_libdir}/libboost_stacktrace_basic.so.1.66.*
%{_libdir}/libboost_stacktrace_noop.so.1.66.*
%files system %files system
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_system.so.%{sonamever} %{_libdir}/libboost_system.so.%{sonamever}
%{_libdir}/libboost_system.so.1.66.*
%files thread %files thread
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_thread.so.%{sonamever} %{_libdir}/libboost_thread.so.%{sonamever}
%{_libdir}/libboost_thread.so.1.66.*
%files timer %files timer
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_timer.so.%{sonamever} %{_libdir}/libboost_timer.so.%{sonamever}
%{_libdir}/libboost_timer.so.1.66.*
%files type_erasure %files type_erasure
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_type_erasure.so.%{sonamever} %{_libdir}/libboost_type_erasure.so.%{sonamever}
%{_libdir}/libboost_type_erasure.so.1.66.*
%files wave %files wave
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/libboost_wave.so.%{sonamever} %{_libdir}/libboost_wave.so.%{sonamever}
%{_libdir}/libboost_wave.so.1.66.*
%files help %files help
%doc %{boost_docdir}/* %doc %{boost_docdir}/*
%files devel %files devel
%exclude %{_libdir}/libboost_numpy3.so %exclude %{_libdir}/libboost_nump%{python3_lib_version}.so
%exclude %{_libdir}/libboost_numpy.so %exclude %{_libdir}/libboost_python%{python3_lib_version}.so
%exclude %{_libdir}/libboost_python3.so
%exclude %{_libdir}/libboost_python.so
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_includedir}/%{name} %{_includedir}/%{name}
%{_libdir}/*.so %{_libdir}/*.so
@ -1131,6 +1063,7 @@ fi
%doc %{boost_examplesdir}/* %doc %{boost_examplesdir}/*
%if 0%{with openmpi} %if 0%{with openmpi}
%files openmpi %files openmpi
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_mpi.so.%{sonamever} %{_libdir}/openmpi/lib/libboost_mpi.so.%{sonamever}
@ -1140,24 +1073,18 @@ fi
%{_libdir}/openmpi/lib/libboost_mpi.so %{_libdir}/openmpi/lib/libboost_mpi.so
%{_libdir}/openmpi/lib/libboost_graph_parallel.so %{_libdir}/openmpi/lib/libboost_graph_parallel.so
%if %{with python3}
%license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_mpi_python.so.%{sonamever}
%{python2_sitearch}/openmpi/boost/
%files openmpi-python2-devel
%license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_mpi_python.so
%files openmpi-python3 %files openmpi-python3
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_mpi_python3.so.%{sonamever} %{_libdir}/openmpi/lib/libboost_mpi_python%{python3_lib_version}.so.%{sonamever}
%{python3_sitearch}/openmpi/boost/ %{python3_sitearch}/openmpi/boost/
%files openmpi-python3-devel %files openmpi-python3-devel
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/openmpi/lib/libboost_mpi_python3.so %{_libdir}/openmpi/lib/libboost_mpi_python%{python3_lib_version}.so
%endif
%files graph-openmpi %files graph-openmpi
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
@ -1174,23 +1101,18 @@ fi
%{_libdir}/mpich/lib/libboost_mpi.so %{_libdir}/mpich/lib/libboost_mpi.so
%{_libdir}/mpich/lib/libboost_graph_parallel.so %{_libdir}/mpich/lib/libboost_graph_parallel.so
%files mpich-python2 %if %{with python3}
%license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_mpi_python.so.%{sonamever}
%{python2_sitearch}/mpich/boost/
%files mpich-python2-devel
%license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_mpi_python.so
%files mpich-python3 %files mpich-python3
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_mpi_python3.so.%{sonamever} %{_libdir}/mpich/lib/libboost_mpi_python%{python3_lib_version}.so.%{sonamever}
%{python3_sitearch}/mpich/boost/ %{python3_sitearch}/mpich/boost/
%files mpich-python3-devel %files mpich-python3-devel
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
%{_libdir}/mpich/lib/libboost_mpi_python3.so %{_libdir}/mpich/lib/libboost_mpi_python%{python3_lib_version}.so
%endif
%files graph-mpich %files graph-mpich
%license LICENSE_1_0.txt %license LICENSE_1_0.txt
@ -1213,6 +1135,12 @@ fi
%{_mandir}/man1/bjam.1* %{_mandir}/man1/bjam.1*
%changelog %changelog
* Mon Apr 20 2020 Wang Shuo<wangshuo47@huawei.com> - 1.72.0-1
- Type:requirement
- ID:NA
- SUG:NA
- DESC:update boost to 1.72.0
* Thu Mar 19 2020 Yu Xiangyang<yuxiangyang4@huawei.com> - 1.66.0-18 * Thu Mar 19 2020 Yu Xiangyang<yuxiangyang4@huawei.com> - 1.66.0-18
- Type:bugfix - Type:bugfix
- ID:NA - ID:NA