Compare commits
No commits in common. "c8" and "c9s" have entirely different histories.
@ -1 +0,0 @@
|
||||
b6b284acde2ad7ed49b44e856955d7b1ea4e9459 SOURCES/boost_1_66_0.tar.bz2
|
10
.gitignore
vendored
10
.gitignore
vendored
@ -1 +1,9 @@
|
||||
SOURCES/boost_1_66_0.tar.bz2
|
||||
boost*.tar.*
|
||||
boost-*.src.rpm
|
||||
clog
|
||||
.build*
|
||||
boost_*/
|
||||
*/*.rpm
|
||||
/boost_1_44_0.tar.bz2
|
||||
/cmakeify_boost_1440_2.patch
|
||||
/cmakeify_boost_1440_3.patch
|
||||
|
@ -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
|
@ -1,22 +0,0 @@
|
||||
diff --git a/libs/units/example/autoprefixes.cpp b/libs/units/example/autoprefixes.cpp
|
||||
index 8b2bc43..d04f2fe 100644
|
||||
--- a/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::
|
||||
struct euro_base_unit : boost::units::base_unit<euro_base_unit, boost::units::dimensionless_type, 5>
|
||||
{
|
||||
static const char* name() { return("EUR"); }
|
||||
- static const char* symbol() { return("€"); }
|
||||
+ static const char* symbol() { return("€"); }
|
||||
};
|
||||
|
||||
int main()
|
||||
@@ -140,7 +140,7 @@ int main()
|
||||
|
||||
quantity<euro_base_unit::unit_type> ce = 2048. * euro_base_unit::unit_type();
|
||||
cout << name_format << engineering_prefix << ce << endl; // 2.048 kiloEUR
|
||||
- cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€
|
||||
+ cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€
|
||||
|
||||
|
||||
return 0;
|
@ -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
|
@ -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)
|
@ -1,31 +0,0 @@
|
||||
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:37:38.858847388 +0100
|
||||
@@ -28,17 +28,17 @@
|
||||
local Werr = <toolset>gcc:<warnings-as-errors>on <toolset>msvc:<warnings-as-errors>on ;
|
||||
|
||||
test-suite pool :
|
||||
- [ run test_simple_seg_storage.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4267 ]
|
||||
- [ run test_pool_alloc.cpp : : : $(Werr) ]
|
||||
- [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4512 ]
|
||||
- [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) ]
|
||||
- [ run test_bug_3349.cpp : : : $(Werr) ]
|
||||
- [ run test_bug_4960.cpp : : : $(Werr) ]
|
||||
- [ run test_bug_1252.cpp : : : $(Werr) ]
|
||||
- [ run test_bug_2696.cpp : : : $(Werr) ]
|
||||
- [ run test_bug_5526.cpp : : : $(Werr) ]
|
||||
+ [ run test_simple_seg_storage.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4267 <library>/boost/system//boost_system ]
|
||||
+ [ run test_pool_alloc.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) <toolset>msvc:<cxxflags>-wd4512 <library>/boost/system//boost_system ]
|
||||
+ [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_3349.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_4960.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_1252.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_2696.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_5526.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
[ run test_threading.cpp : : : <threading>multi <library>/boost/thread//boost_thread ]
|
||||
- [ run ../example/time_pool_alloc.cpp : : : $(Werr) ]
|
||||
+ [ run ../example/time_pool_alloc.cpp : : : $(Werr) <library>/boost/system//boost_system ]
|
||||
[ compile test_poisoned_macros.cpp : $(Werr) ]
|
||||
|
||||
#
|
@ -1,11 +0,0 @@
|
||||
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2019-11-18 14:24:04.111324445 +0000
|
||||
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2019-11-18 14:24:07.314336031 +0000
|
||||
@@ -635,7 +635,7 @@
|
||||
|
||||
actions compile.asm
|
||||
{
|
||||
- "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
|
||||
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -Wa,--generate-missing-build-notes=yes -c -o "$(<)" "$(>)"
|
||||
}
|
||||
|
||||
###
|
@ -1,25 +0,0 @@
|
||||
From 35ce23a327648a225f5c768a79890a761b9dbe27 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Wakely <boost@kayari.org>
|
||||
Date: Wed, 10 Oct 2018 13:47:13 +0100
|
||||
Subject: [PATCH] Use correct sizeof in malloc call
|
||||
|
||||
This is allocating space for `nel` objects of type `ITEM*` so it should use `sizeof(ITEM*)` not `sizeof(ITEM**)`.
|
||||
|
||||
In practice the values are the same, but using the correct type is better anyway, and now matches the same calculation in the `memset` call in the following statement.
|
||||
---
|
||||
src/engine/hash.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/engine/hash.c b/src/engine/hash.c
|
||||
index 2fa12030b8..f3dcef88a5 100644
|
||||
--- a/tools/build/src/engine/hash.c
|
||||
+++ b/tools/build/src/engine/hash.c
|
||||
@@ -248,7 +248,7 @@ static void hashrehash( struct hash * hp )
|
||||
BJAM_FREE( (char *)hp->tab.base );
|
||||
|
||||
hp->tab.nel = hp->items.nel * hp->bloat;
|
||||
- hp->tab.base = (ITEM * *)BJAM_MALLOC( hp->tab.nel * sizeof( ITEM * * ) );
|
||||
+ hp->tab.base = (ITEM * *)BJAM_MALLOC( hp->tab.nel * sizeof( ITEM * ) );
|
||||
|
||||
memset( (char *)hp->tab.base, '\0', hp->tab.nel * sizeof( ITEM * ) );
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 8ff11a8eccc41914478e92231500fc47fefa6779 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Wakely <boost@kayari.org>
|
||||
Date: Wed, 10 Oct 2018 17:17:10 +0100
|
||||
Subject: [PATCH] Fix memory leak
|
||||
|
||||
If vsnprintf returns -1 then the buffer should be freed before returning.
|
||||
---
|
||||
src/engine/debugger.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/engine/debugger.c b/src/engine/debugger.c
|
||||
index 3c811b4557..d849d064a9 100644
|
||||
--- a/tools/build/src/engine/debugger.c
|
||||
+++ b/tools/build/src/engine/debugger.c
|
||||
@@ -860,10 +860,11 @@ static const char * debug_format_message( const char * format, va_list vargs )
|
||||
result = vsnprintf( buf, sz, format, args );
|
||||
#endif
|
||||
va_end( args );
|
||||
+ if ( 0 <= result && result < sz )
|
||||
+ return buf;
|
||||
+ free( buf );
|
||||
if ( result < 0 )
|
||||
return 0;
|
||||
- if ( result < sz ) return buf;
|
||||
- free( buf );
|
||||
sz = result + 1;
|
||||
}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
From 5e61a97a0b56d3d4121d3cbb6b85032f9839545a Mon Sep 17 00:00:00 2001
|
||||
From: nre <nre@ableton.com>
|
||||
Date: Thu, 22 Dec 2016 13:25:35 +0100
|
||||
Subject: [PATCH] Fix compiler error with release builds on VS2015
|
||||
|
||||
When using MSVC compiler optimization, using param_not_found() causes
|
||||
compiler error C4172: returning address of local variable or temporary
|
||||
---
|
||||
include/boost/graph/named_function_params.hpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/boost/graph/named_function_params.hpp b/include/boost/graph/named_function_params.hpp
|
||||
index a9a9add6c..4842dc954 100644
|
||||
--- a/include/boost/graph/named_function_params.hpp
|
||||
+++ b/include/boost/graph/named_function_params.hpp
|
||||
@@ -228,6 +228,7 @@ BOOST_BGL_DECLARE_NAMED_PARAMS
|
||||
};
|
||||
|
||||
struct param_not_found {};
|
||||
+ static param_not_found g_param_not_found;
|
||||
|
||||
template <typename Tag, typename Args>
|
||||
struct get_param_type:
|
||||
@@ -237,7 +238,7 @@ BOOST_BGL_DECLARE_NAMED_PARAMS
|
||||
inline
|
||||
const typename lookup_named_param_def<Tag, Args, param_not_found>::type&
|
||||
get_param(const Args& p, Tag) {
|
||||
- return lookup_named_param_def<Tag, Args, param_not_found>::get(p, param_not_found());
|
||||
+ return lookup_named_param_def<Tag, Args, param_not_found>::get(p, g_param_not_found);
|
||||
}
|
||||
|
||||
template <class P, class Default>
|
@ -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 ;
|
@ -1,35 +0,0 @@
|
||||
--- boost_1_66_0/tools/build/src/engine/build.jam~ 2017-12-13 23:56:50.000000000 +0000
|
||||
+++ boost_1_66_0/tools/build/src/engine/build.jam 2022-06-22 15:14:26.976935832 +0100
|
||||
@@ -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))
|
||||
@@ -54,7 +54,7 @@
|
||||
! ( --debug in $(ARGV) ) &&
|
||||
! ( --profile in $(ARGV) )
|
||||
{
|
||||
- ARGV += --release ;
|
||||
+ # ARGV += --release ;
|
||||
}
|
||||
|
||||
# Enable, and configure, Python hooks.
|
||||
@@ -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
|
@ -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
|
||||
|
@ -1,8 +0,0 @@
|
||||
--- boost_1_66_0/tools/build/src/tools/doxproc.py~ 2018-05-10 21:35:14.520401333 +0100
|
||||
+++ boost_1_66_0/tools/build/src/tools/doxproc.py 2018-05-10 21:35:18.910422835 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python
|
||||
+#!/usr/bin/python3
|
||||
# Copyright 2006 Rene Rivera
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
@ -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
|
@ -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); \
|
||||
} \
|
||||
} \
|
||||
/**/
|
1364
SPECS/boost.spec
1364
SPECS/boost.spec
File diff suppressed because it is too large
Load Diff
144
b2.1
Normal file
144
b2.1
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
|
30
boost-1.58.0-pool-test_linking.patch
Normal file
30
boost-1.58.0-pool-test_linking.patch
Normal file
@ -0,0 +1,30 @@
|
||||
--- boost_1_68_0/libs/pool/test/Jamfile.v2.orig 2018-08-01 20:50:52.000000000 +0000
|
||||
+++ boost_1_68_0/libs/pool/test/Jamfile.v2 2018-12-01 17:29:33.322195409 +0000
|
||||
@@ -22,18 +22,18 @@
|
||||
import testing ;
|
||||
|
||||
test-suite pool :
|
||||
- [ run test_simple_seg_storage.cpp : : : <toolset>msvc:<cxxflags>-wd4267 ]
|
||||
- [ run test_pool_alloc.cpp ]
|
||||
- [ run pool_msvc_compiler_bug_test.cpp : : : <toolset>msvc:<cxxflags>-wd4512 ]
|
||||
- [ run test_msvc_mem_leak_detect.cpp ]
|
||||
- [ run test_bug_3349.cpp ]
|
||||
- [ run test_bug_4960.cpp ]
|
||||
+ [ run test_simple_seg_storage.cpp : : : <toolset>msvc:<cxxflags>-wd4267 <library>/boost/system//boost_system ]
|
||||
+ [ run test_pool_alloc.cpp : : : <library>/boost/system//boost_system ]
|
||||
+ [ run pool_msvc_compiler_bug_test.cpp : : : <toolset>msvc:<cxxflags>-wd4512 <library>/boost/system//boost_system ]
|
||||
+ [ run test_msvc_mem_leak_detect.cpp : : : <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_3349.cpp : : : <library>/boost/system//boost_system ]
|
||||
+ [ run test_bug_4960.cpp : : : <library>/boost/system//boost_system ]
|
||||
[ run test_bug_1252.cpp : : :
|
||||
<toolset>clang:<cxxflags>-Wno-c++11-long-long
|
||||
<toolset>gcc:<cxxflags>-Wno-long-long
|
||||
- <toolset>pathscale:<cxxflags>-Wno-long-long ]
|
||||
- [ run test_bug_2696.cpp ]
|
||||
- [ 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 ]
|
||||
[ compile test_poisoned_macros.cpp ]
|
||||
;
|
37
boost-1.73-locale-empty-vector.patch
Normal file
37
boost-1.73-locale-empty-vector.patch
Normal file
@ -0,0 +1,37 @@
|
||||
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
|
||||
|
108
boost-1.73-python3.10.patch
Normal file
108
boost-1.73-python3.10.patch
Normal file
@ -0,0 +1,108 @@
|
||||
--- boost_1_73_0/boost/parameter/python.hpp% 2020-11-13 23:37:19.232520985 +0000
|
||||
+++ boost_1_73_0/boost/parameter/python.hpp 2020-11-13 23:40:58.808393161 +0000
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
if (Py_TYPE(&unspecified) == 0)
|
||||
{
|
||||
- Py_TYPE(&unspecified) = &PyType_Type;
|
||||
+ Py_SET_TYPE(&unspecified, &PyType_Type);
|
||||
PyType_Ready(&unspecified);
|
||||
}
|
||||
|
||||
--- boost_1_73_0/libs/python/src/object/class.cpp~ 2020-11-13 23:37:19.236520983 +0000
|
||||
+++ boost_1_73_0/libs/python/src/object/class.cpp 2020-11-13 23:40:40.233403979 +0000
|
||||
@@ -208,7 +208,7 @@
|
||||
{
|
||||
if (static_data_object.tp_dict == 0)
|
||||
{
|
||||
- Py_TYPE(&static_data_object) = &PyType_Type;
|
||||
+ Py_SET_TYPE(&static_data_object, &PyType_Type);
|
||||
static_data_object.tp_base = &PyProperty_Type;
|
||||
if (PyType_Ready(&static_data_object))
|
||||
return 0;
|
||||
@@ -316,7 +316,7 @@
|
||||
{
|
||||
if (class_metatype_object.tp_dict == 0)
|
||||
{
|
||||
- Py_TYPE(&class_metatype_object) = &PyType_Type;
|
||||
+ Py_SET_TYPE(&class_metatype_object, &PyType_Type);
|
||||
class_metatype_object.tp_base = &PyType_Type;
|
||||
if (PyType_Ready(&class_metatype_object))
|
||||
return type_handle();
|
||||
@@ -375,11 +375,11 @@
|
||||
// there. A negative number indicates that the extra
|
||||
// instance memory is not yet allocated to any holders.
|
||||
#if PY_VERSION_HEX >= 0x02060000
|
||||
- Py_SIZE(result) =
|
||||
+ Py_SET_SIZE(result,
|
||||
#else
|
||||
- result->ob_size =
|
||||
+ result->ob_size = (
|
||||
#endif
|
||||
- -(static_cast<int>(offsetof(instance<>,storage) + instance_size));
|
||||
+ -(static_cast<int>(offsetof(instance<>,storage) + instance_size)));
|
||||
}
|
||||
return (PyObject*)result;
|
||||
}
|
||||
@@ -470,7 +470,7 @@
|
||||
{
|
||||
if (class_type_object.tp_dict == 0)
|
||||
{
|
||||
- Py_TYPE(&class_type_object) = incref(class_metatype().get());
|
||||
+ Py_SET_TYPE(&class_type_object, incref(class_metatype().get()));
|
||||
class_type_object.tp_base = &PyBaseObject_Type;
|
||||
if (PyType_Ready(&class_type_object))
|
||||
return type_handle();
|
||||
@@ -739,7 +739,7 @@
|
||||
assert(holder_offset >= offsetof(objects::instance<>,storage));
|
||||
|
||||
// Record the fact that the storage is occupied, noting where it starts
|
||||
- Py_SIZE(self) = holder_offset;
|
||||
+ Py_SET_SIZE(self, holder_offset);
|
||||
return (char*)self + holder_offset;
|
||||
}
|
||||
else
|
||||
--- boost_1_73_0/libs/python/src/object/life_support.cpp~ 2020-11-13 23:37:19.240520980 +0000
|
||||
+++ boost_1_73_0/libs/python/src/object/life_support.cpp 2020-11-13 23:39:37.492440504 +0000
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
if (Py_TYPE(&life_support_type) == 0)
|
||||
{
|
||||
- Py_TYPE(&life_support_type) = &PyType_Type;
|
||||
+ Py_SET_TYPE(&life_support_type, &PyType_Type);
|
||||
PyType_Ready(&life_support_type);
|
||||
}
|
||||
|
||||
--- boost_1_73_0/libs/python/src/object/function.cpp~ 2020-11-13 23:37:19.244520978 +0000
|
||||
+++ boost_1_73_0/libs/python/src/object/function.cpp 2020-11-13 23:39:14.260454029 +0000
|
||||
@@ -107,7 +107,7 @@
|
||||
PyObject* p = this;
|
||||
if (Py_TYPE(&function_type) == 0)
|
||||
{
|
||||
- Py_TYPE(&function_type) = &PyType_Type;
|
||||
+ Py_SET_TYPE(&function_type, &PyType_Type);
|
||||
::PyType_Ready(&function_type);
|
||||
}
|
||||
|
||||
--- boost_1_73_0/libs/python/src/object/enum.cpp~ 2020-11-13 23:37:19.248520976 +0000
|
||||
+++ boost_1_73_0/libs/python/src/object/enum.cpp 2020-11-13 23:38:51.943467016 +0000
|
||||
@@ -153,7 +153,7 @@
|
||||
{
|
||||
if (enum_type_object.tp_dict == 0)
|
||||
{
|
||||
- Py_TYPE(&enum_type_object) = incref(&PyType_Type);
|
||||
+ Py_SET_TYPE(&enum_type_object, incref(&PyType_Type));
|
||||
#if PY_VERSION_HEX >= 0x03000000
|
||||
enum_type_object.tp_base = &PyLong_Type;
|
||||
#else
|
||||
--- boost_1_73_0/boost/python/object/make_instance.hpp~ 2020-11-14 00:26:47.356724835 +0000
|
||||
+++ boost_1_73_0/boost/python/object/make_instance.hpp 2020-11-14 00:26:49.947723159 +0000
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
// Note the position of the internally-stored Holder,
|
||||
// for the sake of destruction
|
||||
- Py_SIZE(instance) = offsetof(instance_t, storage);
|
||||
+ Py_SET_SIZE(instance, offsetof(instance_t, storage));
|
||||
|
||||
// Release ownership of the python object
|
||||
protect.cancel();
|
11
boost-1.73.0-b2-build-flags.patch
Normal file
11
boost-1.73.0-b2-build-flags.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- boost_1_73_0/tools/build/src/engine/build.sh~ 2020-04-25 17:09:03.159419899 +0100
|
||||
+++ boost_1_73_0/tools/build/src/engine/build.sh 2020-04-25 17:11:35.085907844 +0100
|
||||
@@ -233,7 +233,7 @@
|
||||
|
||||
*)
|
||||
B2_CXX="${CXX} -x c++ -std=c++11"
|
||||
- B2_CXXFLAGS_RELEASE="-O2 -s"
|
||||
+ B2_CXXFLAGS_RELEASE="${RPM_OPT_FLAGS} ${RPM_LD_FLAGS}"
|
||||
B2_CXXFLAGS_DEBUG="-O0 -g"
|
||||
esac
|
||||
;;
|
28
boost-1.73.0-cmakedir.patch
Normal file
28
boost-1.73.0-cmakedir.patch
Normal file
@ -0,0 +1,28 @@
|
||||
--- boost_1_73_0/tools/boost_install/boost-install.jam~ 2020-04-24 20:21:50.330267122 +0100
|
||||
+++ boost_1_73_0/tools/boost_install/boost-install.jam 2020-04-24 20:22:16.818360540 +0100
|
||||
@@ -652,25 +652,6 @@
|
||||
"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
|
25
boost-1.75.0-boost-build-fix.patch
Normal file
25
boost-1.75.0-boost-build-fix.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 40e5bcd594b01f9b7091de07f9efc4567cc1ac40 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Rodgers <rodgert@appliantology.com>
|
||||
Date: Tue, 2 Feb 2021 18:15:30 -0800
|
||||
Subject: [PATCH] Apply post 1.75.0 change from upstream
|
||||
|
||||
---
|
||||
tools/build/src/engine/startup.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/build/src/engine/startup.cpp b/tools/build/src/engine/startup.cpp
|
||||
index f58625408..a7659bb50 100644
|
||||
--- a/tools/build/src/engine/startup.cpp
|
||||
+++ b/tools/build/src/engine/startup.cpp
|
||||
@@ -195,7 +195,7 @@ bool b2::startup::bootstrap(FRAME *frame)
|
||||
{
|
||||
const std::string path{
|
||||
b2::paths::normalize(
|
||||
- b2_exe_path + "/../../share/boost-build/" + boost_build_jam)};
|
||||
+ b2_exe_path + "/../../share/boost-build/src/kernel/" + boost_build_jam)};
|
||||
if (b2::filesys::is_file(path))
|
||||
b2_file_path = path;
|
||||
}
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,24 +1,26 @@
|
||||
--- 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
|
||||
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
|
||||
index ff3209f7b..1d8e7cbfe 100644
|
||||
--- a/tools/build/src/tools/gcc.jam
|
||||
+++ b/tools/build/src/tools/gcc.jam
|
||||
@@ -577,7 +577,7 @@ rule compile.fortran ( targets * : sources * : properties * )
|
||||
|
||||
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)"
|
||||
- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" -c -o "$(<:W)" "$(>:W)"
|
||||
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" -c -o "$(<:W)" "$(>:W)"
|
||||
}
|
||||
|
||||
actions compile.c bind PCH_FILE
|
||||
@@ -613,7 +613,7 @@ actions compile.c bind PCH_FILE
|
||||
@@ -587,7 +587,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)"
|
||||
- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" "$(>:W)" -E >"$(<:W)"
|
||||
+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -include"$(FORCE_INCLUDES)" "$(>:W)" -E >"$(<:W)"
|
||||
}
|
||||
|
||||
actions compile.c.preprocess bind PCH_FILE
|
||||
@@ -755,17 +755,17 @@ actions compile.c.pch
|
||||
@@ -704,20 +704,20 @@ actions compile.c.pch
|
||||
###
|
||||
|
||||
# Declare flags and action for compilation.
|
||||
@ -32,7 +34,10 @@
|
||||
-
|
||||
-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 <warnings>all : -Wall ;
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>extra : -Wall -Wextra ;
|
||||
-toolset.flags gcc.compile OPTIONS <warnings>pedantic : -Wall -Wextra -pedantic ;
|
||||
-toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : -Werror ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>off : ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>speed : ;
|
||||
+toolset.flags gcc.compile OPTIONS <optimization>space : ;
|
||||
@ -44,6 +49,12 @@
|
||||
+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 <warnings>extra : ;
|
||||
+toolset.flags gcc.compile OPTIONS <warnings>pedantic : ;
|
||||
+toolset.flags gcc.compile OPTIONS <warnings-as-errors>on : ;
|
||||
|
||||
toolset.flags gcc.compile OPTIONS <debug-symbols>on : -g ;
|
||||
toolset.flags gcc.compile OPTIONS <profiling>on : -pg ;
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,6 +1,14 @@
|
||||
--- boost_1_66_0/tools/build/src/tools/gcc.jam~ 2018-01-19 13:23:45.361330881 +0000
|
||||
+++ boost_1_66_0/tools/build/src/tools/gcc.jam 2018-01-19 13:23:45.362330880 +0000
|
||||
@@ -1191,7 +1191,7 @@ rule link ( targets * : sources * : prop
|
||||
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
|
||||
index 02dc154cf..c076f70f4 100644
|
||||
--- a/tools/build/src/tools/gcc.jam
|
||||
+++ b/tools/build/src/tools/gcc.jam
|
||||
@@ -1132,17 +1132,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
|
||||
{
|
||||
@ -8,9 +16,6 @@
|
||||
+ "$(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)
|
||||
}
|
||||
|
||||
rule link.dll ( targets * : sources * : properties * )
|
||||
@@ -1204,7 +1204,7 @@ rule link.dll ( targets * : sources * :
|
||||
# Differs from 'link' above only by -shared.
|
||||
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)
|
2621
boost.spec
Normal file
2621
boost.spec
Normal file
File diff suppressed because it is too large
Load Diff
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-9
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-gating.functional}
|
Loading…
Reference in New Issue
Block a user