[mingw-boost: 32/48] update to 1.48.0

epienbro epienbro at fedoraproject.org
Wed Mar 7 15:45:19 UTC 2012


commit 113e7e14979738d49ee5830871a01b0f3270d6fa
Author: Thomas Sailer <t.sailer at alumni.ethz.ch>
Date:   Sat Jan 14 18:02:53 2012 +0100

    update to 1.48.0

 .gitignore                                         |    1 +
 boost-1.48.0-add-bjam-man-page.patch               |  150 ++++
 ...-full.patch => boost-1.48.0-cmakeify-full.patch |  733 ++++++++++++++------
 ...ceptions.patch => boost-1.48.0-exceptions.patch |    0
 boost-1.48.0-fix-non-utf8-files.patch              |   22 +
 boost-1.48.0-foreach.patch                         |   60 ++
 boost-1.48.0-gcc47-pthreads.patch                  |   14 +
 boost-1.48.0-lexical_cast-incomplete.patch         |   37 +
 ...erase.patch => boost-1.48.0-signals-erase.patch |    0
 mingw32-boost.spec                                 |   57 ++-
 sources                                            |    2 +-
 11 files changed, 848 insertions(+), 228 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index c3caa0a..c11ac68 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ boost-1.41.0.cmake0.tar.bz2
 /boost_1_46_0_beta1.tar.bz2
 /boost_1_46_1.tar.bz2
 /boost_1_47_0.tar.bz2
+/boost_1_48_0.tar.bz2
diff --git a/boost-1.48.0-add-bjam-man-page.patch b/boost-1.48.0-add-bjam-man-page.patch
new file mode 100644
index 0000000..ea3f19f
--- /dev/null
+++ b/boost-1.48.0-add-bjam-man-page.patch
@@ -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 
diff --git a/boost-1.47.0-cmakeify-full.patch b/boost-1.48.0-cmakeify-full.patch
similarity index 98%
rename from boost-1.47.0-cmakeify-full.patch
rename to boost-1.48.0-cmakeify-full.patch
index 712e162..40a4298 100644
--- a/boost-1.47.0-cmakeify-full.patch
+++ b/boost-1.48.0-cmakeify-full.patch
@@ -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..fb69f5c
 --- /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,77 +2383,72 @@ 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..68e844e
 --- /dev/null
 +++ b/libs/chrono/src/CMakeLists.txt
-@@ -0,0 +1,20 @@
-+#
-+# 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,15 @@
++#----------------------------------------------------------------------------
++# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
++#----------------------------------------------------------------------------
 +#
-+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"
-+  DEPENDS boost_system
-+  )
++  STATIC_COMPILE_FLAGS "-DBOOST_CHRONO_STATIC_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..39542b4
 --- /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")
++  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()
++  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} 
++#
++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
@@ -2703,6 +2694,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..89bc1ba
+--- /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..fe14f8b
+--- /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
@@ -2864,20 +2920,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..45d1ea3
 --- /dev/null
 +++ b/libs/date_time/src/CMakeLists.txt
-@@ -0,0 +1,13 @@
-+#
-+# 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,14 @@
++#----------------------------------------------------------------------------
++# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
++#----------------------------------------------------------------------------
 +#
-+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
 +  )
@@ -4155,12 +4212,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..6f0ec1b
 --- /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
@@ -4192,63 +4251,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..6fb8446
 --- /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)
-+
-+# bring in rules for testing
-+#import testing ;
-+#import feature ;
-+
-+#feature.feature iterator_debugging
-+#  : on off
-+# : composite propagated optional
-+#  ;
-+
-+#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)
-+
+@@ -0,0 +1,28 @@
++#----------------------------------------------------------------------------
++# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
++#----------------------------------------------------------------------------
++#
++boost_additional_test_dependencies (geometry BOOST_DEPENDS test)
 +
-+set(TESTS 
-+core
-+point_concept 
-+geometries
-+arithmetic
-+algorithms
-+iterators
-+strategies
-+policies
-+util
-+views
-+multi
-+domains)
++#
++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})
++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
@@ -5457,6 +5491,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..668d0cc
+--- /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..c63fb3f
+--- /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..40546db
+--- /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
@@ -5519,7 +5700,7 @@ index 0000000..7684320
 +boost_test_run(tribool_io_test)
 diff --git a/libs/math/CMakeLists.txt b/libs/math/CMakeLists.txt
 new file mode 100644
-index 0000000..0f7652e
+index 0000000..84080d5
 --- /dev/null
 +++ b/libs/math/CMakeLists.txt
 @@ -0,0 +1,28 @@
@@ -5540,7 +5721,7 @@ index 0000000..0f7652e
 +# Add a library target to the build system
 +boost_library_project(
 +  math
-+  #  SRCDIRS 
++  SRCDIRS src/tr1
 +  TESTDIRS  test
 +  HEADERS ${lib_headers}
 +  #  DOCDIRS 
@@ -5559,6 +5740,88 @@ index 0000000..e222098
 @@ -0,0 +1 @@
 +boost_module(math DEPENDS format array)
 \ No newline at end of file
+diff --git a/libs/math/src/tr1/CMakeLists.txt b/libs/math/src/tr1/CMakeLists.txt
+new file mode 100644
+index 0000000..692fa72
+--- /dev/null
++++ b/libs/math/src/tr1/CMakeLists.txt
+@@ -0,0 +1,76 @@
++boost_add_library(math_tr1
++
++	assoc_laguerre.cpp assoc_legendre.cpp beta.cpp
++	comp_ellint_1.cpp comp_ellint_2.cpp comp_ellint_3.cpp
++	cyl_bessel_i.cpp cyl_bessel_j.cpp cyl_bessel_k.cpp
++	cyl_neumann.cpp ellint_1.cpp ellint_2.cpp ellint_3.cpp
++	expint.cpp hermite.cpp laguerre.cpp legendre.cpp
++	riemann_zeta.cpp sph_bessel.cpp sph_legendre.cpp
++	sph_neumann.cpp
++
++	SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
++	COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
++)
++
++boost_add_library(math_tr1f
++
++	assoc_laguerref.cpp assoc_legendref.cpp betaf.cpp
++	comp_ellint_1f.cpp comp_ellint_2f.cpp comp_ellint_3f.cpp
++	cyl_bessel_if.cpp cyl_bessel_jf.cpp cyl_bessel_kf.cpp
++	cyl_neumannf.cpp ellint_1f.cpp ellint_2f.cpp ellint_3f.cpp
++	expintf.cpp hermitef.cpp laguerref.cpp legendref.cpp
++	riemann_zetaf.cpp sph_besself.cpp sph_legendref.cpp
++	sph_neumannf.cpp
++
++	SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
++	COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
++)
++
++boost_add_library(math_tr1l
++
++	assoc_laguerrel.cpp assoc_legendrel.cpp betal.cpp
++	comp_ellint_1l.cpp comp_ellint_2l.cpp comp_ellint_3l.cpp
++	cyl_bessel_il.cpp cyl_bessel_jl.cpp cyl_bessel_kl.cpp
++	cyl_neumannl.cpp ellint_1l.cpp ellint_2l.cpp ellint_3l.cpp
++	expintl.cpp hermitel.cpp laguerrel.cpp legendrel.cpp
++	riemann_zetal.cpp sph_bessell.cpp sph_legendrel.cpp
++	sph_neumannl.cpp
++
++	SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
++	COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
++)
++
++boost_add_library(math_c99
++
++	acosh.cpp asinh.cpp atanh.cpp cbrt.cpp copysign.cpp erfc.cpp
++	erf.cpp expm1.cpp fmax.cpp fmin.cpp fpclassify.cpp hypot.cpp
++	lgamma.cpp llround.cpp log1p.cpp lround.cpp nextafter.cpp
++	nexttoward.cpp round.cpp tgamma.cpp trunc.cpp
++
++	SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
++	COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
++)
++
++boost_add_library(math_c99f
++
++	acoshf.cpp asinhf.cpp atanhf.cpp cbrtf.cpp copysignf.cpp
++	erfcf.cpp erff.cpp expm1f.cpp fmaxf.cpp fminf.cpp
++	fpclassifyf.cpp hypotf.cpp lgammaf.cpp llroundf.cpp log1pf.cpp
++	lroundf.cpp nextafterf.cpp nexttowardf.cpp roundf.cpp
++	tgammaf.cpp truncf.cpp
++
++	SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
++	COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
++)
++
++boost_add_library(math_c99l
++
++	acoshl.cpp asinhl.cpp atanhl.cpp cbrtl.cpp copysignl.cpp
++	erfcl.cpp erfl.cpp expm1l.cpp fmaxl.cpp fminl.cpp
++	fpclassifyl.cpp hypotl.cpp lgammal.cpp llroundl.cpp log1pl.cpp
++	lroundl.cpp nextafterl.cpp nexttowardl.cpp roundl.cpp
++	tgammal.cpp truncl.cpp
++
++	SHARED_COMPILE_FLAGS "-DBOOST_MATH_TR1_DYN_LINK=1"
++	COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}"
++)
 diff --git a/libs/math/test/CMakeLists.txt b/libs/math/test/CMakeLists.txt
 new file mode 100644
 index 0000000..88f26b7
@@ -5598,6 +5861,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..e682d31
+--- /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..00df6af
+--- /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
@@ -8235,57 +8564,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..fa3d29b
 --- /dev/null
 +++ b/libs/regex/src/CMakeLists.txt
-@@ -0,0 +1,51 @@
-+#
-+# 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,44 @@
++#----------------------------------------------------------------------------
++# CMake framework maintained by Denis Arnaud on git://github.com/pocb/boost
++#----------------------------------------------------------------------------
 +#
-+
-+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
-+
-+   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}
-+   )
++#
++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 
++
++  LINK_LIBS ${BOOST_REGEX_ICU_LIBRARIES}
++  SHARED_COMPILE_FLAGS -DBOOST_REGEX_DYN_LINK=1
++  ${NO_STATIC_IF_ICU_FOUND}
++  )
 +
 +
 +
@@ -10009,34 +10331,29 @@ index 0000000..23f2939
 +boost_test_compile_fail(no_implicit_assign_from_lvalue_thread)
 diff --git a/libs/timer/CMakeLists.txt b/libs/timer/CMakeLists.txt
 new file mode 100644
-index 0000000..02967a6
+index 0000000..a73986c
 --- /dev/null
 +++ b/libs/timer/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,23 @@
 +#----------------------------------------------------------------------------
-+# This file was automatically generated from the original CMakeLists.txt file
++# CMake framework maintained by Denis Arnaud on http://github.com/pocb/boost
++#----------------------------------------------------------------------------
++#
 +# Add a variable to hold the headers for the library
 +set (lib_headers
 +    timer.hpp
-+    
 +)
 +
 +# Add a library target to the build system
-+boost_library_project(
++boost_library_project (
 +  timer
-+  #  SRCDIRS 
++  SRCDIRS  src
 +  TESTDIRS  test
 +  HEADERS ${lib_headers}
 +  #  DOCDIRS 
-+  #  DESCRIPTION 
++  DESCRIPTION  "The timer library calculates how long C++ code takes to run."
 +  MODULARIZED 
-+  #  AUTHORS 
++  AUTHORS  "Beman Dawes <bdawes - at - acm.org>"
 +  #  MAINTAINERS 
 +)
 +
@@ -10048,6 +10365,26 @@ index 0000000..0ce8984
 +++ b/libs/timer/module.cmake
 @@ -0,0 +1 @@
 +boost_module(timer DEPENDS config)
+diff --git a/libs/timer/src/CMakeLists.txt b/libs/timer/src/CMakeLists.txt
+new file mode 100644
+index 0000000..859814f
+--- /dev/null
++++ b/libs/timer/src/CMakeLists.txt
+@@ -0,0 +1,14 @@
++#----------------------------------------------------------------------------
++# CMake framework maintained by Denis Arnaud on http://github.com/pocb/boost
++#----------------------------------------------------------------------------
++#
++set (BOOST_TIMER_EXTRA_SOURCES)
++set (BOOST_TIMER_LIBRARIES)
++
++boost_add_library (timer
++  auto_timers_construction.cpp
++  cpu_timer.cpp
++
++  SHARED_COMPILE_FLAGS "-DBOOST_TIMER_DYN_LINK=1"
++  STATIC_COMPILE_FLAGS "-DBOOST_TIMER_STATIC_LINK=1"
++)
 diff --git a/libs/timer/test/CMakeLists.txt b/libs/timer/test/CMakeLists.txt
 new file mode 100644
 index 0000000..bfa115a
@@ -11474,24 +11811,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
@@ -14993,16 +15312,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
@@ -29959,13 +30268,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
@@ -37317,13 +37619,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
@@ -38145,6 +38440,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
@@ -38287,6 +38585,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
diff --git a/boost-1.47.0-exceptions.patch b/boost-1.48.0-exceptions.patch
similarity index 100%
rename from boost-1.47.0-exceptions.patch
rename to boost-1.48.0-exceptions.patch
diff --git a/boost-1.48.0-fix-non-utf8-files.patch b/boost-1.48.0-fix-non-utf8-files.patch
new file mode 100644
index 0000000..b60a3ac
--- /dev/null
+++ b/boost-1.48.0-fix-non-utf8-files.patch
@@ -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;
diff --git a/boost-1.48.0-foreach.patch b/boost-1.48.0-foreach.patch
new file mode 100644
index 0000000..12cf088
--- /dev/null
+++ b/boost-1.48.0-foreach.patch
@@ -0,0 +1,60 @@
+Index: /trunk/boost/foreach_fwd.hpp
+===================================================================
+--- /trunk/boost/foreach_fwd.hpp	(revision 62661)
++++ /trunk/boost/foreach_fwd.hpp	(revision 75540)
+@@ -15,4 +15,6 @@
+ #define BOOST_FOREACH_FWD_HPP
+ 
++#include <utility> // for std::pair
++
+ // This must be at global scope, hence the uglified name
+ enum boost_foreach_argument_dependent_lookup_hack
+@@ -26,4 +28,7 @@
+ namespace foreach
+ {
++    template<typename T>
++    std::pair<T, T> in_range(T begin, T end);
++
+     ///////////////////////////////////////////////////////////////////////////////
+     // boost::foreach::tag
+@@ -47,4 +52,22 @@
+ } // namespace foreach
+ 
++// Workaround for unfortunate https://svn.boost.org/trac/boost/ticket/6131
++namespace BOOST_FOREACH
++{
++    using foreach::in_range;
++    using foreach::tag;
++
++    template<typename T>
++    struct is_lightweight_proxy
++      : foreach::is_lightweight_proxy<T>
++    {};
++
++    template<typename T>
++    struct is_noncopyable
++      : foreach::is_noncopyable<T>
++    {};
++
++} // namespace BOOST_FOREACH
++
+ } // namespace boost
+ 
+Index: /trunk/boost/foreach.hpp
+===================================================================
+--- /trunk/boost/foreach.hpp	(revision 75077)
++++ /trunk/boost/foreach.hpp	(revision 75540)
+@@ -166,5 +166,5 @@
+ //   at the global namespace for your type.
+ template<typename T>
+-inline boost::foreach::is_lightweight_proxy<T> *
++inline boost::BOOST_FOREACH::is_lightweight_proxy<T> *
+ boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
+ 
+@@ -191,5 +191,5 @@
+ //   at the global namespace for your type.
+ template<typename T>
+-inline boost::foreach::is_noncopyable<T> *
++inline boost::BOOST_FOREACH::is_noncopyable<T> *
+ boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
+ 
diff --git a/boost-1.48.0-gcc47-pthreads.patch b/boost-1.48.0-gcc47-pthreads.patch
new file mode 100644
index 0000000..016cfbd
--- /dev/null
+++ b/boost-1.48.0-gcc47-pthreads.patch
@@ -0,0 +1,14 @@
+Index: boost/config/stdlib/libstdcpp3.hpp
+===================================================================
+--- boost/config/stdlib/libstdcpp3.hpp  (revision 75635)
++++ boost/config/stdlib/libstdcpp3.hpp  (working copy)
+@@ -33,7 +33,8 @@
+ 
+ #ifdef __GLIBCXX__ // gcc 3.4 and greater:
+ #  if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
+-        || defined(_GLIBCXX__PTHREADS)
++        || defined(_GLIBCXX__PTHREADS) \
++        || defined(_GLIBCXX_HAS_GTHREADS)
+       //
+       // If the std lib has thread support turned on, then turn it on in Boost
+       // as well.  We do this because some gcc-3.4 std lib headers define _REENTANT
diff --git a/boost-1.48.0-lexical_cast-incomplete.patch b/boost-1.48.0-lexical_cast-incomplete.patch
new file mode 100644
index 0000000..d917b62
--- /dev/null
+++ b/boost-1.48.0-lexical_cast-incomplete.patch
@@ -0,0 +1,37 @@
+diff -up boost_1_48_0/boost/lexical_cast.hpp\~ boost_1_48_0/boost/lexical_cast.hpp
+--- boost_1_48_0/boost/lexical_cast.hpp~	2011-11-08 19:12:23.000000000 +0100
++++ boost_1_48_0/boost/lexical_cast.hpp	2011-11-29 01:27:29.368064527 +0100
+@@ -1599,6 +1599,18 @@ namespace boost
+         };
+ 
+         template<typename T>
++        struct is_char
++        {
++            BOOST_STATIC_CONSTANT(bool, value = false );
++        };
++
++        template<>
++        struct is_char<char>
++        {
++            BOOST_STATIC_CONSTANT(bool, value = true );
++        };
++
++        template<typename T>
+         struct is_char_or_wchar
+         {
+         private:
+@@ -1732,11 +1744,7 @@ namespace boost
+                                  is_arithmetic<src >::value,
+                                  ::boost::type_traits::ice_and<
+                                      is_pointer<src >::value,
+-                                     is_char_or_wchar<removed_ptr_t >::value,
+-                                     ::boost::type_traits::ice_eq<
+-                                        sizeof(char_type),
+-                                        sizeof(removed_ptr_t)
+-                                     >::value
++                                     is_char<removed_ptr_t >::value
+                                  >::value
+                              >::value
+                         );
+
+Diff finished.  Tue Nov 29 01:27:49 2011
diff --git a/boost-1.47.0-signals-erase.patch b/boost-1.48.0-signals-erase.patch
similarity index 100%
rename from boost-1.47.0-signals-erase.patch
rename to boost-1.48.0-signals-erase.patch
diff --git a/mingw32-boost.spec b/mingw32-boost.spec
index 3af14cf..a634f9c 100644
--- a/mingw32-boost.spec
+++ b/mingw32-boost.spec
@@ -8,11 +8,11 @@
 %global name1 boost
 
 Name:           mingw32-%{name1}
-Version:        1.47.0
-%global version_enc 1_47_0
-%global dllboostver 1_47
-%global dllgccver gcc46
-Release:        2%{?dist}
+Version:        1.48.0
+%define version_enc 1_48_0
+%global dllboostver 1_48
+%global dllgccver gcc47
+Release:        1%{?dist}
 Summary:        MinGW Windows port of Boost C++ Libraries
 
 License:        Boost
@@ -21,27 +21,46 @@ Group:          Development/Libraries
 # added on top of the official Boost release (http://www.boost.org), thanks to
 # a dedicated patch. That CMake framework (and patch) is hosted and maintained
 # on GitHub, for now in the following Git repository:
-#   https://github.com/boost-lib/boost-cmake
+#   https://github.com/pocb/boost.git
 # A clone also exists on Gitorious, where CMake-related work was formely done:
 #   http://gitorious.org/boost/cmake
 # Upstream work is synchronised thanks to the Ryppl's hosted Git clone:
 #   https://github.com/ryppl/boost-svn/tree/trunk
 %define toplev_dirname %{name1}_%{version_enc}
 URL:            http://www.boost.org
-Source:         http://downloads.sourceforge.net/%{name1}/%{toplev_dirname}.tar.bz2
+Source0:        http://downloads.sourceforge.net/%{name}/%{toplev_dirname}.tar.bz2
 
 # 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/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
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=757385
+# https://svn.boost.org/trac/boost/ticket/6182
+Patch6:         boost-1.48.0-lexical_cast-incomplete.patch
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=756005
+# https://svn.boost.org/trac/boost/ticket/6131
+Patch7:         boost-1.48.0-foreach.patch
+
+# https://svn.boost.org/trac/boost/ticket/6165
+Patch8:         boost-1.48.0-gcc47-pthreads.patch
 
 BuildArch:      noarch
 
@@ -88,9 +107,14 @@ Static version of the MinGW Windows Boost C++ library.
 %patch0 -p1
 sed 's/_FEDORA_SONAME/%{sonamever}/' %{PATCH1} | %{__patch} -p0 --fuzz=0
 
-# fixes
+# Fixes
 %patch2 -p1
 %patch3 -p0
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p2
+%patch8 -p0
 
 %build
 # Support for building tests.
@@ -232,6 +256,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_mingw32_libdir}/libboost_thread-%{dllgccver}-mt-%{dllboostver}.dll.a
 %{_mingw32_bindir}/boost_thread-%{dllgccver}-mt-d-%{dllboostver}.dll
 %{_mingw32_libdir}/libboost_thread-%{dllgccver}-mt-d-%{dllboostver}.dll.a
+%{_mingw32_bindir}/boost_timer-%{dllgccver}-mt-%{dllboostver}.dll
+%{_mingw32_libdir}/libboost_timer-%{dllgccver}-mt-%{dllboostver}.dll.a
+%{_mingw32_bindir}/boost_timer-%{dllgccver}-mt-d-%{dllboostver}.dll
+%{_mingw32_libdir}/libboost_timer-%{dllgccver}-mt-d-%{dllboostver}.dll.a
 %{_mingw32_bindir}/boost_unit_test_framework-%{dllgccver}-%{dllboostver}.dll
 %{_mingw32_libdir}/libboost_unit_test_framework-%{dllgccver}-%{dllboostver}.dll.a
 %{_mingw32_bindir}/boost_unit_test_framework-%{dllgccver}-d-%{dllboostver}.dll
@@ -305,6 +333,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_mingw32_libdir}/libboost_test_exec_monitor-%{dllgccver}-d-%{dllboostver}.a
 %{_mingw32_libdir}/libboost_test_exec_monitor-%{dllgccver}-mt-%{dllboostver}.a
 %{_mingw32_libdir}/libboost_test_exec_monitor-%{dllgccver}-mt-d-%{dllboostver}.a
+%{_mingw32_libdir}/libboost_timer-%{dllgccver}-%{dllboostver}.a
+%{_mingw32_libdir}/libboost_timer-%{dllgccver}-d-%{dllboostver}.a
+%{_mingw32_libdir}/libboost_timer-%{dllgccver}-mt-%{dllboostver}.a
+%{_mingw32_libdir}/libboost_timer-%{dllgccver}-mt-d-%{dllboostver}.a
 %{_mingw32_libdir}/libboost_thread-%{dllgccver}-mt-%{dllboostver}.a
 %{_mingw32_libdir}/libboost_thread-%{dllgccver}-mt-d-%{dllboostver}.a
 %{_mingw32_libdir}/libboost_unit_test_framework-%{dllgccver}-%{dllboostver}.a
@@ -320,6 +352,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Sat Jan 14 2012 Thomas Sailer <t.sailer at alumni.ethz.ch> - 1.48.0-1
+- update to 1.48.0
+
 * Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.47.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 
diff --git a/sources b/sources
index 46a422f..60b1baf 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a2dc343f7bc7f83f8941e47ed4a18200  boost_1_47_0.tar.bz2
+d1e9a7a7f532bb031a3c175d86688d95  boost_1_48_0.tar.bz2


More information about the scm-commits mailing list