changeset 2780:0ee29e5cab0e draft

Fix #956 the Boost 1.49 way.
author Matt Corallo <matt@bluematt.me>
date Sun, 25 Mar 2012 16:17:39 -0400
parents 6685e4982a13
children f3c54041a8c6
files contrib/gitian-descriptors/boost-win32.yml contrib/gitian-descriptors/gitian-win32.yml src/qt/qtipcserver.cpp
diffstat 3 files changed, 25 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/gitian-descriptors/boost-win32.yml
+++ b/contrib/gitian-descriptors/boost-win32.yml
@@ -17,6 +17,22 @@
   mkdir -p $TMPDIR/bin/$GBUILD_BITS $TMPDIR/include
   tar xjf boost_1_49_0.tar.bz2
   cd boost_1_49_0
+  echo "--- tmp_dir_helpers.orig.hpp	2012-06-10 01:39:25.403268210 +0200
++++ tmp_dir_helpers.hpp	2012-06-10 01:41:14.653823479 +0200
+@@ -19,9 +19,9 @@
+ #include <string>
+ 
+ #if defined(BOOST_INTERPROCESS_WINDOWS)
+-   //#define BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME
+-   //#define BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME
+-   //#include <boost/interprocess/detail/win32_api.hpp>
++   #define BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME
++   #define BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME
++   #include <boost/interprocess/detail/win32_api.hpp>
+ #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+    //#include <sys/sysctl.h>
+    //#if defined(CTL_KERN) && defined (KERN_BOOTTIME)" > useboottime.patch
+  patch boost/interprocess/detail/tmp_dir_helpers.hpp useboottime.patch
   echo "using gcc : 4.4 : i586-mingw32msvc-g++
         :
         <rc>i586-mingw32msvc-windres
@@ -34,5 +50,5 @@
   cd $TMPDIR
   export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
   export FAKETIME=$REFERENCE_DATETIME
-  zip -r boost-win32-1.49.0-gitian.zip *
-  cp boost-win32-1.49.0-gitian.zip $OUTDIR
+  zip -r boost-win32-1.49.0-gitian2.zip *
+  cp boost-win32-1.49.0-gitian2.zip $OUTDIR
--- a/contrib/gitian-descriptors/gitian-win32.yml
+++ b/contrib/gitian-descriptors/gitian-win32.yml
@@ -16,7 +16,7 @@
   "dir": "bitcoin"
 files:
 - "qt-win32-4.7.4-gitian.zip"
-- "boost-win32-1.49.0-gitian.zip"
+- "boost-win32-1.49.0-gitian2.zip"
 - "bitcoin-deps-0.0.4.zip"
 script: |
   #
@@ -29,7 +29,7 @@
   mkdir boost_1_49_0
   cd boost_1_49_0
   mkdir -p stage/lib
-  unzip ../boost-win32-1.49.0-gitian.zip
+  unzip ../boost-win32-1.49.0-gitian2.zip
   cd bin/$GBUILD_BITS
   for lib in *; do
     i586-mingw32msvc-ar rc ../../stage/lib/libboost_${lib}-mt-s.a $lib/*.o
--- a/src/qt/qtipcserver.cpp
+++ b/src/qt/qtipcserver.cpp
@@ -6,6 +6,11 @@
 #include <boost/interprocess/ipc/message_queue.hpp>
 #include <boost/tokenizer.hpp>
 #include <boost/date_time/posix_time/posix_time.hpp>
+#include <boost/version.hpp>
+
+#if defined(WIN32) && (!defined(BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME) || !defined(BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME) || BOOST_VERSION < 104900)
+#warning Compiling without BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME and BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME uncommented in boost/interprocess/detail/tmp_dir_helpers.hpp or using a boost version before 1.49 may have unintended results see svn.boost.org/trac/boost/ticket/5392
+#endif
 
 #include "ui_interface.h"
 #include "qtipcserver.h"