← Back to team overview

kicad-developers team mailing list archive

Fwd: Remove boost build.

 

Woops, forgot to add the list...

...

That patch seems to be missing some things like the fake boost target
and the patches, here's one that removes that too.

Would be nice to test without the fake target, it seems to speed up compilation.

On Sun, Dec 20, 2015 at 1:29 PM, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
> Attached is a patch for removing the Boost build from Kicad's build
> configuration.  Would one of our osx devs please test it to make sure it
> doesn't break anything before I commit it.  I also modified FindCairo to
> work properly with CMakes FindPackageHandleStandardArgs.
>
> I also notice that FindOpenGL does not specify a minimum version.  Would
> one of our GAL devs please let me know what the minimum version of
> OpenGL is required to build KiCad.
>
> Thanks,
>
> Wayne
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt	2015-12-12 19:56:55 +0000
+++ CMakeLists.txt	2015-12-20 20:07:18 +0000
@@ -54,13 +54,6 @@
     "Build wxPython implementation for wx interface building in Python and py.shell (default OFF)."
     )
 
-# WARNING: KiCad developers strongly advise you to build Boost with supplied patches,
-# as it is known to work with KiCad.  Other versions may contain bugs that may result
-# in KiCad errors.
-option( KICAD_SKIP_BOOST
-    "Skip building downloaded Boost library components, use Boost from your system."
-    )
-mark_as_advanced( KICAD_SKIP_BOOST )    # Normal builders should build Boost.
 
 # when option KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES is enabled:
 # PYTHON_EXECUTABLE can be defined when invoking cmake
@@ -463,27 +456,12 @@
     check_find_package_result( CAIRO_FOUND "Cairo" )
 endif()
 
-# Download boost and possibly build parts of it
-#################################################
-if( KICAD_SKIP_BOOST )
-    find_package( Boost 1.54.0 REQUIRED COMPONENTS context date_time filesystem iostreams locale
-                                                   program_options regex system thread )
-
-    if( NOT Boost_FOUND )
-        message( FATAL_ERROR "Boost 1.54+ libraries are required." )
-    endif()
-
-    # Keeps CMake from complaining about undefined boost dependencies even though Boost was
-    # found.  Sigh!!!!!
-    add_custom_target( boost )
-
-    message( WARNING "
-WARNING: You decided to skip building boost library.
-KiCad developers strongly advise you to build the bundled boost library, as it is known to work with KiCad.
-Other versions may contain bugs that may result in KiCad errors." )
-else()
-    add_dependencies( lib-dependencies boost )
-    include( download_boost )
+# Find Boost
+find_package( Boost 1.54.0 REQUIRED COMPONENTS context date_time filesystem iostreams locale
+                                               program_options regex system thread )
+
+if( NOT Boost_FOUND )
+    message( FATAL_ERROR "Boost 1.54+ libraries are required." )
 endif()
 
 # Include MinGW resource compiler.
@@ -663,21 +641,6 @@
 #add_subdirectory( new )
 
 
-# Make all libs and executables depend on ExternalProject_Add( boost ),
-# except perhaps bitmap lib.  This allows a multi-threaded build to succeed.
-add_dependencies( pcbnew boost )
-add_dependencies( eeschema boost )
-add_dependencies( cvpcb_kiface boost )
-add_dependencies( gal boost )
-add_dependencies( common boost )
-add_dependencies( pcbcommon boost )
-add_dependencies( 3d-viewer boost )
-add_dependencies( pcad2kicadpcb boost )
-add_dependencies( polygon boost )
-add_dependencies( pl_editor boost )
-add_dependencies( pnsrouter boost )
-
-
 if( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC )
     add_dependencies( pcbnew lib-dependencies )
     add_dependencies( eeschema lib-dependencies )

=== removed file 'CMakeModules/download_boost.cmake'
--- CMakeModules/download_boost.cmake	2015-12-08 14:17:23 +0000
+++ CMakeModules/download_boost.cmake	1970-01-01 00:00:00 +0000
@@ -1,320 +0,0 @@
-#  This program source code file is part of KICAD, a free EDA CAD application.
-#
-#  Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck <dick@xxxxxxxxxxx>
-#  Copyright (C) 2013 Kicad Developers, see AUTHORS.txt for contributors.
-#
-#  This program is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU General Public License
-#  as published by the Free Software Foundation; either version 2
-#  of the License, or (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with this program; if not, you may find one here:
-#  http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
-#  or you may search the http://www.gnu.org website for the version 2 license,
-#  or you may write to the Free Software Foundation, Inc.,
-#  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
-
-
-
-# Download a particular boost version, and patch it [and build it if BUILD_GITHUB_PLUGIN].
-# Assumes include( ExternalProject ) was done inline previous to this file
-# and that set( DOWNLOAD_DIR ... ) was set in a higher context.
-
-
-#-----<configure>----------------------------------------------------------------
-
-set( BOOST_RELEASE 1.54.0 )
-set( BOOST_MD5 15cb8c0803064faef0c4ddf5bc5ca279 )   # re-calc this on every RELEASE change
-
-# The boost headers [and static libs if built] go here, at the top of KiCad
-# source tree in boost_root.
-set( BOOST_ROOT "${PROJECT_SOURCE_DIR}/boost_root" )
-
-
-# Space separated list which indicates the subset of boost libraries to compile.
-# Chosen libraries are based on AVHTTP requirements, and possibly
-# unit_test_framework for its own worth.
-# tool_manager.cpp -> coroutine -> context (_jump_fcontext) (on OSX)
-
-set( BOOST_LIBS_BUILT
-    context
-    #coroutine
-    date_time
-    #exception
-    filesystem
-    iostreams
-    locale
-    program_options
-    regex
-    #signals
-    system
-    thread
-    #unit_test_framework
-    )
-#-----</configure>---------------------------------------------------------------
-
-if( NOT BZIP2_FOUND )
-    find_package( BZip2 REQUIRED )
-endif()
-
-string( REGEX REPLACE "\\." "_" BOOST_VERS "${BOOST_RELEASE}" )
-set( PREFIX ${DOWNLOAD_DIR}/boost_${BOOST_VERS} )
-
-# <SOURCE_DIR> = ${PREFIX}/src/boost
-# There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine
-# download, the patch is applied.  This lets you regenerate a new patch at any time
-# easily, simply by editing the working tree in <SOURCE_DIR> and doing "bzr diff" in there.
-
-# path to the boost headers in the repo.
-# repo = "${headers_src}/../.bzr" = "<SOURCE_DIR>/.bzr"
-set( headers_src "${PREFIX}/src/boost/boost" )
-
-
-function( set_boost_lib_names libs output )
-    foreach( lib ${libs} )
-        set( fullpath_lib "${BOOST_ROOT}/lib/libboost_${lib}${CMAKE_STATIC_LIBRARY_SUFFIX}" )
-        list( APPEND results ${fullpath_lib} )
-    endforeach()
-    # set the results into variable represented by output into caller's scope
-    set( ${output} ${results} PARENT_SCOPE )
-endfunction()
-
-
-# (BTW "test" yields "unit_test_framework" when passed to bootstrap.sh ).
-#message( STATUS "BOOST_LIBS_BUILT:${BOOST_LIBS_BUILT}" )
-string( REPLACE "unit_test_framework" "test" boost_libs_list "${BOOST_LIBS_BUILT}" )
-#message( STATUS "REPLACE libs_csv:${boost_libs_list}" )
-
-# Default Toolset
-set( BOOST_TOOLSET "toolset=gcc" )
-
-if( KICAD_BUILD_STATIC OR APPLE )
-    set( BOOST_LINKTYPE  "link=static" )
-else()
-    unset( BOOST_LINKTYPE )
-endif()
-
-
-find_program(patch_bin NAMES patch patch.exe)
-
-if( "${patch_bin}" STREQUAL "patch_bin-NOTFOUND" )
-    set( PATCH_STR_CMD ${PATCH_STR_CMD} )
-else()
-    set( PATCH_STR_CMD ${patch_bin} -p0 -i )
-endif()
-
-
-
-if( MINGW AND NOT CMAKE_HOST_UNIX )  # building for MINGW on windows not UNIX
-    if( MSYS )
-        # The Boost system does not build properly on MSYS using bootstrap.sh.  Running
-        # bootstrap.bat with cmd.exe does.  It's ugly but it works.  At least for Boost
-        # version 1.54.
-        set( bootstrap cmd.exe /c "bootstrap.bat mingw" )
-    else()
-        set( bootstrap ./bootstrap.bat mingw )
-    endif()
-
-    foreach( lib ${boost_libs_list} )
-        set( b2_libs ${b2_libs} --with-${lib} )
-    endforeach()
-    unset( BOOST_CFLAGS )
-
-else()
-    string( REGEX REPLACE "\\;" "," libs_csv "${boost_libs_list}" )
-    #message( STATUS "libs_csv:${libs_csv}" )
-
-    set( bootstrap ./bootstrap.sh --with-libraries=${libs_csv} )
-    # pass to *both* C and C++ compilers
-    set( BOOST_INCLUDE  "${BOOST_ROOT}/include" )
-    unset( b2_libs )
-endif()
-
-
-if( APPLE )
-    set( BOOST_CXXFLAGS  "cxxflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -fno-common" )
-    set( BOOST_LINKFLAGS "linkflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} -fno-common" )
-    set( BOOST_TOOLSET   "toolset=darwin" )
-
-    if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
-        set(BOOST_CXXFLAGS  "${BOOST_CXXFLAGS} -fno-lto" )
-        set(BOOST_LINKFLAGS "${BOOST_LINKFLAGS} -fno-lto" )
-    endif()
-
-    if( CMAKE_OSX_ARCHITECTURES )
-
-        if( (CMAKE_OSX_ARCHITECTURES MATCHES "386" OR CMAKE_OSX_ARCHITECTURES MATCHES "ppc ") AND
-            (CMAKE_OSX_ARCHITECTURES MATCHES "64"))
-            message( "-- BOOST found 32/64 Address Model" )
-
-            set( BOOST_ADDRESSMODEL "address-model=32_64" )
-        endif()
-
-        if( (CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR CMAKE_OSX_ARCHITECTURES MATCHES "386") AND
-            (CMAKE_OSX_ARCHITECTURES MATCHES "ppc"))
-            message("-- BOOST found ppc/x86 Architecture")
-
-            set(BOOST_ARCHITECTURE "architecture=combined")
-        elseif( (CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR CMAKE_OSX_ARCHITECTURES MATCHES "386") )
-            message("-- BOOST found x86 Architecture")
-
-            set(BOOST_ARCHITECTURE "architecture=x86")
-        elseif( (CMAKE_OSX_ARCHITECTURES MATCHES "ppc64" OR CMAKE_OSX_ARCHITECTURES MATCHES "ppc") )
-            message("-- BOOST found ppc Architecture")
-
-            set(BOOST_ARCHITECTURE "architecture=ppc")
-        endif()
-
-        set( BOOST_CFLAGS    "${BOOST_CFLAGS} -arch ${CMAKE_OSX_ARCHITECTURES}"  )
-        set( BOOST_CXXFLAGS  "${BOOST_CXXFLAGS} -arch ${CMAKE_OSX_ARCHITECTURES}"  )
-        set( BOOST_LINKFLAGS "${BOOST_LINKFLAGS} -arch ${CMAKE_OSX_ARCHITECTURES}" )
-    endif()
-endif()
-
-ExternalProject_Add( boost
-    PREFIX          "${PREFIX}"
-
-    URL             http://downloads.sourceforge.net/project/boost/boost/${BOOST_RELEASE}/boost_${BOOST_VERS}.tar.bz2
-    DOWNLOAD_DIR    "${DOWNLOAD_DIR}"
-    TIMEOUT         1200            # 20 minutes
-    URL_MD5         ${BOOST_MD5}
-    # If download fails, then enable "LOG_DOWNLOAD ON" and try again.
-    # Upon a second failure with logging enabled, then look at these logs:
-    # <src>/.downloads-by-cmake$ less /tmp/product/.downloads-by-cmake/boost_1_54_0/src/boost-stamp/boost-download-out.log
-    # <src>/.downloads-by-cmake$ less /tmp/product/.downloads-by-cmake/boost_1_54_0/src/boost-stamp/boost-download-err.log
-    # If out.log does not show 100%, then try increasing TIMEOUT even more, or download the URL manually and put it
-    # into <src>/.downloads-by-cmake/ dir.
- #  LOG_DOWNLOAD    ON
-
-    INSTALL_DIR     "${BOOST_ROOT}"
-
-    # The patch command executes with the working directory set to <SOURCE_DIR>
-    # Revert the branch to pristine before applying patch sets as bzr patch
-    # fails when applying a patch to the branch twice and doesn't have a switch
-    # to ignore previously applied patches
-    PATCH_COMMAND   bzr revert
-        # bzr revert is insufficient to remove "added" files:
-        COMMAND     bzr clean-tree -q --force
-
-        COMMAND     ${PATCH_STR_CMD} "${PROJECT_SOURCE_DIR}/patches/boost_minkowski.patch"
-        COMMAND     ${PATCH_STR_CMD} "${PROJECT_SOURCE_DIR}/patches/boost_cstdint.patch"
-
-        COMMAND     ${PATCH_STR_CMD} "${PROJECT_SOURCE_DIR}/patches/boost_macosx_x86.patch"        #https://svn.boost.org/trac/boost/ticket/8266
-        # tell bzr about "added" files by last patch:
-        COMMAND     bzr add libs/context/src/asm/jump_i386_x86_64_sysv_macho_gas.S
-        COMMAND     bzr add libs/context/src/asm/make_i386_x86_64_sysv_macho_gas.S
-
-        COMMAND     ${PATCH_STR_CMD} "${PROJECT_SOURCE_DIR}/patches/boost_macosx_x86_build.patch"  #https://svn.boost.org/trac/boost/ticket/8266
-        COMMAND     ${PATCH_STR_CMD} "${PROJECT_SOURCE_DIR}/patches/boost_macosx_older_openssl.patch"  #https://svn.boost.org/trac/boost/ticket/9273
-
-        COMMAND     ${PATCH_STR_CMD} "${PROJECT_SOURCE_DIR}/patches/boost_mingw.patch"             #https://svn.boost.org/trac/boost/ticket/7262
-        COMMAND     ${PATCH_STR_CMD} "${PROJECT_SOURCE_DIR}/patches/boost_mingw64_interlocked.patch"
-
-        # tell bzr about "added" files by last patch:
-        COMMAND     bzr add libs/context/src/asm/make_i386_ms_pe_gas.S
-        COMMAND     bzr add libs/context/src/asm/jump_i386_ms_pe_gas.S
-        COMMAND     bzr add libs/context/src/asm/make_x86_64_ms_pe_gas.S
-        COMMAND     bzr add libs/context/src/asm/jump_x86_64_ms_pe_gas.S
-
-        COMMAND     ${PATCH_STR_CMD} "${PROJECT_SOURCE_DIR}/patches/patch_macosx_context_ppc_v2.patch" #https://svn.boost.org/trac/boost/ticket/8266
-        COMMAND     bzr add libs/context/build/Jamfile.v2
-        COMMAND     bzr add libs/context/build/architecture.jam
-        COMMAND     bzr add libs/context/src/asm/jump_combined_sysv_macho_gas.S
-        COMMAND     bzr add libs/context/src/asm/jump_ppc32_sysv_macho_gas.S
-        COMMAND     bzr add libs/context/src/asm/jump_ppc64_sysv_macho_gas.S
-        COMMAND     bzr add libs/context/src/asm/make_combined_sysv_macho_gas.S
-        COMMAND     bzr add libs/context/src/asm/make_ppc32_sysv_macho_gas.S
-        COMMAND     bzr add libs/context/src/asm/make_ppc64_sysv_macho_gas.S
-
-    # [Mis-]use this step to erase all the boost headers and libraries before
-    # replacing them below.
-    UPDATE_COMMAND  ${CMAKE_COMMAND} -E remove_directory "${BOOST_ROOT}"
-
-    BINARY_DIR      "${PREFIX}/src/boost/"
-    CONFIGURE_COMMAND ${bootstrap}
-
-    BUILD_COMMAND   ./b2
-                    variant=release
-                    threading=multi
-                    ${BOOST_CFLAGS}
-                    ${BOOST_TOOLSET}
-                    ${BOOST_CXXFLAGS}
-                    ${BOOST_LINKFLAGS}
-                    ${BOOST_ADDRESSMODEL}
-                    ${BOOST_ARCHITECTURE}
-                    ${b2_libs}
-                    ${BOOST_LINKTYPE}
-                    --prefix=<INSTALL_DIR>
-                    install
-
-    INSTALL_COMMAND ""
-    )
-
-if( MINGW )
-    execute_process( COMMAND ${CMAKE_C_COMPILER} -dumpversion
-        OUTPUT_VARIABLE GCC_VERSION
-        OUTPUT_STRIP_TRAILING_WHITESPACE )
-
-    string( REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.[0-9]+.*" "\\1\\2" BOOST_GCC_VERSION ${GCC_VERSION} )
-    #message( STATUS "BOOST_GCC_VERSION: ${BOOST_GCC_VERSION}" )
-
-    string( REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9])" "\\1_\\2" BOOST_LIB_VERSION ${BOOST_RELEASE} )
-    #message( STATUS "BOOST_LIB_VERSION: ${BOOST_LIB_VERSION}" )
-
-    # adjust the names of the libraries to suit the build. There's no
-    # symbolic links provided on the MinGW build to allow us to use
-    # generic names for the libs
-    foreach( lib ${BOOST_LIBS_BUILT} )
-        set( mingw_boost_libs ${mingw_boost_libs} ${lib}-mgw${BOOST_GCC_VERSION}-mt-${BOOST_LIB_VERSION} )
-    endforeach()
-
-    set( BOOST_LIBS_BUILT ${mingw_boost_libs} )
-    set( BOOST_INCLUDE "${BOOST_ROOT}/include/boost-${BOOST_LIB_VERSION}" )
-    unset( mingw_boost_libs )
-endif()
-
-set( boost_libs "" )
-set_boost_lib_names( "${BOOST_LIBS_BUILT}" boost_libs )
-
-set( Boost_LIBRARIES    ${boost_libs} )
-set( Boost_INCLUDE_DIR  "${BOOST_INCLUDE}" )
-
-mark_as_advanced( Boost_LIBRARIES Boost_INCLUDE_DIR )
-
-#message( STATUS "BOOST_ROOT:${BOOST_ROOT}  BOOST_LIBRARIES:${BOOST_LIBRARIES}" )
-#message( STATUS "Boost_INCLUDE_DIR: ${Boost_INCLUDE_DIR}" )
-
-
-
-ExternalProject_Add_Step( boost bzr_commit_boost
-    COMMAND bzr ci -q -m pristine <SOURCE_DIR>
-    COMMENT "committing pristine boost files to 'boost scratch repo'"
-    DEPENDERS patch
-    )
-
-
-ExternalProject_Add_Step( boost bzr_add_boost
-    # add only the headers to the scratch repo, repo = "../.bzr" from ${headers_src}
-    COMMAND bzr add -q ${PREFIX}/src/boost
-    COMMENT "adding pristine boost files to 'boost scratch repo'"
-    DEPENDERS bzr_commit_boost
-    )
-
-
-ExternalProject_Add_Step( boost bzr_init_boost
-    COMMAND bzr init -q <SOURCE_DIR>
-    #creates a .bzrignore file in boost root dir, to avoid copying useless files
-    #moreover these files have a very very long name, and sometimes
-    #have a too long full file name to be handled by DOS commands
-    COMMAND echo "*.htm*" > ${PREFIX}/src/boost/.bzrignore
-    COMMENT "creating 'boost scratch repo' specifically for boost to track boost patches"
-    DEPENDERS bzr_add_boost
-    DEPENDEES download
-    )
-

=== removed file 'patches/boost_cstdint.patch'
--- patches/boost_cstdint.patch	2013-11-11 14:50:45 +0000
+++ patches/boost_cstdint.patch	1970-01-01 00:00:00 +0000
@@ -1,12 +0,0 @@
---- boost/cstdint.hpp
-+++ boost/cstdint.hpp
-@@ -42,5 +42,8 @@
- // See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
- //
--#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG))
-+#if defined(BOOST_HAS_STDINT_H)                                 \
-+  && (!defined(__GLIBC__)                                       \
-+      || defined(__GLIBC_HAVE_LONG_LONG)                        \
-+      || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
- 
- // The following #include is an implementation artifact; not part of interface.

=== removed file 'patches/boost_interlock_mingw64.patch'
--- patches/boost_interlock_mingw64.patch	2014-09-04 14:08:06 +0000
+++ patches/boost_interlock_mingw64.patch	1970-01-01 00:00:00 +0000
@@ -1,43 +0,0 @@
-diff -r -u boost_1_54_0/boost/detail/interlocked.hpp boost_1_54_0-1/boost/detail/interlocked.hpp
---- boost/detail/interlocked.hpp	2013-03-09 23:55:05.000000000 +0100
-+++ boost/detail/interlocked.hpp	2013-09-23 11:04:18.405688110 +0200
-@@ -69,9 +69,9 @@
- # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
-     ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange)))
- 
--#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
-+#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) || defined( __MINGW64_VERSION_MAJOR )
- 
--#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600
-+#if (defined( BOOST_MSVC ) && BOOST_MSVC >= 1600) || defined( __MINGW64_VERSION_MAJOR )
- 
- #include <intrin.h>
- 
-@@ -93,11 +93,13 @@
- 
- #endif
- 
-+#ifndef __MINGW64_VERSION_MAJOR
- # pragma intrinsic( _InterlockedIncrement )
- # pragma intrinsic( _InterlockedDecrement )
- # pragma intrinsic( _InterlockedCompareExchange )
- # pragma intrinsic( _InterlockedExchange )
- # pragma intrinsic( _InterlockedExchangeAdd )
-+#endif
- 
- # if defined(_M_IA64) || defined(_M_AMD64)
- 
-@@ -127,13 +129,6 @@
- 
- #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
- 
--#if defined(__MINGW64__)
--#define BOOST_INTERLOCKED_IMPORT
--#else
--#define BOOST_INTERLOCKED_IMPORT __declspec(dllimport)
--#endif
--
--
- namespace boost
- {
- 

=== removed file 'patches/boost_macosx_older_openssl.patch'
--- patches/boost_macosx_older_openssl.patch	2013-12-31 10:48:16 +0000
+++ patches/boost_macosx_older_openssl.patch	1970-01-01 00:00:00 +0000
@@ -1,55 +0,0 @@
-=== modified file 'boost/asio/ssl/impl/context.ipp'
---- boost/asio/ssl/impl/context.ipp	2013-12-30 14:53:15 +0000
-+++ boost/asio/ssl/impl/context.ipp	2013-12-30 19:08:01 +0000
-@@ -236,19 +236,27 @@
- boost::system::error_code context::clear_options(
-     context::options o, boost::system::error_code& ec)
- {
--#if !defined(SSL_OP_NO_COMPRESSION)
-+#if (OPENSSL_VERSION_NUMBER >= 0x009080DFL) \
-+  && (OPENSSL_VERSION_NUMBER != 0x00909000L)
-+# if !defined(SSL_OP_NO_COMPRESSION)
-   if ((o & context::no_compression) != 0)
-   {
--#if (OPENSSL_VERSION_NUMBER >= 0x00908000L)
-+# if (OPENSSL_VERSION_NUMBER >= 0x00908000L)
-     handle_->comp_methods = SSL_COMP_get_compression_methods();
--#endif // (OPENSSL_VERSION_NUMBER >= 0x00908000L)
-+# endif // (OPENSSL_VERSION_NUMBER >= 0x00908000L)
-     o ^= context::no_compression;
-   }
--#endif // !defined(SSL_OP_NO_COMPRESSION)
-+# endif // !defined(SSL_OP_NO_COMPRESSION)
- 
-   ::SSL_CTX_clear_options(handle_, o);
- 
-   ec = boost::system::error_code();
-+#else // (OPENSSL_VERSION_NUMBER >= 0x009080DFL)
-+      //   && (OPENSSL_VERSION_NUMBER != 0x00909000L)
-+  (void)o;
-+  ec = boost::asio::error::operation_not_supported;
-+#endif // (OPENSSL_VERSION_NUMBER >= 0x009080DFL)
-+       //   && (OPENSSL_VERSION_NUMBER != 0x00909000L)
-   return ec;
- }
- 
-@@ -428,7 +436,8 @@
- 
-   if (format == context_base::asn1)
-   {
--    if (::SSL_CTX_use_certificate_ASN1(handle_, buffer_size(certificate),
-+    if (::SSL_CTX_use_certificate_ASN1(handle_,
-+          static_cast<int>(buffer_size(certificate)),
-           buffer_cast<const unsigned char*>(certificate)) == 1)
-     {
-       ec = boost::system::error_code();
-@@ -929,7 +938,7 @@
- {
-   return ::BIO_new_mem_buf(
-       const_cast<void*>(buffer_cast<const void*>(b)),
--      buffer_size(b));
-+      static_cast<int>(buffer_size(b)));
- }
- 
- #endif // !defined(BOOST_ASIO_ENABLE_OLD_SSL)
-

=== removed file 'patches/boost_macosx_x86.patch'
--- patches/boost_macosx_x86.patch	2014-01-04 13:40:22 +0000
+++ patches/boost_macosx_x86.patch	1970-01-01 00:00:00 +0000
@@ -1,72 +0,0 @@
-=== modified file 'libs/context/build/Jamfile.v2'
---- libs/context/build/Jamfile.v2	2013-12-29 11:28:14 +0000
-+++ libs/context/build/Jamfile.v2	2013-12-29 11:31:05 +0000
-@@ -414,6 +414,25 @@
-    ;
- 
- alias asm_context_sources
-+#   : asm/make_i386_x86_64_sysv_macho_gas.S
-+#     asm/jump_i386_x86_64_sysv_macho_gas.S
-+#   : <address-model>32_64
-+#     <architecture>x86
-+#     <binary-format>mach-o
-+#     <target-os>darwin
-+#     <toolset>darwin
-+#   ;
-+#
-+#alias asm_context_sources
-+   : [ make asm/make_i386_x86_64_sysv_macho_gas.o : asm/make_i386_x86_64_sysv_macho_gas.S : @gas ]
-+     [ make asm/jump_i386_x86_64_sysv_macho_gas.o : asm/jump_i386_x86_64_sysv_macho_gas.S : @gas ]
-+   : <address-model>32_64
-+     <architecture>x86
-+     <binary-format>mach-o
-+     <target-os>darwin
-+   ;
-+
-+alias asm_context_sources
-    : asm/make_x86_64_ms_pe_masm.asm
-      asm/jump_x86_64_ms_pe_masm.asm
-      dummy.cpp
-
-=== added file 'libs/context/src/asm/jump_i386_x86_64_sysv_macho_gas.S'
---- libs/context/src/asm/jump_i386_x86_64_sysv_macho_gas.S	1970-01-01 00:00:00 +0000
-+++ libs/context/src/asm/jump_i386_x86_64_sysv_macho_gas.S	2013-12-29 11:33:46 +0000
-@@ -0,0 +1,16 @@
-+/*
-+            Copyright Sergue E. Leontiev 2013.
-+   Distributed under the Boost Software License, Version 1.0.
-+      (See accompanying file LICENSE_1_0.txt or copy at
-+          http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+// Stub file for universal binary
-+
-+#if defined(__i386__)
-+    #include "jump_i386_sysv_macho_gas.S"
-+#elif defined(__x86_64__)
-+    #include "jump_x86_64_sysv_macho_gas.S"
-+#else
-+    #error "No arch's"
-+#endif
-
-=== added file 'libs/context/src/asm/make_i386_x86_64_sysv_macho_gas.S'
---- libs/context/src/asm/make_i386_x86_64_sysv_macho_gas.S	1970-01-01 00:00:00 +0000
-+++ libs/context/src/asm/make_i386_x86_64_sysv_macho_gas.S	2013-12-29 11:32:49 +0000
-@@ -0,0 +1,16 @@
-+/*
-+            Copyright Sergue E. Leontiev 2013.
-+   Distributed under the Boost Software License, Version 1.0.
-+      (See accompanying file LICENSE_1_0.txt or copy at
-+          http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+// Stub file for universal binary
-+
-+#if defined(__i386__)
-+    #include "make_i386_sysv_macho_gas.S"
-+#elif defined(__x86_64__)
-+    #include "make_x86_64_sysv_macho_gas.S"
-+#else
-+    #error "No arch's"
-+#endif
-

=== removed file 'patches/boost_macosx_x86_build.patch'
--- patches/boost_macosx_x86_build.patch	2013-12-29 19:36:30 +0000
+++ patches/boost_macosx_x86_build.patch	1970-01-01 00:00:00 +0000
@@ -1,13 +0,0 @@
-=== modified file 'tools/build/v2/tools/gcc.jam'
---- tools/build/v2/tools/gcc.jam	2013-12-29 13:13:00 +0000
-+++ tools/build/v2/tools/gcc.jam	2013-12-29 14:36:31 +0000
-@@ -635,7 +635,7 @@
- 
- actions compile.asm
- {
--    "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) -D$(DEFINES) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
-+    "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) -D$(DEFINES)  $(USER_OPTIONS) -I"$(INCLUDES)" -c -o "$(<)" "$(>)"
- }
- 
- # Class checking that we do not try to use the <runtime-link>static property
-

=== removed file 'patches/boost_mingw.patch'
--- patches/boost_mingw.patch	2013-12-30 17:53:12 +0000
+++ patches/boost_mingw.patch	1970-01-01 00:00:00 +0000
@@ -1,594 +0,0 @@
---- libs/context/build/Jamfile.v2.orig	2013-03-03 13:39:59.684868916 +0100
-+++ libs/context/build/Jamfile.v2	2013-03-03 15:09:09.893232829 +0100
-@@ -282,6 +284,17 @@
-    ;
- 
- alias asm_context_sources
-+   : asm/make_i386_ms_pe_gas.S
-+     asm/jump_i386_ms_pe_gas.S
-+     dummy.cpp
-+   : <address-model>32
-+     <architecture>x86
-+     <binary-format>pe
-+     <target-os>windows
-+     <toolset>gcc
-+   ;
-+
-+alias asm_context_sources
-    : asm/make_i386_ms_pe_masm.asm
-      asm/jump_i386_ms_pe_masm.asm
-      dummy.cpp
-@@ -379,6 +392,17 @@
-    ;
- 
- alias asm_context_sources
-+   : asm/make_x86_64_ms_pe_gas.S
-+     asm/jump_x86_64_ms_pe_gas.S
-+     dummy.cpp
-+   : <address-model>64
-+     <architecture>x86
-+     <binary-format>pe
-+     <target-os>windows
-+     <toolset>gcc
-+   ;
-+
-+alias asm_context_sources
-    : asm/make_x86_64_ms_pe_masm.asm
-      asm/jump_x86_64_ms_pe_masm.asm
-      dummy.cpp
---- libs/context/src/asm/make_i386_ms_pe_gas.S.orig	2013-03-03 13:41:28.645502113 +0100
-+++ libs/context/src/asm/make_i386_ms_pe_gas.S	2013-03-03 14:39:27.590477410 +0100
-@@ -0,0 +1,115 @@
-+/*
-+            Copyright Oliver Kowalke 2009.
-+            Copyright Thomas Sailer 2013.
-+   Distributed under the Boost Software License, Version 1.0.
-+      (See accompanying file LICENSE_1_0.txt or copy at
-+            http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+/********************************************************************
-+ *                                                                  *
-+ *  --------------------------------------------------------------  *
-+ *  |    0    |    1    |    2    |    3    |    4     |    5    |  *
-+ *  --------------------------------------------------------------  *
-+ *  |    0h   |   04h   |   08h   |   0ch   |   010h   |   014h  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |   EDI   |   ESI   |   EBX   |   EBP   |   ESP    |   EIP   |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |    6    |    7    |    8    |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  |   018h  |   01ch  |   020h  |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  |    sp   |   size  |  limit  |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |    9    |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  024h   |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |fc_execpt|                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |   10    |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  028h   |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |fc_strage|                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |   11    |    12   |                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  02ch   |   030h  |                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *  | fc_mxcsr|fc_x87_cw|                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *                                                                  *
-+ * *****************************************************************/
-+
-+.file	"make_i386_ms_pe_gas.S"
-+.text
-+.p2align 4,,15
-+.globl	_make_fcontext
-+.def	_make_fcontext;	.scl	2;	.type	32;	.endef
-+_make_fcontext:
-+    movl    0x04(%esp), %eax        /* load 1. arg of make_fcontext, pointer to context stack (base) */
-+    leal    -0x34(%eax),%eax        /* reserve space for fcontext_t at top of context stack */
-+
-+    /* shift address in EAX to lower 16 byte boundary */
-+    /* == pointer to fcontext_t and address of context stack */
-+    andl    $-16,       %eax
-+
-+    movl    0x04(%esp), %ecx        /* load 1. arg of make_fcontext, pointer to context stack (base) */
-+    movl    %ecx,       0x18(%eax)  /* save address of context stack (base) in fcontext_t */
-+    movl    0x08(%esp), %edx        /* load 2. arg of make_fcontext, context stack size */
-+    movl    %edx,       0x1c(%eax)  /* save context stack size in fcontext_t */
-+    negl    %edx                    /* negate stack size for LEA instruction (== substraction) */
-+    leal    (%ecx,%edx),%ecx        /* compute bottom address of context stack (limit) */
-+    movl    %ecx,       0x20(%eax)  /* save address of context stack (limit) in fcontext_t */
-+    movl    0x0c(%esp), %ecx        /* load 3. arg of make_fcontext, pointer to context function */
-+    movl    %ecx,       0x14(%eax)  /* save address of context function in fcontext_t */
-+
-+    stmxcsr 0x02c(%eax)             /* save MMX control word */
-+    fnstcw  0x030(%eax)             /* save x87 control word */
-+
-+    leal    -0x1c(%eax),%edx        /* reserve space for last frame and seh on context stack, (ESP - 0x4) % 16 == 0 */
-+    movl    %edx,       0x10(%eax)  /* save address in EDX as stack pointer for context function */
-+
-+    movl    $finish,    %ecx        /* abs address of finish */
-+    movl    %ecx,       (%edx)      /* save address of finish as return address for context function */
-+                                    /* entered after context function returns */
-+
-+    /* traverse current seh chain to get the last exception handler installed by Windows */
-+    /* note that on Windows Server 2008 and 2008 R2, SEHOP is activated by default */
-+    /* the exception handler chain is tested for the presence of ntdll.dll!FinalExceptionHandler */
-+    /* at its end by RaiseException all seh andlers are disregarded if not present and the */
-+    /* program is aborted */
-+    movl    %fs:(0x18), %ecx        /* load NT_TIB into ECX */
-+
-+walk:
-+    movl    (%ecx),     %edx        /* load 'next' member of current SEH into EDX */
-+    incl    %edx                    /* test if 'next' of current SEH is last (== 0xffffffff) */
-+    jz      found
-+    decl    %edx
-+    xchgl    %ecx,      %edx        /* exchange content; ECX contains address of next SEH */
-+    jmp     walk                    /* inspect next SEH */
-+
-+found:
-+    movl    0x04(%ecx), %ecx        /* load 'handler' member of SEH == address of last SEH handler installed by Windows */
-+    movl    0x10(%eax), %edx        /* load address of stack pointer for context function */
-+    movl    %ecx,       0x18(%edx)  /* save address in ECX as SEH handler for context */
-+    movl    $0xffffffff,%ecx        /* set ECX to -1 */
-+    movl    %ecx,       0x14(%edx)  /* save ECX as next SEH item */
-+    leal    0x14(%edx), %ecx        /* load address of next SEH item */
-+    movl    %ecx,       0x24(%eax)  /* save next SEH */
-+
-+    ret
-+
-+finish:
-+    /* ESP points to same address as ESP on entry of context function + 0x4 */
-+    xorl    %eax,       %eax
-+    movl    %eax,       (%esp)      /* exit code is zero */
-+    call    __exit                  /* exit application */
-+    hlt
-+
-+.def	__exit;	.scl	2;	.type	32;	.endef  /* standard C library function */
---- libs/context/src/asm/jump_i386_ms_pe_gas.S.orig	2013-03-03 13:41:34.332670479 +0100
-+++ libs/context/src/asm/jump_i386_ms_pe_gas.S	2013-03-03 14:35:35.634611625 +0100
-@@ -0,0 +1,108 @@
-+/*
-+            Copyright Oliver Kowalke 2009.
-+            Copyright Thomas Sailer 2013.
-+   Distributed under the Boost Software License, Version 1.0.
-+      (See accompanying file LICENSE_1_0.txt or copy at
-+            http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+/********************************************************************
-+ *                                                                  *
-+ *  --------------------------------------------------------------  *
-+ *  |    0    |    1    |    2    |    3    |    4     |    5    |  *
-+ *  --------------------------------------------------------------  *
-+ *  |    0h   |   04h   |   08h   |   0ch   |   010h   |   014h  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |   EDI   |   ESI   |   EBX   |   EBP   |   ESP    |   EIP   |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |    6    |    7    |    8    |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  |   018h  |   01ch  |   020h  |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  |    sp   |   size  |  limit  |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |    9    |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  024h   |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |fc_execpt|                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |   10    |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  028h   |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |fc_strage|                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |   11    |    12   |                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  02ch   |   030h  |                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *  | fc_mxcsr|fc_x87_cw|                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *                                                                  *
-+ * *****************************************************************/
-+
-+.file	"jump_i386_ms_pe_gas.S"
-+.text
-+.p2align 4,,15
-+.globl	_jump_fcontext
-+.def	_jump_fcontext;	.scl	2;	.type	32;	.endef
-+_jump_fcontext:
-+    movl    0x04(%esp), %ecx        /* load address of the first fcontext_t arg */
-+    movl    %edi,       (%ecx)      /* save EDI */
-+    movl    %esi,       0x04(%ecx)  /* save ESI */
-+    movl    %ebx,       0x08(%ecx)  /* save EBX */
-+    movl    %ebp,       0x0c(%ecx)  /* save EBP */
-+
-+    movl    %fs:(0x18), %edx        /* load NT_TIB */
-+    movl    (%edx),     %eax        /* load current SEH exception list */
-+    movl    %eax,       0x24(%ecx)  /* save current exception list */
-+    movl    0x04(%edx), %eax        /* load current stack base */
-+    movl    %eax,       0x18(%ecx)  /* save current stack base */
-+    movl    0x08(%edx), %eax        /* load current stack limit */
-+    movl    %eax,       0x20(%ecx)  /* save current stack limit */
-+    movl    0x10(%edx), %eax        /* load fiber local storage */
-+    movl    %eax,       0x28(%ecx)  /* save fiber local storage */
-+
-+    leal    0x04(%esp), %eax        /* exclude the return address */
-+    movl    %eax,       0x10(%ecx)  /* save as stack pointer */
-+    movl    (%esp),     %eax        /* load return address */
-+    movl    %eax,       0x14(%ecx)  /* save return address */
-+
-+    movl    0x08(%esp), %edx        /* load address of the second fcontext_t arg */
-+    movl    (%edx),     %edi        /* restore EDI */
-+    movl    0x04(%edx), %esi        /* restore ESI */
-+    movl    0x08(%edx), %ebx        /* restore EBX */
-+    movl    0x0c(%edx), %ebp        /* restore EBP */
-+
-+    movl    0x10(%esp), %eax        /* check if fpu enve preserving was requested */
-+    testl   %eax,       %eax 
-+    je      1f
-+
-+    stmxcsr 0x2c(%ecx)              /* save MMX control word */
-+    fnstcw  0x30(%ecx)              /* save x87 control word */
-+    ldmxcsr 0x2c(%edx)              /* restore MMX control word */
-+    fldcw   0x30(%edx)              /* restore x87 control word */
-+1:
-+    movl    %edx,       %ecx        
-+    movl    %fs:(0x18), %edx        /* load NT_TIB */
-+    movl    0x24(%ecx), %eax        /* load SEH exception list */
-+    movl    %eax,       (%edx)      /* restore next SEH item */
-+    movl    0x18(%ecx), %eax        /* load stack base */
-+    movl    %eax,       0x04(%edx)  /* restore stack base */
-+    movl    0x20(%ecx), %eax        /* load stack limit */
-+    movl    %eax,       0x08(%edx)  /* restore stack limit */
-+    movl    0x28(%ecx), %eax        /* load fiber local storage */
-+    movl    %eax,       0x10(%edx)  /* restore fiber local storage */
-+			            
-+    movl    0x0c(%esp), %eax        /* use third arg as return value after jump */
-+			            
-+    movl    0x10(%ecx), %esp        /* restore ESP */
-+    movl    %eax,       0x04(%esp)  /* use third arg as first arg in context function */
-+    movl    0x14(%ecx), %ecx        /* fetch the address to return to */
-+
-+    jmp     *%ecx                   /* indirect jump to context */
---- libs/context/src/asm/make_x86_64_ms_pe_gas.S.orig	2013-03-03 13:43:03.137299031 +0100
-+++ libs/context/src/asm/make_x86_64_ms_pe_gas.S	2013-03-03 14:54:16.036775106 +0100
-@@ -0,0 +1,132 @@
-+/*
-+            Copyright Oliver Kowalke 2009.
-+            Copyright Thomas Sailer 2013.
-+   Distributed under the Boost Software License, Version 1.0.
-+      (See accompanying file LICENSE_1_0.txt or copy at
-+            http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+/****************************************************************************************
-+ *                                                                                      *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    0    |    1    |    2    |    3    |    4     |    5    |    6    |    7    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x0   |   0x4   |   0x8   |   0xc   |   0x10   |   0x14  |   0x18  |   0x1c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        R12        |         R13       |         R14        |        R15        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    8    |    9    |   10    |   11    |    12    |    13   |    14   |    15   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x20  |   0x24  |   0x28  |  0x2c   |   0x30   |   0x34  |   0x38  |   0x3c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        RDI        |        RSI        |         RBX        |        RBP        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    16   |    17   |    18   |    19   |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x40  |   0x44  |   0x48  |   0x4c  |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        RSP        |        RIP        |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    20   |    21   |    22   |    23   |    24    |    25   |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x50  |   0x54  |   0x58  |   0x5c  |   0x60   |   0x64  |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        sp         |       size        |        limit       |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    26   |   27    |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x68  |   0x6c  |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |      fbr_strg     |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    28   |   29    |    30   |    31   |    32    |    33   |   34    |   35    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x70  |   0x74  |   0x78  |   0x7c  |   0x80   |   0x84  |  0x88   |  0x8c   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  | fc_mxcsr|fc_x87_cw|      fc_xmm       |      SEE registers (XMM6-XMM15)        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   36    |    37   |    38   |    39   |    40    |    41   |   42    |   43    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0x90   |   0x94  |   0x98  |   0x9c  |   0xa0   |   0xa4  |  0xa8   |  0xac   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    44    |   45    |    46   |    47  |    48    |    49   |   50    |   51    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0xb0   |  0xb4   |  0xb8   |  0xbc  |   0xc0   |   0xc4  |  0xc8   |  0xcc   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    52    |   53    |    54   |   55   |    56    |    57   |   58    |   59    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0xd0   |  0xd4   |   0xd8  |  0xdc  |   0xe0   |  0xe4   |  0xe8   |  0xec   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    60   |    61   |    62    |    63  |    64    |    65   |   66    |   67    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0xf0   |  0xf4   |   0xf8   |  0xfc  |   0x100  |  0x104  |  0x108  |  0x10c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    68   |    69   |    70    |    71  |    72    |    73   |   74    |   75    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0x110  |  0x114  |   0x118  |  0x11c |   0x120  |  0x124  |  0x128  |  0x12c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *                                                                                      *
-+ * *************************************************************************************/
-+
-+.file	"make_x86_64_ms_pe_gas.S"
-+.text
-+.p2align 4,,15
-+.globl	make_fcontext
-+.def	make_fcontext;	.scl	2;	.type	32;	.endef
-+.seh_proc	make_fcontext
-+make_fcontext:
-+.seh_endprologue
-+    leaq    -0x130(%rcx),%rax       /* reserve space for fcontext_t at top of context stack */
-+
-+    /* shift address in RAX to lower 16 byte boundary */
-+    /* == pointer to fcontext_t and address of context stack */
-+    andq    $-16,       %rax
-+
-+    movq    %r8,        0x48(%rax)  /* save address of context function in fcontext_t */
-+    movq    %rdx,       0x58(%rax)  /* save context stack size in fcontext_t */
-+    movq    %rcx,       0x50(%rax)  /* save address of context stack pointer (base) in fcontext_t */
-+
-+    negq    %rdx                    /* negate stack size for LEA instruction (== substraction) */
-+    leaq    (%rcx,%rdx),%rcx        /* compute bottom address of context stack (limit) */
-+    movq    %rcx,       0x60(%rax)  /* save bottom address of context stack (limit) in fcontext_t */
-+
-+    stmxcsr 0x70(%rax)              /* save MMX control and status word */
-+    fnstcw  0x74(%rax)              /* save x87 control word */
-+
-+    leaq    -0x28(%rax),%rdx        /* reserve 32byte shadow space + return address on stack, (RSP - 0x8) % 16 == 0 */
-+    movq    %rdx,       0x40(%rax)  /* save address in RDX as stack pointer for context function */
-+
-+    leaq    finish(%rip),%rcx       /* compute abs address of label finish */
-+    movq    %rcx,(%rdx)             /* save address of finish as return address for context function */
-+                                    /* entered after context function returns */
-+
-+    ret
-+
-+finish:
-+    /* RSP points to same address as RSP on entry of context function + 0x8 */
-+    xorq    %rcx,       %rcx        /* exit code is zero */
-+    call    _exit                   /* exit application */
-+    hlt
-+.seh_endproc
-+
-+.def	_exit;	.scl	2;	.type	32;	.endef  /* standard C library function */
---- libs/context/src/asm/jump_x86_64_ms_pe_gas.S.orig	2013-03-03 13:42:57.753139784 +0100
-+++ libs/context/src/asm/jump_x86_64_ms_pe_gas.S	2013-03-03 15:06:08.269856857 +0100
-@@ -0,0 +1,189 @@
-+/*
-+            Copyright Oliver Kowalke 2009.
-+            Copyright Thomas Sailer 2013.
-+   Distributed under the Boost Software License, Version 1.0.
-+      (See accompanying file LICENSE_1_0.txt or copy at
-+            http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+/****************************************************************************************
-+ *                                                                                      *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    0    |    1    |    2    |    3    |    4     |    5    |    6    |    7    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x0   |   0x4   |   0x8   |   0xc   |   0x10   |   0x14  |   0x18  |   0x1c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        R12        |         R13       |         R14        |        R15        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    8    |    9    |   10    |   11    |    12    |    13   |    14   |    15   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x20  |   0x24  |   0x28  |  0x2c   |   0x30   |   0x34  |   0x38  |   0x3c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        RDI        |        RSI        |         RBX        |        RBP        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    16   |    17   |    18   |    19   |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x40  |   0x44  |   0x48  |   0x4c  |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        RSP        |        RIP        |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    20   |    21   |    22   |    23   |    24    |    25   |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x50  |   0x54  |   0x58  |   0x5c  |   0x60   |   0x64  |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        sp         |       size        |        limit       |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    26   |   27    |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x68  |   0x6c  |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |      fbr_strg     |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    28   |   29    |    30   |    31   |    32    |    33   |   34    |   35    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x70  |   0x74  |   0x78  |   0x7c  |   0x80   |   0x84  |  0x88   |  0x8c   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  | fc_mxcsr|fc_x87_cw|      fc_xmm       |      SEE registers (XMM6-XMM15)        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   36    |    37   |    38   |    39   |    40    |    41   |   42    |   43    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0x90   |   0x94  |   0x98  |   0x9c  |   0xa0   |   0xa4  |  0xa8   |  0xac   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    44    |   45    |    46   |    47  |    48    |    49   |   50    |   51    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0xb0   |  0xb4   |  0xb8   |  0xbc  |   0xc0   |   0xc4  |  0xc8   |  0xcc   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    52    |   53    |    54   |   55   |    56    |    57   |   58    |   59    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0xd0   |  0xd4   |   0xd8  |  0xdc  |   0xe0   |  0xe4   |  0xe8   |  0xec   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    60   |    61   |    62    |    63  |    64    |    65   |   66    |   67    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0xf0   |  0xf4   |   0xf8   |  0xfc  |   0x100  |  0x104  |  0x108  |  0x10c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    68   |    69   |    70    |    71  |    72    |    73   |   74    |   75    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0x110  |  0x114  |   0x118  |  0x11c |   0x120  |  0x124  |  0x128  |  0x12c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *                                                                                      *
-+ * *************************************************************************************/
-+
-+.file	"jump_x86_64_ms_pe_gas.S"
-+.text
-+.p2align 4,,15
-+.globl	jump_fcontext
-+.def	jump_fcontext;	.scl	2;	.type	32;	.endef
-+.seh_proc	jump_fcontext
-+jump_fcontext:
-+.seh_endprologue
-+    movq    %r12,       (%rcx)      /* save R12 */
-+    movq    %r13,       0x08(%rcx)  /* save R13 */
-+    movq    %r14,       0x10(%rcx)  /* save R14 */
-+    movq    %r15,       0x18(%rcx)  /* save R15 */
-+    movq    %rdi,       0x20(%rcx)  /* save RDI */
-+    movq    %rsi,       0x28(%rcx)  /* save RSI */
-+    movq    %rbx,       0x30(%rcx)  /* save RBX */
-+    movq    %rbp,       0x38(%rcx)  /* save RBP */
-+
-+    movq    %gs:(0x30), %r10        /* load NT_TIB */
-+    movq    0x08(%r10), %rax        /* load current stack base */
-+    movq    %rax,       0x50(%rcx)  /* save current stack base */
-+    movq    0x10(%r10), %rax        /* load current stack limit */
-+    movq    %rax,       0x60(%rcx)  /* save current stack limit */
-+    movq    0x18(%r10), %rax        /* load fiber local storage */
-+    movq    %rax,       0x68(%rcx)  /* save fiber local storage */
-+
-+    testq   %r9,        %r9
-+    je      1f
-+
-+    stmxcsr 0x70(%rcx)              /* save MMX control and status word */
-+    fnstcw  0x74(%rcx)              /* save x87 control word */
-+    /* save XMM storage */
-+    /* save start address of SSE register block in R10 */
-+    leaq    0x90(%rcx), %r10
-+    /* shift address in R10 to lower 16 byte boundary */
-+    /* == pointer to SEE register block */
-+    andq    $-16,       %r10
-+
-+    movaps  %xmm6,      (%r10)
-+    movaps  %xmm7,      0x10(%r10)
-+    movaps  %xmm8,      0x20(%r10)
-+    movaps  %xmm9,      0x30(%r10)
-+    movaps  %xmm10,     0x40(%r10)
-+    movaps  %xmm11,     0x50(%r10)
-+    movaps  %xmm12,     0x60(%r10)
-+    movaps  %xmm13,     0x70(%r10)
-+    movaps  %xmm14,     0x80(%r10)
-+    movaps  %xmm15,     0x90(%r10)
-+
-+    ldmxcsr 0x70(%rdx)              /* restore MMX control and status word */
-+    fldcw   0x74(%rdx)              /* restore x87 control word */
-+    /* restore XMM storage */
-+	/* save start address of SSE register block in R10 */
-+    leaq    0x90(%rdx), %r10
-+    /* shift address in R10 to lower 16 byte boundary */
-+    /* == pointer to SEE register block */
-+    andq    $-16,       %r10
-+
-+    movaps  (%r10),     %xmm6
-+    movaps  0x10(%r10), %xmm7
-+    movaps  0x20(%r10), %xmm8
-+    movaps  0x30(%r10), %xmm9
-+    movaps  0x40(%r10), %xmm10
-+    movaps  0x50(%r10), %xmm11
-+    movaps  0x60(%r10), %xmm12
-+    movaps  0x70(%r10), %xmm13
-+    movaps  0x80(%r10), %xmm14
-+    movaps  0x90(%r10), %xmm15
-+
-+1:
-+    leaq    0x08(%rsp), %rax        /* exclude the return address */
-+    movq    %rax,       0x40(%rcx)  /* save as stack pointer */
-+    movq    (%rsp),     %rax        /* load return address */
-+    movq    %rax,       0x48(%rcx)  /* save return address */
-+
-+    movq    (%rdx),     %r12        /* restore R12 */
-+    movq    0x08(%rdx), %r13        /* restore R13 */
-+    movq    0x10(%rdx), %r14        /* restore R14 */
-+    movq    0x18(%rdx), %r15        /* restore R15 */
-+    movq    0x20(%rdx), %rdi        /* restore RDI */
-+    movq    0x28(%rdx), %rsi        /* restore RSI */
-+    movq    0x30(%rdx), %rbx        /* restore RBX */
-+    movq    0x38(%rdx), %rbp        /* restore RBP */
-+
-+    movq    %gs:(0x30), %r10        /* load NT_TIB */
-+    movq    0x50(%rdx), %rax        /* load stack base */
-+    movq    %rax,       0x08(%r10)  /* restore stack base */
-+    movq    0x60(%rdx), %rax        /* load stack limit */
-+    movq    %rax,       0x10(%r10)  /* restore stack limit */
-+    movq    0x68(%rdx), %rax        /* load fiber local storage */
-+    movq    %rax,       0x18(%r10)  /* restore fiber local storage */
-+
-+    movq    0x40(%rdx), %rsp        /* restore RSP */
-+    movq    0x48(%rdx), %r10        /* fetch the address to returned to */
-+
-+    movq    %r8,        %rax        /* use third arg as return value after jump */
-+    movq    %r8,        %rcx        /* use third arg as first arg in context function */
-+
-+    jmp     *%r10                   /* indirect jump to caller */
-+.seh_endproc

=== removed file 'patches/boost_mingw64_interlocked.patch'
--- patches/boost_mingw64_interlocked.patch	2014-08-23 15:22:50 +0000
+++ patches/boost_mingw64_interlocked.patch	1970-01-01 00:00:00 +0000
@@ -1,154 +0,0 @@
-=== modified file 'boost/detail/interlocked.hpp'
---- boost/detail/interlocked.hpp	2014-08-22 00:51:15 +0000
-+++ boost/detail/interlocked.hpp	2014-08-22 18:54:49 +0000
-@@ -1,12 +1,6 @@
- #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
- #define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
- 
--// MS compatible compilers support #pragma once
--
--#if defined(_MSC_VER) && (_MSC_VER >= 1020)
--# pragma once
--#endif
--
- //
- //  boost/detail/interlocked.hpp
- //
-@@ -19,6 +13,11 @@
- 
- #include <boost/config.hpp>
- 
-+// MS compatible compilers support #pragma once
-+#ifdef BOOST_HAS_PRAGMA_ONCE
-+#pragma once
-+#endif
-+
- #if defined( BOOST_USE_WINDOWS_H )
- 
- # include <windows.h>
-@@ -31,6 +30,30 @@
- # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer
- # define BOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer
- 
-+#elif defined( BOOST_USE_INTRIN_H )
-+
-+#include <intrin.h>
-+
-+# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
-+# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
-+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-+# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
-+# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-+
-+# if defined(_M_IA64) || defined(_M_AMD64) || defined(__x86_64__) || defined(__x86_64)
-+
-+#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
-+#  define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
-+
-+# else
-+
-+#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
-+    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
-+#  define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
-+    ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
-+
-+# endif
-+
- #elif defined(_WIN32_WCE)
- 
- #if _WIN32_WCE >= 0x600
-@@ -71,7 +94,7 @@
- 
- #elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN )
- 
--#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600
-+#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1500
- 
- #include <intrin.h>
- 
-@@ -93,46 +116,53 @@
- 
- #endif
- 
--# pragma intrinsic( _InterlockedIncrement )
--# pragma intrinsic( _InterlockedDecrement )
--# pragma intrinsic( _InterlockedCompareExchange )
--# pragma intrinsic( _InterlockedExchange )
--# pragma intrinsic( _InterlockedExchangeAdd )
--
- # if defined(_M_IA64) || defined(_M_AMD64)
- 
- extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* );
- extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* );
- 
--#  pragma intrinsic( _InterlockedCompareExchangePointer )
--#  pragma intrinsic( _InterlockedExchangePointer )
--
--#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
--#  define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
--
--# else
--
--#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
--    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
--#  define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
--    ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
--
--# endif
--
--# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
--# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
--# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
--# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
--# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-+#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
-+#  define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
-+
-+# else
-+
-+#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
-+    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
-+#  define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
-+    ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
-+
-+# endif
-+
-+# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
-+# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
-+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-+# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
-+# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-+
-+// Unlike __MINGW64__, __MINGW64_VERSION_MAJOR is defined by MinGW-w64 for both 32 and 64-bit targets.
-+#elif defined(__MINGW64_VERSION_MAJOR)
-+
-+// MinGW-w64 provides intrin.h for both 32 and 64-bit targets.
-+#include <intrin.h>
-+
-+# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
-+# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
-+# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
-+# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
-+# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
-+# if defined(__x86_64__) || defined(__x86_64)
-+#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer
-+#  define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer
-+# else
-+#  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
-+    ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare)))
-+#  define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
-+    ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
-+# endif
- 
- #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
- 
--#if defined(__MINGW64__)
--#define BOOST_INTERLOCKED_IMPORT
--#else
- #define BOOST_INTERLOCKED_IMPORT __declspec(dllimport)
--#endif
--
- 
- namespace boost
- {
-

=== removed file 'patches/boost_minkowski.patch'
--- patches/boost_minkowski.patch	2013-11-11 14:50:45 +0000
+++ patches/boost_minkowski.patch	1970-01-01 00:00:00 +0000
@@ -1,18 +0,0 @@
---- boost/polygon/detail/minkowski.hpp	2013-05-31 02:24:16 +0000
-+++ boost/polygon/detail/minkowski.hpp	2013-05-31 02:26:26 +0000
-@@ -30,13 +30,13 @@
-   static void convolve_two_point_sequences(polygon_set& result, itrT1 ab, itrT1 ae, itrT2 bb, itrT2 be) {
-     if(ab == ae || bb == be)
-       return;
--    point first_a = *ab;
-+    // point first_a = *ab;
-     point prev_a = *ab;
-     std::vector<point> vec;
-     polygon poly;
-     ++ab;
-     for( ; ab != ae; ++ab) {
--      point first_b = *bb;
-+      // point first_b = *bb;
-       point prev_b = *bb;
-       itrT2 tmpb = bb;
-       ++tmpb;

=== modified file 'utils/idftools/CMakeLists.txt'
--- utils/idftools/CMakeLists.txt	2015-06-12 22:38:31 +0000
+++ utils/idftools/CMakeLists.txt	2015-12-20 20:07:42 +0000
@@ -18,8 +18,6 @@
 add_executable( dxf2idf dxf2idfmain.cpp dxf2idf.cpp )
 add_executable( idf2vrml idf2vrml.cpp )
 
-add_dependencies( idf2vrml boost )
-
 target_link_libraries( dxf2idf lib_dxf idf3 ${wxWidgets_LIBRARIES} )
 
 target_link_libraries( idf2vrml idf3 ${OPENGL_LIBRARIES} ${wxWidgets_LIBRARIES} )


Follow ups

References