Upgrade to Boost-1.48.0, adding two new header-only components

(Container and Move) and a new library (Locale).
Resolves: #754865
Added a patch with a manual page for the bjam executable.
Added a patch to fix the non-UTF8-encoded example source file.
Re-worked a little bit the example section, so as to fix the
DOS-formatted and the ISO-8859-encoded files. The examples
sub-package itself has been renamed into examples-devel.
This commit is contained in:
Denis Arnaud 2011-11-20 01:30:18 +01:00
parent d5ee7fce50
commit 3957a04980
14 changed files with 678 additions and 77646 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -1,59 +0,0 @@
Index: boost/spirit/home/qi/nonterminal/detail/parameterized.hpp
===================================================================
--- boost/spirit/home/qi/nonterminal/detail/parameterized.hpp (revision 68724)
+++ boost/spirit/home/qi/nonterminal/detail/parameterized.hpp (revision 68725)
@@ -14,6 +14,7 @@
#include <boost/ref.hpp>
+#include <boost/spirit/home/support/handles_container.hpp>
#include <boost/spirit/home/qi/parser.hpp>
namespace boost { namespace spirit { namespace qi
@@ -59,4 +60,16 @@ namespace boost { namespace spirit { nam
};
}}}
+namespace boost { namespace spirit { namespace traits
+{
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Subject, typename Params, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<qi::parameterized_nonterminal<Subject, Params>
+ , Attribute, Context, Iterator>
+ : handles_container<typename remove_const<Subject>::type
+ , Attribute, Context, Iterator>
+ {};
+}}}
+
#endif
Index: boost/spirit/home/karma/nonterminal/detail/parameterized.hpp
===================================================================
--- boost/spirit/home/karma/nonterminal/detail/parameterized.hpp (revision 68724)
+++ boost/spirit/home/karma/nonterminal/detail/parameterized.hpp (revision 68725)
@@ -14,6 +14,7 @@
#include <boost/ref.hpp>
+#include <boost/spirit/home/support/handles_container.hpp>
#include <boost/spirit/home/karma/generator.hpp>
namespace boost { namespace spirit { namespace karma
@@ -60,4 +61,17 @@ namespace boost { namespace spirit { nam
};
}}}
+
+namespace boost { namespace spirit { namespace traits
+{
+ ///////////////////////////////////////////////////////////////////////////
+ template <typename Subject, typename Params, typename Attribute
+ , typename Context, typename Iterator>
+ struct handles_container<karma::parameterized_nonterminal<Subject, Params>
+ , Attribute, Context, Iterator>
+ : handles_container<typename remove_const<Subject>::type
+ , Attribute, Context, Iterator>
+ {};
+}}}
+
#endif

View File

@ -1,23 +0,0 @@
diff -up /home/petr/tmp/blefuj.cc\~ /home/petr/tmp/blefuj.cc
--- boost_1_46_0_beta1/libs/signals/src/named_slot_map.cpp~ 2011-02-03 20:28:07.000000000 +0100
+++ boost_1_46_0_beta1/libs/signals/src/named_slot_map.cpp 2011-02-03 20:51:29.000000000 +0100
@@ -47669,7 +47669,7 @@ void named_slot_map::disconnect(const st
i->first.disconnect();
i = next;
}
- groups.erase(group);
+ groups.erase(const_group_iterator (group));
}
}
@@ -47692,7 +47692,7 @@ void named_slot_map::remove_disconnected
}
// Clear out empty groups
- if (empty(g)) groups.erase(g++);
+ if (empty(g)) groups.erase(const_group_iterator (g++));
else ++g;
}
}
Diff finished. Thu Feb 3 20:51:41 2011

View File

@ -1,11 +0,0 @@
Index: /trunk/boost/math/tools/tuple.hpp
===================================================================
--- /trunk/boost/math/tools/tuple.hpp (revision 65320)
+++ /trunk/boost/math/tools/tuple.hpp (revision 74891)
@@ -32,5 +32,5 @@
#elif defined(BOOST_HAS_TR1_TUPLE)
-#include <tuple>
+#include <boost/tr1/tuple.hpp>
namespace boost{ namespace math{

View File

@ -0,0 +1,150 @@
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

@ -2346,18 +2346,14 @@ index 0000000..9512e2e
+
diff --git a/libs/chrono/CMakeLists.txt b/libs/chrono/CMakeLists.txt
new file mode 100644
index 0000000..cf68e74
index 0000000..1ebc520
--- /dev/null
+++ b/libs/chrono/CMakeLists.txt
@@ -0,0 +1,28 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
@@ -0,0 +1,24 @@
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+# Add a variable to hold the headers for the library
+set (lib_headers
+ chrono.hpp
@ -2387,76 +2383,71 @@ index 0000000..f160fbd
+boost_module(chrono DEPENDS system)
diff --git a/libs/chrono/src/CMakeLists.txt b/libs/chrono/src/CMakeLists.txt
new file mode 100644
index 0000000..b13377a
index 0000000..e94dfbb
--- /dev/null
+++ b/libs/chrono/src/CMakeLists.txt
@@ -0,0 +1,19 @@
@@ -0,0 +1,14 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+set(BOOST_CHRONO_EXTRA_SOURCES)
+set(BOOST_CHRONO_LIBRARIES)
+set (BOOST_CHRONO_EXTRA_SOURCES)
+set (BOOST_CHRONO_LIBRARIES)
+
+boost_add_library(chrono
+boost_add_library (chrono
+ chrono.cpp
+ process_clock.cpp
+ process_cpu_clocks.cpp
+ run_timer.cpp
+ run_timer_static.cpp
+ thread_clock.cpp
+
+ SHARED_COMPILE_FLAGS "-DBOOST_CHRONO_DYN_LINK=1"
+ )
+)
diff --git a/libs/chrono/test/CMakeLists.txt b/libs/chrono/test/CMakeLists.txt
new file mode 100644
index 0000000..d254e93
index 0000000..455a63e
--- /dev/null
+++ b/libs/chrono/test/CMakeLists.txt
@@ -0,0 +1,41 @@
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+boost_additional_test_dependencies(chrono BOOST_DEPENDS test)
+
+set(CHRONO_LIBRARIES
+set (CHRONO_LIBRARIES
+ boost_chrono
+ boost_test_exec_monitor)
+
+set(BOOST_TEST_EXEC_MONITOR_SUFFIX "")
+set (BOOST_TEST_EXEC_MONITOR_SUFFIX "")
+if (NOT BUILD_SINGLE_THREADED)
+ set(BOOST_TEST_EXEC_MONITOR_SUFFIX "-mt")
+endif()
+set(BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-static")
+if (NOT BUILD_RELEASE)
+ set(BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-debug")
+endif()
+ set (BOOST_TEST_EXEC_MONITOR_SUFFIX "-mt")
+endif (NOT BUILD_SINGLE_THREADED)
+
+macro(chrono_test_run TESTNAME)
+ boost_test_run(${TESTNAME}
+set (BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-static")
+if (NOT BUILD_RELEASE)
+ set (BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-debug")
+endif (NOT BUILD_RELEASE)
+
+#
+macro (chrono_test_run TESTNAME)
+ boost_test_run (${TESTNAME}
+ STATIC
+ DEPENDS boost_chrono boost_test_exec_monitor )
+ boost_test_run("${TESTNAME}_dll"
+ boost_test_run ("${TESTNAME}_dll"
+ ${TESTNAME}.cpp
+ SHARED
+ DEPENDS boost_chrono
+ "boost_test_exec_monitor${BOOST_TEST_EXEC_MONITOR_SUFFIX}")
+endmacro(chrono_test_run)
+ "boost_test_exec_monitor${BOOST_TEST_EXEC_MONITOR_SUFFIX}")
+endmacro (chrono_test_run)
+
+#
+set(TESTS
+clock
+duration
+time_point
+traits)
+set (TESTS
+ clock
+ duration
+ time_point
+ traits)
+
+#
+chrono_test_run(run_timer_test)
+chrono_test_run (run_timer_test)
diff --git a/libs/circular_buffer/CMakeLists.txt b/libs/circular_buffer/CMakeLists.txt
new file mode 100644
index 0000000..cb2fa50c0
@ -2702,6 +2693,71 @@ index 0000000..1e31993
+boost_test_compile_fail(test_thread_fail1 threads/test_thread_fail1.cpp)
+boost_test_compile_fail(test_thread_fail2 threads/test_thread_fail2.cpp)
\ No newline at end of file
diff --git a/libs/container/CMakeLists.txt b/libs/container/CMakeLists.txt
new file mode 100644
index 0000000..6fa7745
--- /dev/null
+++ b/libs/container/CMakeLists.txt
@@ -0,0 +1,21 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+# Add a variable to hold the headers for the library
+set (lib_headers
+ container
+)
+
+# Add a library target to the build system
+boost_library_project (container
+ TESTDIRS test
+ EXAMPLEDIRS example
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Standard library containers and extensions."
+ MODULARIZED
+ AUTHORS "Ion Gaztañaga <igaztanaga - at - gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/container/module.cmake b/libs/container/module.cmake
new file mode 100644
index 0000000..07f4053
--- /dev/null
+++ b/libs/container/module.cmake
@@ -0,0 +1 @@
+boost_module (container)
\ No newline at end of file
diff --git a/libs/container/test/CMakeLists.txt b/libs/container/test/CMakeLists.txt
new file mode 100644
index 0000000..64a0e79
--- /dev/null
+++ b/libs/container/test/CMakeLists.txt
@@ -0,0 +1,24 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+boost_additional_test_dependencies (container BOOST_DEPENDS test)
+
+#
+set (TESTS
+ deque_test
+ flat_tree_test
+ list_test
+ slist_test
+ stable_vector_test
+ string_test
+ tree_test
+ vector_test)
+
+foreach (_test ${TESTS})
+ boost_test_run (${_test} DEPENDS boost_unit_test_framework)
+endforeach (_test ${TESTS})
+
+if (WIN32)
+ message ("Need to turn on iterator debugging")
+endif (WIN32)
diff --git a/libs/conversion/CMakeLists.txt b/libs/conversion/CMakeLists.txt
new file mode 100644
index 0000000..3badd19
@ -2863,20 +2919,21 @@ index 0000000..536947d
\ No newline at end of file
diff --git a/libs/date_time/src/CMakeLists.txt b/libs/date_time/src/CMakeLists.txt
new file mode 100644
index 0000000..3a07ef4
index 0000000..b9137bb
--- /dev/null
+++ b/libs/date_time/src/CMakeLists.txt
@@ -0,0 +1,13 @@
@@ -0,0 +1,14 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+add_definitions(-DBOOST_DATE_TIME_NO_LIB=1)
+boost_add_library(
+add_definitions (-DBOOST_DATE_TIME_DYN_LINK=1 -DDATE_TIME_INLINE)
+boost_add_library (
+ date_time
+ gregorian/greg_month.cpp gregorian/greg_weekday.cpp gregorian/date_generators.cpp
+ gregorian/greg_month.cpp
+ gregorian/greg_weekday.cpp
+ gregorian/date_generators.cpp
+
+ STATIC_COMPILE_FLAGS -DBOOST_DATE_TIME_STATIC_LINK
+ SHARED_COMPILE_FLAGS -DBOOST_ALL_DYN_LINK=1
+ )
@ -4154,12 +4211,14 @@ index 0000000..fa210eb
\ No newline at end of file
diff --git a/libs/geometry/CMakeLists.txt b/libs/geometry/CMakeLists.txt
new file mode 100644
index 0000000..385a4c6
index 0000000..65fd8ce
--- /dev/null
+++ b/libs/geometry/CMakeLists.txt
@@ -0,0 +1,23 @@
@@ -0,0 +1,25 @@
+#----------------------------------------------------------------------------
+# This file was automatically generated from the original CMakeLists.txt file
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+# Add a variable to hold the headers for the library
+set (lib_headers
+ geometry
@ -4191,63 +4250,38 @@ index 0000000..523adeb
\ No newline at end of file
diff --git a/libs/geometry/test/CMakeLists.txt b/libs/geometry/test/CMakeLists.txt
new file mode 100644
index 0000000..fe1a3ce
index 0000000..5353515
--- /dev/null
+++ b/libs/geometry/test/CMakeLists.txt
@@ -0,0 +1,52 @@
+# (C) Copyright 2005: Eric Niebler
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -0,0 +1,28 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+boost_additional_test_dependencies (geometry BOOST_DEPENDS test)
+
+# bring in rules for testing
+#import testing ;
+#import feature ;
+#
+set (TESTS
+ core
+ point_concept
+ geometries
+ arithmetic
+ algorithms
+ iterators
+ strategies
+ policies
+ util
+ views
+ multi
+ domains)
+
+#feature.feature iterator_debugging
+# : on off
+# : composite propagated optional
+# ;
+foreach (_test ${TESTS})
+ boost_test_run (${_test} DEPENDS boost_unit_test_framework)
+endforeach (_test ${TESTS})
+
+#feature.compose <iterator_debugging>off
+# : <define>_HAS_ITERATOR_DEBUGGING=0
+# ;
+
+# project
+# : requirements
+# <library>/boost/test//boost_unit_test_framework
+# <link>static
+# <include>../../..
+# <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
+# # MSVC's iterator debugging causes some tests to run forever.
+# <toolset>msvc:<iterator_debugging>off
+# <toolset>intel-win:<iterator_debugging>off
+# ;
+
+boost_additional_test_dependencies(geometry BOOST_DEPENDS test)
+
+
+set(TESTS
+core
+point_concept
+geometries
+arithmetic
+algorithms
+iterators
+strategies
+policies
+util
+views
+multi
+domains)
+
+foreach(TEST ${TESTS})
+ boost_test_run(${TEST} DEPENDS boost_unit_test_framework)
+endforeach(TEST ${TESTS})
+
+if(WIN32)
+ message("Need to turn on iterator debugging")
+endif(WIN32)
\ No newline at end of file
+if (WIN32)
+ message ("Need to turn on iterator debugging")
+endif (WIN32)
diff --git a/libs/gil/CMakeLists.txt b/libs/gil/CMakeLists.txt
new file mode 100644
index 0000000..3b2f11d
@ -5456,6 +5490,153 @@ index 0000000..4f9a74f
+boost_test_run(operator_tests_simple DEPENDS boost_test_exec_monitor)
+boost_test_run(phoenix_control_structures DEPENDS boost_test_exec_monitor)
+boost_test_run(switch_construct DEPENDS boost_test_exec_monitor)
diff --git a/libs/locale/CMakeLists.txt b/libs/locale/CMakeLists.txt
new file mode 100644
index 0000000..be3b625
--- /dev/null
+++ b/libs/locale/CMakeLists.txt
@@ -0,0 +1,24 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+# Add a variable to hold the headers for the library
+set (lib_headers
+ locale.hpp
+ locale
+)
+
+# Add a library target to the build system
+boost_library_project (
+ locale
+ SRCDIRS src
+ TESTDIRS test
+ HEADERS ${lib_headers}
+ # DOCDIRS
+ DESCRIPTION "Provide localization and Unicode handling tools for C++."
+ MODULARIZED
+ AUTHORS "Vicente J. Botet Escribá <vicente.botet - at - wanadoo.fr>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/locale/module.cmake b/libs/locale/module.cmake
new file mode 100644
index 0000000..16740be
--- /dev/null
+++ b/libs/locale/module.cmake
@@ -0,0 +1 @@
+boost_module (locale DEPENDS thread)
diff --git a/libs/locale/src/CMakeLists.txt b/libs/locale/src/CMakeLists.txt
new file mode 100644
index 0000000..e9b5e9b
--- /dev/null
+++ b/libs/locale/src/CMakeLists.txt
@@ -0,0 +1,38 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+set (BOOST_LOCALE_ICU_LIBRARIES)
+
+if (ICU_FOUND AND ICU_I18N_FOUND)
+ add_definitions (-DBOOST_HAS_ICU=1 -DBOOST_LOCALE_WITH_ICU=1)
+ include_directories (${ICU_INCLUDE_DIRS})
+ set (BOOST_LOCALE_ICU_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
+ colormsg (GREEN "+-- ICU (unicode) available for locale, enabling support.")
+ set (NO_STATIC_IF_ICU_FOUND "NO_STATIC")
+else (ICU_FOUND AND ICU_I18N_FOUND)
+ colormsg (CYAN "+-- ICU (unicode) not available for locale, disabling support.")
+endif (ICU_FOUND AND ICU_I18N_FOUND)
+
+
+add_definitions (-DBOOST_THREAD_NO_LIB=1)
+boost_add_library (
+ locale
+ encoding/codepage.cpp
+ shared/date_time.cpp
+ shared/format.cpp
+ shared/formatting.cpp
+ shared/generator.cpp
+ shared/ids.cpp
+ shared/localization_backend.cpp
+ shared/message.cpp
+ shared/mo_lambda.cpp
+ util/codecvt_converter.cpp
+ util/default_locale.cpp
+ util/info.cpp
+ util/locale_data.cpp
+
+ LINK_LIBS ${BOOST_LOCALE_ICU_LIBRARIES}
+ SHARED_COMPILE_FLAGS -DBOOST_LOCALE_DYN_LINK=1
+ ${NO_STATIC_IF_ICU_FOUND}
+ )
diff --git a/libs/locale/test/CMakeLists.txt b/libs/locale/test/CMakeLists.txt
new file mode 100644
index 0000000..11d5c0a
--- /dev/null
+++ b/libs/locale/test/CMakeLists.txt
@@ -0,0 +1,60 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+boost_additional_test_dependencies (locale BOOST_DEPENDS test)
+
+set (LOCALE_LIBRARIES
+ boost_locale
+ boost_test_exec_monitor)
+
+set (BOOST_TEST_EXEC_MONITOR_SUFFIX "")
+if (NOT BUILD_SINGLE_THREADED)
+ set (BOOST_TEST_EXEC_MONITOR_SUFFIX "-mt")
+endif (NOT BUILD_SINGLE_THREADED)
+
+set (BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-static")
+if (NOT BUILD_RELEASE)
+ set (BOOST_TEST_EXEC_MONITOR_SUFFIX "${BOOST_TEST_EXEC_MONITOR_SUFFIX}-debug")
+endif (NOT BUILD_RELEASE)
+
+#
+macro (locale_test_run TESTNAME)
+ boost_test_run (${TESTNAME}
+ STATIC
+ DEPENDS boost_locale boost_test_exec_monitor )
+ boost_test_run ("${TESTNAME}_dll"
+ ${TESTNAME}.cpp
+ SHARED
+ DEPENDS boost_locale
+ "boost_test_exec_monitor${BOOST_TEST_EXEC_MONITOR_SUFFIX}")
+endmacro (locale_test_run)
+
+#
+set (TESTS
+ test_config.cpp
+ test_utf.cpp
+ test_date_time.cpp
+ test_ios_prop.cpp
+ test_codepage_converter.cpp
+ test_codepage.cpp
+ test_message.cpp
+ test_generator.cpp
+ test_collate.cpp
+ test_convert.cpp
+ test_boundary.cpp
+ test_formatting.cpp
+ test_icu_vs_os_timezone.cpp
+ test_winapi_collate.cpp
+ test_winapi_convert.cpp
+ test_winapi_formatting.cpp
+ test_posix_collate.cpp
+ test_posix_convert.cpp
+ test_posix_formatting.cpp
+ test_std_collate.cpp
+ test_std_convert.cpp
+ test_std_formatting.cpp
+ )
+
+#
+locale_test_(run_timer_test)
diff --git a/libs/logic/CMakeLists.txt b/libs/logic/CMakeLists.txt
new file mode 100644
index 0000000..da915e5
@ -5597,6 +5778,72 @@ index 0000000..88f26b7
+ boost_test_run(${mathtest} DEPENDS boost_test_exec_monitor)
+endforeach()
+
diff --git a/libs/move/CMakeLists.txt b/libs/move/CMakeLists.txt
new file mode 100644
index 0000000..33853af
--- /dev/null
+++ b/libs/move/CMakeLists.txt
@@ -0,0 +1,22 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+# Add a variable to hold the headers for the library
+set (lib_headers
+ move
+)
+
+# Add a library target to the build system
+boost_library_project (move
+ TESTDIRS test
+ EXAMPLEDIRS example
+ HEADERS ${lib_headers}
+ DOCDIRS doc
+ DESCRIPTION "Portable move semantics for C++03 and C++11 compilers."
+ MODULARIZED
+ AUTHORS "Ion Gaztañaga <igaztanaga - at - gmail.com>"
+ # MAINTAINERS
+)
+
+
diff --git a/libs/move/module.cmake b/libs/move/module.cmake
new file mode 100644
index 0000000..2be0f4c
--- /dev/null
+++ b/libs/move/module.cmake
@@ -0,0 +1 @@
+boost_module (move)
\ No newline at end of file
diff --git a/libs/move/test/CMakeLists.txt b/libs/move/test/CMakeLists.txt
new file mode 100644
index 0000000..2415cf7
--- /dev/null
+++ b/libs/move/test/CMakeLists.txt
@@ -0,0 +1,24 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+boost_additional_test_dependencies (move BOOST_DEPENDS test)
+
+#
+set (TESTS
+ doc_clone_ptr
+ doc_construct_forward
+ doc_file_descriptor
+ doc_how_works
+ doc_move_algorithms
+ doc_move_inserter
+ doc_move_iterator
+)
+
+foreach (_test ${TESTS})
+ boost_test_run (${_test} DEPENDS boost_unit_test_framework)
+endforeach (_test ${TESTS})
+
+if (WIN32)
+ message ("Need to turn on iterator debugging")
+endif (WIN32)
diff --git a/libs/mpi/CMakeLists.txt b/libs/mpi/CMakeLists.txt
new file mode 100644
index 0000000..21e408e
@ -8234,57 +8481,50 @@ index 0000000..3c9c0ae
\ No newline at end of file
diff --git a/libs/regex/src/CMakeLists.txt b/libs/regex/src/CMakeLists.txt
new file mode 100644
index 0000000..12bf067
index 0000000..c92f266
--- /dev/null
+++ b/libs/regex/src/CMakeLists.txt
@@ -0,0 +1,51 @@
@@ -0,0 +1,44 @@
+#----------------------------------------------------------------------------
+# CMake framework maintained by Denis Arnaud on git@github.com:pocb/boost
+#----------------------------------------------------------------------------
+#
+# Copyright Troy D. Straszheim
+#
+# Distributed under the Boost Software License, Version 1.0.
+# See http://www.boost.org/LICENSE_1_0.txt
+#
+
+set(BOOST_REGEX_ICU_LIBRARIES)
+set (BOOST_REGEX_ICU_LIBRARIES)
+
+if (ICU_FOUND AND ICU_I18N_FOUND)
+
+ add_definitions(-DBOOST_HAS_ICU=1)
+ include_directories(${ICU_INCLUDE_DIRS})
+ set(BOOST_REGEX_ICU_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
+ colormsg(GREEN "+-- ICU (unicode) available, enabling support.")
+ set(NO_STATIC_IF_ICU_FOUND "NO_STATIC")
+
+else()
+
+ colormsg(CYAN "+-- ICU (unicode) not available, disabling support.")
+
+endif()
+ add_definitions (-DBOOST_HAS_ICU=1)
+ include_directories (${ICU_INCLUDE_DIRS})
+ set (BOOST_REGEX_ICU_LIBRARIES ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
+ colormsg (GREEN "+-- ICU (unicode) available for regex, enabling support.")
+ set (NO_STATIC_IF_ICU_FOUND "NO_STATIC")
+else (ICU_FOUND AND ICU_I18N_FOUND)
+ colormsg (CYAN "+-- ICU (unicode) not available for regex, disabling support.")
+endif (ICU_FOUND AND ICU_I18N_FOUND)
+
+boost_add_library(regex
+#
+boost_add_library (regex
+ c_regex_traits.cpp
+ cpp_regex_traits.cpp
+ cregex.cpp
+ fileiter.cpp
+ icu.cpp
+ instances.cpp
+ posix_api.cpp
+ regex.cpp
+ regex_debug.cpp
+ regex_raw_buffer.cpp
+ regex_traits_defaults.cpp
+ static_mutex.cpp
+ w32_regex_traits.cpp
+ wc_regex_traits.cpp
+ wide_posix_api.cpp
+ winstances.cpp
+ usinstances.cpp
+
+ c_regex_traits.cpp
+ cpp_regex_traits.cpp
+ cregex.cpp
+ fileiter.cpp
+ icu.cpp
+ instances.cpp
+ posix_api.cpp
+ regex.cpp
+ regex_debug.cpp
+ regex_raw_buffer.cpp
+ regex_traits_defaults.cpp
+ static_mutex.cpp
+ w32_regex_traits.cpp
+ wc_regex_traits.cpp
+ wide_posix_api.cpp
+ winstances.cpp
+ usinstances.cpp
+
+ LINK_LIBS ${BOOST_REGEX_ICU_LIBRARIES}
+ SHARED_COMPILE_FLAGS -DBOOST_REGEX_DYN_LINK=1
+ ${NO_STATIC_IF_ICU_FOUND}
+ )
+ LINK_LIBS ${BOOST_REGEX_ICU_LIBRARIES}
+ SHARED_COMPILE_FLAGS -DBOOST_REGEX_DYN_LINK=1
+ ${NO_STATIC_IF_ICU_FOUND}
+ )
+
+
+
@ -11473,24 +11713,6 @@ index 0000000..8c435b7
+ RELEASE
+ STATIC
+ )
diff --git a/tools/build/CMake/.gitignore b/tools/build/CMake/.gitignore
new file mode 100644
index 0000000..5b99088
--- /dev/null
+++ b/tools/build/CMake/.gitignore
@@ -0,0 +1,12 @@
+/build
+tmp
+*.pyc
+._*
+bjam
+project-config.jam
+bin.v2/
+dist/
+.\#*
+*.tar.*
+*.zip
+
diff --git a/tools/build/CMake/Boost.bmp b/tools/build/CMake/Boost.bmp
new file mode 100644
index 0000000..944ab5e
@ -14992,16 +15214,6 @@ index 0000000..75bc4f1
+ <rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl/current/" rewritePrefix="file://@DOCBOOK_XSL_DIR@/"/>
+ <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.2/" rewritePrefix="file://@DOCBOOK_DTD_DIR@/"/>
+</catalog>
diff --git a/tools/build/CMake/docs/.gitignore b/tools/build/CMake/docs/.gitignore
new file mode 100644
index 0000000..7f67dd3
--- /dev/null
+++ b/tools/build/CMake/docs/.gitignore
@@ -0,0 +1,4 @@
+build/doctrees
+build/latex
+Makefile
+
diff --git a/tools/build/CMake/docs/Makefile.in b/tools/build/CMake/docs/Makefile.in
new file mode 100644
index 0000000..e51563a
@ -29958,13 +30170,6 @@ index 0000000..3a98b89
+ </body>
+</html>
\ No newline at end of file
diff --git a/tools/build/CMake/docs/source/.gitignore b/tools/build/CMake/docs/source/.gitignore
new file mode 100644
index 0000000..4ba4af7
--- /dev/null
+++ b/tools/build/CMake/docs/source/.gitignore
@@ -0,0 +1 @@
+boost_cmake_version.py
diff --git a/tools/build/CMake/docs/source/GitLexer.py b/tools/build/CMake/docs/source/GitLexer.py
new file mode 100644
index 0000000..20a672e
@ -37316,13 +37521,6 @@ index 0000000..341ecf8
+boost_external_report(ZLib INCLUDE_DIR LIBRARIES)
+
+
diff --git a/tools/build/CMake/install_me/.gitignore b/tools/build/CMake/install_me/.gitignore
new file mode 100644
index 0000000..211686a
--- /dev/null
+++ b/tools/build/CMake/install_me/.gitignore
@@ -0,0 +1 @@
+*.cmake
diff --git a/tools/build/CMake/install_me/Boost-thisversion.cmake.in b/tools/build/CMake/install_me/Boost-thisversion.cmake.in
new file mode 100644
index 0000000..b292097
@ -38144,6 +38342,9 @@ index 0000000..594a34d
+)
+
+
diff --git a/tools/build/CMake/test/libs/c/module.cmake b/tools/build/CMake/test/libs/c/module.cmake
new file mode 100644
index 0000000..e69de29
diff --git a/tools/build/CMake/test/libs/c/src/CMakeLists.txt b/tools/build/CMake/test/libs/c/src/CMakeLists.txt
new file mode 100644
index 0000000..cfc4752
@ -38286,6 +38487,9 @@ index 0000000..5cff225
+)
+
+
diff --git a/tools/build/CMake/test/libs/d/module.cmake b/tools/build/CMake/test/libs/d/module.cmake
new file mode 100644
index 0000000..e69de29
diff --git a/tools/build/CMake/test/libs/d/src/CMakeLists.txt b/tools/build/CMake/test/libs/d/src/CMakeLists.txt
new file mode 100644
index 0000000..aaba81f

View File

@ -0,0 +1,22 @@
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;

View File

@ -1,23 +0,0 @@
diff -urpN boost_1_44_0/libs/random/CMakeLists.txt boost_1_44_0-pm/libs/random/CMakeLists.txt
--- boost_1_44_0/libs/random/CMakeLists.txt 2011-01-03 16:52:25.000000000 +0100
+++ boost_1_44_0-pm/libs/random/CMakeLists.txt 2011-01-03 16:51:17.000000000 +0100
@@ -15,7 +15,7 @@ set (lib_headers
# Add a library target to the build system
boost_library_project(
random
- # SRCDIRS
+ SRCDIRS src
TESTDIRS test
HEADERS ${lib_headers}
# DOCDIRS
diff -urpN boost_1_44_0/libs/random/src/CMakeLists.txt boost_1_44_0-pm/libs/random/src/CMakeLists.txt
--- boost_1_44_0/libs/random/src/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
+++ boost_1_44_0-pm/libs/random/src/CMakeLists.txt 2011-01-03 16:50:40.000000000 +0100
@@ -0,0 +1,7 @@
+add_definitions(-DBOOST_RANDOM_NO_LIB=1)
+boost_add_library(
+ random
+ random_device.cpp
+ STATIC_COMPILE_FLAGS -DBOOST_RANDOM_STATIC_LINK
+ SHARED_COMPILE_FLAGS -DBOOST_ALL_DYN_LINK=1
+ )

View File

@ -26,9 +26,9 @@
Name: boost
Summary: The free peer-reviewed portable C++ source libraries
Version: 1.47.0
%define version_enc 1_47_0
Release: 7%{?dist}
Version: 1.48.0
%define version_enc 1_48_0
Release: 1%{?dist}
License: Boost and MIT and Python
# The CMake build framework (set of CMakeLists.txt and module.cmake files) is
@ -61,6 +61,7 @@ Requires: boost-date-time = %{version}-%{release}
Requires: boost-filesystem = %{version}-%{release}
Requires: boost-graph = %{version}-%{release}
Requires: boost-iostreams = %{version}-%{release}
Requires: boost-locale = %{version}-%{release}
Requires: boost-program-options = %{version}-%{release}
Requires: boost-python = %{version}-%{release}
Requires: boost-random = %{version}-%{release}
@ -83,18 +84,23 @@ BuildRequires: chrpath
# CMake-related files (CMakeLists.txt and module.cmake files).
# That patch also contains Web-related documentation for the Trac Wiki
# devoted to "old" Boost-CMake (up-to-date until Boost-1.41.0).
Patch0: boost-1.47.0-cmakeify-full.patch
Patch0: boost-1.48.0-cmakeify-full.patch
Patch1: boost-cmake-soname.patch
# The patch may break c++03, and there is therefore no plan yet to include
# it upstream: https://svn.boost.org/trac/boost/ticket/4999
Patch2: boost-1.47.0-signals-erase.patch
Patch2: boost-1.48.0-signals-erase.patch
# https://svn.boost.org/trac/boost/ticket/5731
Patch3: boost-1.47.0-exceptions.patch
Patch3: boost-1.48.0-exceptions.patch
# https://svn.boost.org/trac/boost/ticket/5934
Patch4: boost-1.47.0-tuple.patch
# https://svn.boost.org/trac/boost/ticket/6150
Patch4: boost-1.48.0-fix-non-utf8-files.patch
# Add a manual page for the sole executable, namely bjam, based on the
# on-line documentation:
# http://www.boost.org/boost-build2/doc/html/bbv2/overview.html
Patch5: boost-1.48.0-add-bjam-man-page.patch
%bcond_with tests
%bcond_with docs_generated
@ -154,6 +160,15 @@ Group: System Environment/Libraries
Run-Time support for Boost.IOStreams, a framework for defining streams,
stream buffers and i/o filters.
%package locale
Summary: Run-Time component of boost locale library
Group: System Environment/Libraries
%description locale
Run-Time support for Boost.Locale, a set of localization and Unicode
handling tools.
%package math
Summary: Stub that used to contain boost math library
Group: System Environment/Libraries
@ -294,15 +309,15 @@ This package contains the documentation in the HTML format of the Boost C++
libraries. The documentation provides the same content as that on the Boost
web page (http://www.boost.org/doc/libs/1_40_0).
%package examples
Summary: HTML documentation for the Boost C++ libraries
%package examples-devel
Summary: Source examples for the Boost C++ libraries
Group: Documentation
%if 0%{?fedora} >= 10
BuildArch: noarch
%endif
Requires: boost-devel = %{version}-%{release}
%description examples
%description examples-devel
This package contains example source files distributed with boost.
@ -440,7 +455,8 @@ sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH1} | %{__patch} -p0 --fuzz=0
# Fixes
%patch2 -p1
%patch3 -p0
%patch4 -p2
%patch4 -p1
%patch5 -p1
%build
# Support for building tests.
@ -531,7 +547,7 @@ cd %{_builddir}/%{toplev_dirname}
%install
%{__rm} -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT
cd %{_builddir}/%{toplev_dirname}
@ -543,17 +559,17 @@ export MPI_COMPILER
echo ============================= install $MPI_COMPILER ==================
DESTDIR=$RPM_BUILD_ROOT make -C $MPI_COMPILER VERBOSE=1 install
# Remove parts of boost that we don't want installed in MPI directory.
%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/libboost_{python,{w,}serialization}*
rm -f $RPM_BUILD_ROOT/$MPI_LIB/libboost_{python,{w,}serialization}*
# Suppress the mpi.so python module, as it not currently properly
# generated (some dependencies are missing. It is temporary until
# upstream Boost-CMake fixes that (see
# http://lists.boost.org/boost-cmake/2009/12/0859.php for more
# details)
%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/mpi.so
rm -f $RPM_BUILD_ROOT/$MPI_LIB/mpi.so
# Kill any debug library versions that may show up un-invited.
%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/*-d.*
rm -f $RPM_BUILD_ROOT/$MPI_LIB/*-d.*
# Remove cmake configuration files used to build the Boost libraries
find $RPM_BUILD_ROOT/$MPI_LIB -name '*.cmake' -exec %{__rm} -f {} \;
find $RPM_BUILD_ROOT/$MPI_LIB -name '*.cmake' -exec rm -f {} \;
%{_openmpi_unload}
export PATH=/bin${PATH:+:}$PATH
%endif
@ -563,17 +579,17 @@ export PATH=/bin${PATH:+:}$PATH
echo ============================= install $MPI_COMPILER ==================
DESTDIR=$RPM_BUILD_ROOT make -C $MPI_COMPILER VERBOSE=1 install
# Remove parts of boost that we don't want installed in MPI directory.
%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/libboost_{python,{w,}serialization}*
rm -f $RPM_BUILD_ROOT/$MPI_LIB/libboost_{python,{w,}serialization}*
# Suppress the mpi.so python module, as it not currently properly
# generated (some dependencies are missing. It is temporary until
# upstream Boost-CMake fixes that (see
# http://lists.boost.org/boost-cmake/2009/12/0859.php for more
# details)
%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/mpi.so
rm -f $RPM_BUILD_ROOT/$MPI_LIB/mpi.so
# Kill any debug library versions that may show up un-invited.
%{__rm} -f $RPM_BUILD_ROOT/$MPI_LIB/*-d.*
rm -f $RPM_BUILD_ROOT/$MPI_LIB/*-d.*
# Remove cmake configuration files used to build the Boost libraries
find $RPM_BUILD_ROOT/$MPI_LIB -name '*.cmake' -exec %{__rm} -f {} \;
find $RPM_BUILD_ROOT/$MPI_LIB -name '*.cmake' -exec rm -f {} \;
%{_mpich2_unload}
export PATH=/bin${PATH:+:}$PATH
%endif
@ -581,26 +597,28 @@ export PATH=/bin${PATH:+:}$PATH
echo ============================= install serial ==================
DESTDIR=$RPM_BUILD_ROOT make -C serial VERBOSE=1 install
# Kill any debug library versions that may show up un-invited.
%{__rm} -f $RPM_BUILD_ROOT/%{_libdir}/*-d.*
rm -f $RPM_BUILD_ROOT/%{_libdir}/*-d.*
# Remove cmake configuration files used to build the Boost libraries
find $RPM_BUILD_ROOT/%{_libdir} -name '*.cmake' -exec %{__rm} -f {} \;
find $RPM_BUILD_ROOT/%{_libdir} -name '*.cmake' -exec rm -f {} \;
echo ============================= install jam ==================
mkdir -p $RPM_BUILD_ROOT%{_bindir}
pushd tools/build/v2/engine/
%{__install} -m 755 bin.linux*/bjam $RPM_BUILD_ROOT%{_bindir}
popd
# Install the manual page
%{__install} -p -m 644 tools/build/v2/doc/bjam.1 -D $RPM_BUILD_ROOT%{_mandir}/man1/bjam.1
echo ============================= install build ==================
mkdir -p $RPM_BUILD_ROOT%{_datadir}/boost-build
pushd tools/build/v2
# Fix some permissions
%{__chmod} -x build/alias.py
%{__chmod} +x tools/doxproc.py
chmod -x build/alias.py
chmod +x tools/doxproc.py
# Empty file
%{__rm} -f tools/doxygen/windows-paths-check.hpp
rm -f tools/doxygen/windows-paths-check.hpp
# Not a real file
%{__rm} -f build/project.ann.py
rm -f build/project.ann.py
# Move into a dedicated location
cp -a boost-build.jam bootstrap.jam build-system.jam build/ kernel/ options/ tools/ util/ user-config.jam $RPM_BUILD_ROOT%{_datadir}/boost-build/
popd
@ -609,7 +627,7 @@ popd
echo ============================= install documentation ==================
cd %{_builddir}/%{toplev_dirname}
# Prepare the place to temporary store the generated documentation
%{__rm} -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html
rm -rf %{boost_docdir} && %{__mkdir_p} %{boost_docdir}/html
DOCPATH=%{boost_docdir}
find libs doc more -type f \( -name \*.htm -o -name \*.html \) \
| sed -n '/\//{s,/[^/]*$,,;p}' \
@ -620,38 +638,63 @@ cat tmp-doc-directories | while read tobeinstalleddocdir; do
find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -name \*.htm\* \
| xargs %{__install} -p -m 644 -t $DOCPATH/$tobeinstalleddocdir
done
%{__rm} -f tmp-doc-directories
rm -f tmp-doc-directories
%{__install} -p -m 644 -t $DOCPATH LICENSE_1_0.txt index.htm index.html
echo ============================= install examples ==================
# Fix a few non-standard issues (DOS and/or non-UTF8 files)
sed -i -e 's/\r//g' libs/geometry/example/ml02_distance_strategy.cpp
sed -i -e 's/\r//g' libs/geometry/example/ml02_distance_strategy.vcproj
for tmp_doc_file in flyweight/example/Jamfile.v2 \
format/example/sample_new_features.cpp multi_index/example/Jamfile.v2 \
multi_index/example/hashed.cpp serialization/example/demo_output.txt \
test/example/cla/wide_string.cpp
do
mv libs/${tmp_doc_file} libs/${tmp_doc_file}.iso8859
iconv -f ISO8859-1 -t UTF8 < libs/${tmp_doc_file}.iso8859 > libs/${tmp_doc_file}
touch -r libs/${tmp_doc_file}.iso8859 libs/${tmp_doc_file}
rm -f libs/${tmp_doc_file}.iso8859
done
# Prepare the place to temporary store the examples
%{__rm} -rf %{boost_examplesdir} && %{__mkdir_p} %{boost_examplesdir}/html
rm -rf %{boost_examplesdir} && mkdir -p %{boost_examplesdir}/html
EXAMPLESPATH=%{boost_examplesdir}
find libs -type d -name example -exec find {} -type f \; \
| sed -n '/\//{s,/[^/]*$,,;p}' \
| sort -u > tmp-doc-directories
sed "s:^:$EXAMPLESPATH/:" tmp-doc-directories \
| xargs --no-run-if-empty %{__install} -d
cat tmp-doc-directories | while read tobeinstalleddocdir; do
find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -type f \
| xargs %{__install} -p -m 644 -t $EXAMPLESPATH/$tobeinstalleddocdir
rm -f tmp-doc-files-to-be-installed && touch tmp-doc-files-to-be-installed
cat tmp-doc-directories | while read tobeinstalleddocdir
do
find $tobeinstalleddocdir -mindepth 1 -maxdepth 1 -type f \
>> tmp-doc-files-to-be-installed
done
%{__rm} -f tmp-doc-directories
cat tmp-doc-files-to-be-installed | while read tobeinstalledfiles
do
if test -s $tobeinstalledfiles
then
tobeinstalleddocdir=`dirname $tobeinstalledfiles`
%{__install} -p -m 644 -t $EXAMPLESPATH/$tobeinstalleddocdir $tobeinstalledfiles
fi
done
rm -f tmp-doc-files-to-be-installed
rm -f tmp-doc-directories
%{__install} -p -m 644 -t $EXAMPLESPATH LICENSE_1_0.txt
# Remove scripts used to generate include files
find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{__rm} -f {} \;
find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec rm -f {} \;
# boost support of cmake needs some tuning. For the time being, leave
# the files out, and rely on cmake's FindBoost to DTRT, as it had been
# doing in pre-cmake-boost times. For further info, see:
# https://bugzilla.redhat.com/show_bug.cgi?id=597020
%{__rm} -Rfv $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
%{__rm} -Rfv $RPM_BUILD_ROOT%{_datadir}/cmake/%{name}
rm -Rfv $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
rm -Rfv $RPM_BUILD_ROOT%{_datadir}/cmake/%{name}
%clean
%{__rm} -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT
# MPI subpackages don't need the ldconfig magic. They are hidden by
@ -679,6 +722,10 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_
%postun iostreams -p /sbin/ldconfig
%post locale -p /sbin/ldconfig
%postun locale -p /sbin/ldconfig
%post program-options -p /sbin/ldconfig
%postun program-options -p /sbin/ldconfig
@ -751,6 +798,11 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_
%doc LICENSE_1_0.txt
%{_libdir}/libboost_iostreams*.so.%{sonamever}
%files locale
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_libdir}/libboost_locale*.so.%{sonamever}
%files math
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
@ -811,7 +863,7 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_
%defattr(-, root, root, -)
%doc %{boost_docdir}/*
%files examples
%files examples-devel
%defattr(-, root, root, -)
%doc %{boost_examplesdir}/*
@ -895,8 +947,19 @@ find $RPM_BUILD_ROOT%{_includedir}/ \( -name '*.pl' -o -name '*.sh' \) -exec %{_
%defattr(-, root, root, -)
%doc LICENSE_1_0.txt
%{_bindir}/bjam
%{_mandir}/man1/bjam.1*
%changelog
* Sat Nov 19 2011 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.48.0-1
- Upgrade to Boost-1.48.0, adding two new header-only components
(Container and Move) and a new library (Locale).
- Resolves: #754865
- Added a patch with a manual page for the bjam executable.
- Added a patch to fix the non-UTF8-encoded example source file.
- Re-worked a little bit the example section, so as to fix the
DOS-formatted and the ISO-8859-encoded files. The examples
sub-package itself has been renamed into examples-devel.
* Thu Nov 3 2011 Petr Machata <pmachata@redhat.com> - 1.47.0-7
- Use <boost/tr1/tuple> instead of C++11 header <tuple> in boost math.
- Resolves: #751210

View File

@ -1 +1 @@
a2dc343f7bc7f83f8941e47ed4a18200 boost_1_47_0.tar.bz2
d1e9a7a7f532bb031a3c175d86688d95 boost_1_48_0.tar.bz2