changeset 3642:5a459f007b2f

boost: update to 1.53.0 * src/boost.mk: update to 1.53.0 * src/boost-1-intrinsics-fix.patch: new file from mxe_devel * src/boost-2-winerror.patch: new file from mxe-devel * dist-files.mk: add boost-1-intrinsics-fix.patch boost-2-winerror.patch
author John Donoghue
date Tue, 01 Jul 2014 09:11:16 -0400
parents f362e10a0fa7
children f2503a486cce
files dist-files.mk src/boost-1-intrinsics-fix.patch src/boost-2-winerror.patch src/boost.mk
diffstat 4 files changed, 64 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/dist-files.mk	Tue Jul 01 09:48:50 2014 -0400
+++ b/dist-files.mk	Tue Jul 01 09:11:16 2014 -0400
@@ -15,6 +15,8 @@
   aubio.mk \
   bfd.mk \
   blas.mk \
+  boost-1-intrinsics-fix.patch \
+  boost-2-winerror.patch \
   boost-test.cpp \
   boost.mk \
   build-autoconf.mk \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/boost-1-intrinsics-fix.patch	Tue Jul 01 09:11:16 2014 -0400
@@ -0,0 +1,37 @@
+This file is part of MXE.
+See index.html for further information.
+
+This patch has been taken from:
+http://pkgs.fedoraproject.org/cgit/mingw-boost.git/plain/boost-include-intrin-h-on-mingw-w64.patch
+
+--- a/boost/detail/interlocked.hpp.interlocked	2012-12-11 15:42:26.000000000 +0100
++++ b/boost/detail/interlocked.hpp	2013-07-21 15:22:56.082346444 +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,12 +93,16 @@
+ 
+ #endif
+ 
++# if defined( BOOST_MSVC )
++
+ # pragma intrinsic( _InterlockedIncrement )
+ # pragma intrinsic( _InterlockedDecrement )
+ # pragma intrinsic( _InterlockedCompareExchange )
+ # pragma intrinsic( _InterlockedExchange )
+ # pragma intrinsic( _InterlockedExchangeAdd )
+ 
++# endif
++
+ # if defined(_M_IA64) || defined(_M_AMD64)
+ 
+ extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/boost-2-winerror.patch	Tue Jul 01 09:11:16 2014 -0400
@@ -0,0 +1,17 @@
+This file is part of MXE.
+See index.html for further information.
+
+Fix WinError.h capitalization. See http://svn.boost.org/trac/boost/ticket/7081
+
+diff -ur a/boost/detail/win/basic_types.hpp b/boost/detail/win/basic_types.hpp
+--- a/boost/detail/win/basic_types.hpp	2011-03-25 02:20:55.000000000 +0100
++++ b/boost/detail/win/basic_types.hpp	2013-11-13 18:59:00.225614699 +0100
+@@ -14,7 +14,7 @@
+ #if defined( BOOST_USE_WINDOWS_H )
+ # include <windows.h>
+ #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) ||  defined(__CYGWIN__)
+-# include <WinError.h>
++# include <winerror.h>
+ // @FIXME Which condition must be tested
+ # ifdef UNDER_CE
+ #  ifndef WINAPI
--- a/src/boost.mk	Tue Jul 01 09:48:50 2014 -0400
+++ b/src/boost.mk	Tue Jul 01 09:11:16 2014 -0400
@@ -3,8 +3,8 @@
 
 PKG             := boost
 $(PKG)_IGNORE   :=
-$(PKG)_VERSION  := 1.52.0
-$(PKG)_CHECKSUM := cddd6b4526a09152ddc5db856463eaa1dc29c5d9
+$(PKG)_VERSION  := 1.53.0
+$(PKG)_CHECKSUM := e6dd1b62ceed0a51add3dda6f3fc3ce0f636a7f3
 $(PKG)_SUBDIR   := boost_$(subst .,_,$($(PKG)_VERSION))
 $(PKG)_FILE     := boost_$(subst .,_,$($(PKG)_VERSION)).tar.bz2
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/boost/boost/$($(PKG)_VERSION)/$($(PKG)_FILE)
@@ -21,8 +21,8 @@
     # context switched library introduced in boost 1.51.0 does not build
     rm -r '$(1)/libs/context'
     # old version appears to interfere
-    rm -rf '$(HOST_INCDIR)/boost'
-    echo 'using gcc : : $(MXE_CXX) : <rc>$(MXE_WINDRES) <archiver>$(MXE_AR) ;' > '$(1)/user-config.jam'
+    rm -rf '$(HOST_INCDIR)/boost/'
+    echo 'using gcc : : $(MXE_CXX) : <rc>$(MXE_WINDRES) <archiver>$(MXE_AR) <ranlib>$(MXE_RANDLIB) ;' > '$(1)/user-config.jam'
     # compile boost jam
     cd '$(1)/tools/build/v2/engine' && ./build.sh
     cd '$(1)' && tools/build/v2/engine/bin.*/bjam \
@@ -31,9 +31,10 @@
         --user-config=user-config.jam \
         target-os=windows \
         threading=multi \
-        link=static \
+        link=$(if $(filter $(BUILD_STATIC),,yes),static,shared) \
         threadapi=win32 \
         --layout=tagged \
+        --disable-icu \
         --without-mpi \
         --without-python \
         --prefix='$(HOST_PREFIX)' \
@@ -44,9 +45,9 @@
         -sEXPAT_LIBPATH='$(HOST_LIBDIR)' \
         stage install
 
-    '$(MXE_CXX)' \
+    '$(TARGET)-g++' \
         -W -Wall -Werror -ansi -U__STRICT_ANSI__ -pedantic \
-        '$(2).cpp' -o '$(HOST_BINDIR)/test-boost.exe' \
+        '$(2).cpp' -o '$(1)/test-boost.exe' \
         -DBOOST_THREAD_USE_LIB \
         -lboost_serialization-mt \
         -lboost_thread_win32-mt \