<pre style='margin:0'>
Michael Dickens (michaelld) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/53da773ae9a3569bf5698f525565e5b640f0382c">https://github.com/macports/macports-ports/commit/53da773ae9a3569bf5698f525565e5b640f0382c</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 53da773ae9a3569bf5698f525565e5b640f0382c
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Mon May 31 16:00:12 2021 +0100

<span style='display:block; white-space:pre;color:#404040;'>    boost176: New port, providing boost 1.76
</span><span style='display:block; white-space:pre;color:#404040;'>    Installation is isolated under ${prefix}/libexec/boost176 to allow
</span><span style='display:block; white-space:pre;color:#404040;'>    parallel installation of multiple boost versions.
</span>---
 devel/boost176/Portfile                            | 478 +++++++++++++++++++
 .../files/patch-apple-clang-no-libcxx.diff         |  35 ++
 .../patch-boost-libcpp-force-thread-local-off.diff |  13 +
 devel/boost176/files/patch-boost-python3.diff      |  22 +
 devel/boost176/files/patch-compiler.diff           |  11 +
 .../files/patch-disable-numpy-extension.diff       |  22 +
 ...alization_explicit_template_instantiations.diff | 512 +++++++++++++++++++++
 .../files/patch-libs-mpi-build-Jamfile.v2.diff     |  26 ++
 .../files/patch-revert-lib-name-tagged.diff        |  11 +
 .../patch-tools-build-src-tools-python-2.jam.diff  |  16 +
 .../patch-tools-build-src-tools-python.jam.diff    |  11 +
 11 files changed, 1157 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/Portfile b/devel/boost176/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..178fd8e3823
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,478 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem      1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup       mpi 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup       active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name            boost176
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version         1.76.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Revision is set below in the `if {$subport eq $name} { ... }` statement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The boost-numpy subport has its own revision number
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums       rmd160  b1da5df10d7e0fd07d864973f106d4376b7e375b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256  f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                size    110073117
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license         Boost-1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories      devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms       darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers     {michaelld @michaelld} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description     Collection of portable C++ source libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Boost provides free portable peer-reviewed C++ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    libraries. The emphasis is on portable libraries \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    which work well with the C++ Standard Library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage        http://www.boost.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites    https://boostorg.jfrog.io/artifactory/main/release/${version}/source/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set distver     [join [split ${version} .] _]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname        boost_${distver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_bzip2       yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib     port:bzip2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:expat \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:icu \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:libiconv \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:lzma \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:zstd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse dir ${workpath} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[file isdirectory ${dir}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file attributes ${dir} -permissions a+rx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Install prefix for this port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set bprefix ${prefix}/libexec/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# patch-apple-clang-no-libcxx.diff fixes a clang configuration error
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# that occurs on OS X 10.7 and 10.8 due to the assumption that if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clang is the compiler in use it must be using libc++.  Apple Clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# uses libstdc++ by default on these OS versions.  The patch adds an
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# additional BOOST_* configuration flag that is set if Apple clang is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# being used but libc++ is not.  This flag is then used to prevent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# boost or a dependent package from using functions such as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# std::forward that are only available in libc++.  Fixes build of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# libcdr on these OS versions without affecting build on 10.6 and less
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# (where clang is not the default compiler) or 10.9 and up (where
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# libc++ is the default).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-apple-clang-no-libcxx.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# libcxxabi installed by the libcxx port on the buildbot does not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# have the cxa_thread_atexit support, so until this is fixed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# we have to force thread_local off on < 10.7 when using libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-boost-libcpp-force-thread-local-off.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# temporary patch to fix: explicit template instanciations in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# boost::serialization don't get exported with all compilers; this fix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# is already in the boost repo & will be part of a future release. See
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# also the following tickets:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/48717
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://svn.boost.org/trac/boost/ticket/11671
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-export_serialization_explicit_template_instantiations.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# revert the default tagged library name changes in 1.69.0 <
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# libboost_<component>-<threading>-<arch>.dylib > back to 1.68.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# format: libboost_<component>-<threading>.dylib; where <component> is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the component name (e.g., system, thread), <threading> is either mt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# or st (multi or single), and <arch> is the build arch (x86, x64,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# p64, p32).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-revert-lib-name-tagged.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see https://trac.macports.org/wiki/UsingTheRightCompiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-compiler.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|__MACPORTS_CXX__|${configure.cxx}|g" ${worksrcpath}/tools/build/src/tools/clang-darwin.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc write_jam s {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global worksrcpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set config [open ${worksrcpath}/user-config.jam a]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${config} ${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    close ${config}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilers.choose   cc cxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mpi.setup          -gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# NOTE: although technically Boost does not require C++11 compliance
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# for building, doing so allows for building on more OSs than without.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Further: Building Boost using C++11 compliance does not seem to then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# require ports depending on Boost to also require C++11 compliance,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# and requiring it does make such building easier for those ports.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxxflags-append -std=gnu++11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard   2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# It turns out that ccache and distcc can produce boost libraries that, although they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# compile without warning, have all sorts of runtime errors especially with pointer corruption.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Since most people will now use MacPorts' pre-compiled boost, this should not be a problem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.ccache    no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.distcc    no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cmd       ./bootstrap.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args      --without-libraries=python \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --without-libraries=mpi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-icu=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# boost build scripts default to clang on darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *gcc* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append --with-toolset=gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} <= 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --without-libraries=context \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --without-libraries=coroutine
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E "s|-install_name \"|&${bprefix}/lib/|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/tools/build/src/tools/darwin.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set compileflags ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string length ${configure.sdkroot}] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set compileflags "<compileflags>\"-isysroot ${configure.sdkroot}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set cxx_stdlibflags {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string match *clang* ${configure.cxx}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set cxx_stdlibflags -stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see https://trac.macports.org/ticket/55857
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see https://svn.boost.org/trac10/ticket/13454
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    write_jam "using darwin : : ${configure.cxx} : <asmflags>\"${configure.cflags} [get_canonical_archflags cc]\" <cflags>\"${configure.cflags} [get_canonical_archflags cc]\" <cxxflags>\"${configure.cxxflags} [get_canonical_archflags cxx] ${cxx_stdlibflags}\" ${compileflags} <linkflags>\"${configure.ldflags} ${cxx_stdlibflags}\" : ;"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.cmd       ${worksrcpath}/b2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args      -d2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --layout=tagged \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --debug-configuration \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --user-config=user-config.jam \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sBZIP2_INCLUDE=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sBZIP2_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sEXPAT_INCLUDE=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sEXPAT_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sZLIB_INCLUDE=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sZLIB_LIBPATH=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -sICU_PATH=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                variant=release \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                threading=single,multi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                link=static,shared \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                runtime-link=shared \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                -j${build.jobs} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --no-cmake-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.cmd    ${worksrcpath}/b2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.post_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.args {*}${build.args} --prefix=${destroot}${bprefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "find ${worksrcpath} -type f -name '*.gch' -exec rm {} \\;"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc boost_docs_install {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global prefix destroot worksrcpath name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set docdir ${bprefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set l [expr [string length ${worksrcpath}] + 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fs-traverse f [glob -directory ${worksrcpath} *] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set dest ${destroot}${docdir}/[string range ${f} ${l} end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[file isdirectory ${f}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[file tail ${f}] eq "example"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                copy ${f} ${dest}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -d ${dest}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } elseif {[lsearch -exact {css htm html png svg} [string range [file extension ${f}] 1 end]] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            xinstall -m 644 ${f} ${dest}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset docs]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        boost_docs_install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_suffixes {27 35 36 37 38 39}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_ports {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    lappend pythons_ports python${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc python_dir {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global pythons_suffixes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_isset python${s}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set p python[string index ${s} 0].[string index ${s} 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return [file normalize [exec ${p} -c "import sys; print(sys.prefix)"]/lib/${p}/site-packages]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    error "Python support not enabled."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set p python${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set v [string index ${s} 0].[string index ${s} 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set i [lsearch -exact ${pythons_ports} ${p}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set c [lreplace ${pythons_ports} ${i} ${i}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${s} > 30 } { set bppatch "patch-boost-python3.diff" } else { set bppatch "" }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant ${p} description "Build Boost.Python for Python ${v}" conflicts {*}${c} debug "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # There is a conflict with python and debug support, so we should really change the 'variant' line above
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # to end with 'conflicts ${c} debug' above. However, we leave it enabled for those who want to try it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # The issue has been reported to both the MacPorts team and the boost team, as per:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # <http://trac.macports.org/ticket/23667> and <https://svn.boost.org/trac/boost/ticket/4461>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append      port:${p}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-delete   --without-libraries=python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append   --with-python=${prefix}/bin/python${v} --with-python-root=${prefix}/bin/python${v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append   ${bppatch} patch-tools-build-src-tools-python.jam.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            patch-tools-build-src-tools-python-2.jam.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace s|@FRAMEWORKS_DIR@|${frameworks_dir}| ${worksrcpath}/tools/build/src/tools/python.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset debug]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set selected_python python39
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_isset python${s}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set selected_python python${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +${selected_python}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants +no_single +no_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant debug description {Builds debug versions of the libraries as well} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-delete   variant=release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   variant=debug,release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant no_static description {Disable building static libraries} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-delete   link=static,shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   link=shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant no_single description {Disable building single-threaded libraries} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-delete   threading=single,multi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   threading=multi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport ${name}-numpy {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description Boost.Numpy library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description {*}${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib port:boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_isset python${s}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_lib-append port:py${s}-numpy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            require_active_variants boost python${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset no_static]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants boost no_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants boost "" no_static
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset no_single]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants boost no_single
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants boost "" no_single
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {$subport eq $name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-disable-numpy-extension.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant regex_match_extra description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "Enable access to extended capture information of submatches in Boost.Regex" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        notes-append "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        You enabled the +regex_match_extra variant\; see the following page for an\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        exhaustive list of the consequences of this feature:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    http://www.boost.org/doc/libs/${distver}/libs/regex/doc/html/boost_regex/ref/sub_match.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace {/#define BOOST_REGEX_MATCH_EXTRA/s:^// ::} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/boost/regex/user.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant docs description {Enable building documentation} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # No configure changes, etc; we simply check 'variant_isset' elsewhere
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete file {*}[glob ${destroot}${bprefix}/include/boost/python/numpy*]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[mpi_variant_isset]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # see https://trac.macports.org/ticket/49748
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # see http://www.openradar.me/25313838
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.ldflags-append -Lstage/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # There is a conflict with debug support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # The issue has been reported to both the MacPorts team and the boost team, as per:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # <http://trac.macports.org/ticket/23667> and <https://svn.boost.org/trac/boost/ticket/4461>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_isset debug]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "+debug variant conflicts with mpi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-delete   --without-libraries=mpi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            write_jam "using mpi : ${mpi.cxx} : : ${mpi.exec} ;"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![catch python_dir]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patchfiles-append patch-libs-mpi-build-Jamfile.v2.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set site_packages [python_dir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                xinstall -d ${destroot}${site_packages}/boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                xinstall -m 644 ${worksrcpath}/libs/mpi/build/__init__.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${site_packages}/boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set f ${destroot}${bprefix}/lib/mpi.so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[info exists ${f}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set l ${site_packages}/boost/mpi.so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    move ${f} ${destroot}${l}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    system "install_name_tool -id ${l} ${destroot}${l}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.url   http://www.boost.org/users/download/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.regex Version (\\d+\\.\\d+\\.\\d+)</span>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move {*}[glob ${destroot}${bprefix}/lib/libboost_numpy*] ${destroot}${bprefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move {*}[glob ${destroot}${bprefix}/include/boost/python/numpy*] ${destroot}${bprefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # if an mpi variant *and* a python variant is selected, then a binary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # python module called mpi.so gets installed, so delete ${frameworks_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${destroot}${bprefix}${frameworks_dir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${bprefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${bprefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${bprefix}/share
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${destroot}${bprefix}/lib ${destroot}${bprefix}/include/boost/python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move {*}[glob ${destroot}${bprefix}/libboost_numpy*] ${destroot}${bprefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move {*}[glob ${destroot}${bprefix}/numpy*] ${destroot}${bprefix}/include/boost/python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[lsearch ${build_arch} arm*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.args-append address-model=64 architecture=arm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${build_arch} ppc*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.args-append architecture=power
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${os.arch} ne "powerpc"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append --disable-long-double
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${build_arch} *86*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append architecture=x86
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    error "Current value of 'build_arch' (${build_arch}) is not supported."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${build_arch} *64] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append address-model=64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append address-model=32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant universal {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   pch=off
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[lsearch ${configure.universal_archs} arm*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.args-append address-model=64 architecture=combined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${configure.universal_archs} ppc*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${configure.universal_archs} *86*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append architecture=combined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append architecture=power
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${os.arch} ne "powerpc"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append --disable-long-double
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.args-append architecture=x86
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${configure.universal_archs} *64] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${configure.universal_archs} i386] != -1 || [lsearch ${configure.universal_archs} ppc] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append address-model=32_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[lsearch ${configure.universal_archs} ppc64] == -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        reinplace "/local support-ppc64 =/s/= 1/= /" ${worksrcpath}/tools/build/src/tools/darwin.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                build.args-append address-model=64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            build.args-append address-model=32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   --disable-long-double
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 8 powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        build.args-append   macosx-version=10.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# As of Boost 1.70.0, Boost provides CMake find scripts for itself
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# that are installed by default. Those provided in 1.70.0 were broken
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# in multiple ways; many fixed were added before 1.71.0. That said,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# we're not installing them by default at this time, but instead
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# providing an option to install them for testing / evaluation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# purposes. We will likely enable these scripts in the future since it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# is likely that CMake will stop providing them once the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Boost-provided version is stable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant cmake_scripts description {Install Boost CMake find scripts} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-delete --no-cmake-config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-apple-clang-no-libcxx.diff b/devel/boost176/files/patch-apple-clang-no-libcxx.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..06ef57da5b6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-apple-clang-no-libcxx.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/config/compiler/clang.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/config/compiler/clang.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -248,6 +248,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define BOOST_NO_CXX11_INLINE_NAMESPACES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Apple Clang uses libc++ by default on Mavericks (OS X 10.9)  and higher
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Apple Clang uses libstdc++ by default on Mountain Lion (OS X 10.8) and lower
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <ciso646>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef _LIBCPP_VERSION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define BOOST_APPLE_CLANG_NO_LIBCXX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !__has_feature(cxx_override_control)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define BOOST_NO_CXX11_FINAL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/multi_index/detail/vartempl_support.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/multi_index/detail/vartempl_support.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -40,11 +40,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)||\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)||\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    defined(BOOST_APPLE_CLANG_NO_LIBCXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/move/core.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/move/utility.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/preprocessor/arithmetic/add.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/preprocessor/arithmetic/sub.hpp>
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-boost-libcpp-force-thread-local-off.diff b/devel/boost176/files/patch-boost-libcpp-force-thread-local-off.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ed838b4f016
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-boost-libcpp-force-thread-local-off.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boost/config/stdlib/libcpp.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boost/config/stdlib/libcpp.hpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,6 +15,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define BOOST_NO_CXX11_THREAD_LOCAL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_HAS_THREADS
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-boost-python3.diff b/devel/boost176/files/patch-boost-python3.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8b88db1b6be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-boost-python3.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/mpi/src/python/datatypes.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/mpi/src/python/datatypes.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,6 +13,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/mpi/python/serialize.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/mpi.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if PY_MAJOR_VERSION >= 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define PyInt_Type PyLong_Type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost { namespace mpi { namespace python {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void export_datatypes()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/mpi/build/__init__.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/mpi/build/__init__.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,5 +6,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     import mpi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     sys.setdlopenflags(flags)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    import mpi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    from . import mpi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-compiler.diff b/devel/boost176/files/patch-compiler.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..31bd36231cd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-compiler.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/src/tools/clang-darwin.jam.orig    2021-05-30 15:15:28.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/src/tools/clang-darwin.jam 2021-05-30 15:16:03.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,7 +54,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #   compile and link options allow you to specify addition command line options for each version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rule init ( version ? :  command * : options * )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    command = [ common.get-invocation-command clang-darwin : clang++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    command = [ common.get-invocation-command clang-darwin : __MACPORTS_CXX__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         : $(command) : /usr/bin /usr/local/bin ] ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Determine the version
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-disable-numpy-extension.diff b/devel/boost176/files/patch-disable-numpy-extension.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..28d02ba51d9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-disable-numpy-extension.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/src/tools/python.jam.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/src/tools/python.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -843,18 +843,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     local full-cmd = $(interpreter-cmd)" -c \"$(full-cmd)\"" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     debug-message "running command '$(full-cmd)'" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     local result = [ SHELL $(full-cmd) : strip-eol : exit-status ] ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if $(result[2]) = 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        .numpy = true ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        .numpy-include = $(result[1]) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        debug-message "NumPy enabled" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        debug-message "NumPy disabled. Reason:" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        debug-message "  $(full-cmd) aborted with " ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        debug-message "  $(result[1])" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    debug-message "NumPy disabled." ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # End autoconfiguration sequence.
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-export_serialization_explicit_template_instantiations.diff b/devel/boost176/files/patch-export_serialization_explicit_template_instantiations.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..712fb1f3cb6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-export_serialization_explicit_template_instantiations.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,512 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/basic_text_iprimitive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/basic_text_iprimitive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,7 +12,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  pragma warning (disable : 4786) // too long name, harmless warning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <istream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,7 +25,7 @@ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_iprimitive<std::istream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_iprimitive<std::istream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/basic_text_oprimitive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/basic_text_oprimitive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,7 +12,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  pragma warning (disable : 4786) // too long name, harmless warning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <ostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,7 +25,7 @@ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_oprimitive<std::ostream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_oprimitive<std::ostream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/basic_text_wiprimitive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/basic_text_wiprimitive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,7 +8,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  See http://www.boost.org for updates, documentation, and revision history.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <istream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,7 +30,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_iprimitive<std::wistream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_iprimitive<std::wistream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/basic_text_woprimitive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/basic_text_woprimitive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,7 +8,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  See http://www.boost.org for updates, documentation, and revision history.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <ostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,7 +30,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_oprimitive<std::wostream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_oprimitive<std::wostream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/basic_xml_grammar.ipp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/basic_xml_grammar.ipp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,7 +12,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  pragma warning (disable : 4786) // too long name, harmless warning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <istream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <algorithm>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/config.hpp> // typename
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/binary_iarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/binary_iarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,11 +8,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  See http://www.boost.org for updates, documentation, and revision history.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <istream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/binary_iarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/archive_serializer_map.ipp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,14 +27,14 @@ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<binary_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_iprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<binary_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_iprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_iarchive,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::istream::char_type, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::istream::traits_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ >;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_iarchive<binary_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class binary_iarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_iarchive<binary_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE binary_iarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_iarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::istream::char_type, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::istream::traits_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/binary_oarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/binary_oarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,11 +8,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //  See http://www.boost.org for updates, documentation, and revision history.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <ostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/binary_oarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of binary stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,14 +27,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<binary_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_oprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<binary_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_oprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_oarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::ostream::char_type, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::ostream::traits_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ >;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_oarchive<binary_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class binary_oarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_oarchive<binary_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE binary_oarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_oarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::ostream::char_type, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::ostream::traits_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/binary_wiarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/binary_wiarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/binary_wiarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,14 +29,14 @@ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<binary_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_iprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<binary_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_iprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_wiarchive,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     wchar_t, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::char_traits<wchar_t> 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ >;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_iarchive<binary_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class binary_iarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_iarchive<binary_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE binary_iarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_wiarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     wchar_t, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::char_traits<wchar_t> 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/binary_woarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/binary_woarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/binary_woarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/archive_serializer_map.ipp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,14 +27,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<binary_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_oprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<binary_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_oprimitive<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_woarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     wchar_t, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::char_traits<wchar_t> 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ >;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_binary_oarchive<binary_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class binary_oarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_binary_oarchive<binary_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE binary_oarchive_impl<
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     binary_woarchive, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     wchar_t, 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::char_traits<wchar_t> 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/polymorphic_iarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/polymorphic_iarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,13 +17,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/archive_serializer_map.ipp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/polymorphic_iarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace detail {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class archive_serializer_map<polymorphic_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE archive_serializer_map<polymorphic_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/polymorphic_oarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/polymorphic_oarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,13 +17,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/archive_serializer_map.ipp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/polymorphic_oarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace detail {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class archive_serializer_map<polymorphic_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE archive_serializer_map<polymorphic_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // detail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/text_iarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/text_iarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/text_iarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,9 +27,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<text_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_iarchive<text_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class text_iarchive_impl<text_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<text_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_iarchive<text_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE text_iarchive_impl<text_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/text_oarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/text_oarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/text_oarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,9 +28,9 @@ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //template class basic_text_oprimitive<std::ostream> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<text_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_oarchive<text_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class text_oarchive_impl<text_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<text_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_oarchive<text_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE text_oarchive_impl<text_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace serialization
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/text_wiarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/text_wiarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,7 +16,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/text_wiarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,9 +29,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<text_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_iarchive<text_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class text_wiarchive_impl<text_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<text_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_iarchive<text_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE text_wiarchive_impl<text_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/text_woarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/text_woarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/text_woarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,9 +28,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<text_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_text_oarchive<text_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class text_woarchive_impl<text_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<text_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_text_oarchive<text_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE text_woarchive_impl<text_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_grammar.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_grammar.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,7 +16,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/basic_xml_grammar.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace boost::spirit::classic;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -67,7 +69,7 @@ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicit instantiation of xml for 8 bit characters
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_grammar<char>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_grammar<char>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_iarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_iarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/xml_iarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of xml stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,9 +27,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<xml_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_iarchive<xml_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class xml_iarchive_impl<xml_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<xml_iarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_iarchive<xml_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE xml_iarchive_impl<xml_iarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_oarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_oarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_ARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/xml_oarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of xml stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,9 +27,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<xml_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_oarchive<xml_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class xml_oarchive_impl<xml_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<xml_oarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_oarchive<xml_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE xml_oarchive_impl<xml_oarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_wgrammar.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_wgrammar.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,7 +16,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/impl/basic_xml_grammar.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace boost::spirit::classic;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -149,7 +151,7 @@ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicit instantiation of xml for wide characters
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_grammar<wchar_t>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_grammar<wchar_t>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_wiarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_wiarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,7 +19,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/xml_wiarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of xml stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -30,9 +32,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<xml_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_iarchive<xml_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class xml_wiarchive_impl<xml_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<xml_wiarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_iarchive<xml_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE xml_wiarchive_impl<xml_wiarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/serialization/src/xml_woarchive.cpp.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/serialization/src/xml_woarchive.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,7 +19,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define BOOST_WARCHIVE_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/serialization/config.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility push(default)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/xml_woarchive.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC visibility pop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <boost/archive/detail/archive_serializer_map.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // explicitly instantiate for this type of text stream
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -30,9 +32,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace boost {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace archive {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class detail::archive_serializer_map<xml_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class basic_xml_oarchive<xml_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-template class xml_woarchive_impl<xml_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE detail::archive_serializer_map<xml_woarchive>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE basic_xml_oarchive<xml_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template class BOOST_SYMBOL_VISIBLE xml_woarchive_impl<xml_woarchive> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } // namespace boost
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-libs-mpi-build-Jamfile.v2.diff b/devel/boost176/files/patch-libs-mpi-build-Jamfile.v2.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..eaa4a379598
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-libs-mpi-build-Jamfile.v2.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/mpi/build/Jamfile.v2.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/mpi/build/Jamfile.v2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -49,6 +49,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     <link>shared:<define>BOOST_MPI_DYN_LINK=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   : # Default build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     <link>shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    <threading>multi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   : # Usage requirements
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     <library>../../serialization/build//boost_serialization
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     <library>/mpi//mpi [ mpi.extra-requirements ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -95,6 +96,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <python>$(py$(N)-version)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               : # Default build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <link>shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                <threading>multi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               : # Usage requirements
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <library>/mpi//mpi [ mpi.extra-requirements ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -122,6 +124,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <link>shared <runtime-link>shared
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                <threading>multi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <python-debugging>on:<define>BOOST_DEBUG_PYTHON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 <python>$(py$(N)-version)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               ;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-revert-lib-name-tagged.diff b/devel/boost176/files/patch-revert-lib-name-tagged.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9a264a50a81
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-revert-lib-name-tagged.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boostcpp.jam.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boostcpp.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -163,7 +163,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             <base> <threading> <runtime> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case 1.69 :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         .format-name-args =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            <base> <threading> <runtime> <arch-and-model> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            <base> <threading> <runtime> ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else if $(layout) = system
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-tools-build-src-tools-python-2.jam.diff b/devel/boost176/files/patch-tools-build-src-tools-python-2.jam.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..82b02ff3947
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-tools-build-src-tools-python-2.jam.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/src/tools/python.jam.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/src/tools/python.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -542,6 +542,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         libraries ?= $(default-library-path) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         includes ?= $(default-include-path) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else if $(target-os) = darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        includes ?= $(prefix)/Headers ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        local lib = $(exec-prefix)/lib ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        libraries ?= $(lib)/python$(version)/config $(lib) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         includes ?= $(prefix)/include/python$(version) ;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-tools-build-src-tools-python.jam.diff b/devel/boost176/files/patch-tools-build-src-tools-python.jam.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e0c10a8fab3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-tools-build-src-tools-python.jam.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/src/tools/python.jam.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/src/tools/python.jam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -431,7 +431,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     version ?= $(.version-countdown) ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     local prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      = [ GLOB /System/Library/Frameworks /Library/Frameworks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      = [ GLOB @FRAMEWORKS_DIR@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           : Python.framework ] ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return $(prefix)/Versions/$(version)/bin/python ;
</span></pre><pre style='margin:0'>

</pre>