summaryrefslogtreecommitdiffstats
path: root/src/boost-1-fixes.patch
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2015-03-29 11:49:14 (GMT)
committerMark Brand <mabrand@mabrand.nl>2015-03-29 13:04:09 (GMT)
commita8df43d1324294522bde66f2c5d5f9f6d43476e6 (patch)
tree831a4b620a36d8d2979c6d36e28204256aeed4db /src/boost-1-fixes.patch
parent5327759c3345ff3e9550cc56595c9dde0a1ab016 (diff)
downloadmxe-a8df43d1324294522bde66f2c5d5f9f6d43476e6.zip
mxe-a8df43d1324294522bde66f2c5d5f9f6d43476e6.tar.gz
mxe-a8df43d1324294522bde66f2c5d5f9f6d43476e6.tar.bz2
boost: mingw-w64 4.01 compatibility fix
This reverts commit 65ca33b218fb2dfe6456ca480eafdb13133917cc.
Diffstat (limited to 'src/boost-1-fixes.patch')
-rw-r--r--src/boost-1-fixes.patch157
1 files changed, 131 insertions, 26 deletions
diff --git a/src/boost-1-fixes.patch b/src/boost-1-fixes.patch
index b643117..fd9db9c 100644
--- a/src/boost-1-fixes.patch
+++ b/src/boost-1-fixes.patch
@@ -1,12 +1,18 @@
This file is part of MXE.
See index.html for further information.
+From 7b1ff5c3a275e2903a7f35a3817d00f8a75b47d0 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Sun, 29 Mar 2015 12:55:15 +0200
+Subject: [PATCH 1/3] fixes
+
This patch has been taken from:
https://aur.archlinux.org/packages/mingw-w64-boost/
-diff -urN boost_1_57_0.orig/boost/detail/interlocked.hpp boost_1_57_0/boost/detail/interlocked.hpp
---- boost_1_57_0.orig/boost/detail/interlocked.hpp 2014-12-05 20:22:34.000000000 +1100
-+++ boost_1_57_0/boost/detail/interlocked.hpp 2014-12-05 20:22:53.000000000 +1100
+diff --git a/boost/detail/interlocked.hpp b/boost/detail/interlocked.hpp
+index 2c91ce2..abc7c6d 100644
+--- a/boost/detail/interlocked.hpp
++++ b/boost/detail/interlocked.hpp
@@ -1,6 +1,10 @@
#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
@@ -18,9 +24,11 @@ diff -urN boost_1_57_0.orig/boost/detail/interlocked.hpp boost_1_57_0/boost/deta
//
// boost/detail/interlocked.hpp
//
-diff -urN boost_1_57_0.orig/boost/detail/interlocked.hpp.orig boost_1_57_0/boost/detail/interlocked.hpp.orig
---- boost_1_57_0.orig/boost/detail/interlocked.hpp.orig 1970-01-01 10:00:00.000000000 +1000
-+++ boost_1_57_0/boost/detail/interlocked.hpp.orig 2014-10-02 02:40:51.000000000 +1000
+diff --git a/boost/detail/interlocked.hpp.orig b/boost/detail/interlocked.hpp.orig
+new file mode 100644
+index 0000000..2c91ce2
+--- /dev/null
++++ b/boost/detail/interlocked.hpp.orig
@@ -0,0 +1,218 @@
+#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
+#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
@@ -240,10 +248,11 @@ diff -urN boost_1_57_0.orig/boost/detail/interlocked.hpp.orig boost_1_57_0/boost
+#endif
+
+#endif // #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED
-diff -urN boost_1_57_0.orig/libs/context/build/Jamfile.v2 boost_1_57_0/libs/context/build/Jamfile.v2
---- boost_1_57_0.orig/libs/context/build/Jamfile.v2 2014-12-05 20:22:38.000000000 +1100
-+++ boost_1_57_0/libs/context/build/Jamfile.v2 2014-12-05 20:22:53.000000000 +1100
-@@ -581,6 +581,17 @@
+diff --git a/libs/context/build/Jamfile.v2 b/libs/context/build/Jamfile.v2
+index 7cc8a07..2143ed3 100644
+--- a/libs/context/build/Jamfile.v2
++++ b/libs/context/build/Jamfile.v2
+@@ -581,6 +581,17 @@ alias asm_context_sources
;
alias asm_context_sources
@@ -261,7 +270,7 @@ diff -urN boost_1_57_0.orig/libs/context/build/Jamfile.v2 boost_1_57_0/libs/cont
: asm/make_i386_ms_pe_masm.asm
asm/jump_i386_ms_pe_masm.asm
dummy.cpp
-@@ -715,6 +726,17 @@
+@@ -715,6 +726,17 @@ alias asm_context_sources
;
alias asm_context_sources
@@ -279,9 +288,11 @@ diff -urN boost_1_57_0.orig/libs/context/build/Jamfile.v2 boost_1_57_0/libs/cont
: asm/make_x86_64_ms_pe_masm.asm
asm/jump_x86_64_ms_pe_masm.asm
dummy.cpp
-diff -urN boost_1_57_0.orig/libs/context/build/Jamfile.v2.orig boost_1_57_0/libs/context/build/Jamfile.v2.orig
---- boost_1_57_0.orig/libs/context/build/Jamfile.v2.orig 1970-01-01 10:00:00.000000000 +1000
-+++ boost_1_57_0/libs/context/build/Jamfile.v2.orig 2014-10-20 17:26:00.000000000 +1100
+diff --git a/libs/context/build/Jamfile.v2.orig b/libs/context/build/Jamfile.v2.orig
+new file mode 100644
+index 0000000..7cc8a07
+--- /dev/null
++++ b/libs/context/build/Jamfile.v2.orig
@@ -0,0 +1,775 @@
+
+# Boost.Context Library Build Jamfile
@@ -1058,9 +1069,11 @@ diff -urN boost_1_57_0.orig/libs/context/build/Jamfile.v2.orig boost_1_57_0/libs
+ ;
+
+boost-install boost_context ;
-diff -urN boost_1_57_0.orig/libs/context/src/asm/jump_i386_ms_pe_gas.S boost_1_57_0/libs/context/src/asm/jump_i386_ms_pe_gas.S
---- boost_1_57_0.orig/libs/context/src/asm/jump_i386_ms_pe_gas.S 1970-01-01 10:00:00.000000000 +1000
-+++ boost_1_57_0/libs/context/src/asm/jump_i386_ms_pe_gas.S 2014-12-05 20:22:53.000000000 +1100
+diff --git a/libs/context/src/asm/jump_i386_ms_pe_gas.S b/libs/context/src/asm/jump_i386_ms_pe_gas.S
+new file mode 100644
+index 0000000..84ab084
+--- /dev/null
++++ b/libs/context/src/asm/jump_i386_ms_pe_gas.S
@@ -0,0 +1,108 @@
+/*
+ Copyright Oliver Kowalke 2009.
@@ -1170,9 +1183,11 @@ diff -urN boost_1_57_0.orig/libs/context/src/asm/jump_i386_ms_pe_gas.S boost_1_5
+ movl 0x14(%ecx), %ecx /* fetch the address to return to */
+
+ jmp *%ecx /* indirect jump to context */
-diff -urN boost_1_57_0.orig/libs/context/src/asm/jump_x86_64_ms_pe_gas.S boost_1_57_0/libs/context/src/asm/jump_x86_64_ms_pe_gas.S
---- boost_1_57_0.orig/libs/context/src/asm/jump_x86_64_ms_pe_gas.S 1970-01-01 10:00:00.000000000 +1000
-+++ boost_1_57_0/libs/context/src/asm/jump_x86_64_ms_pe_gas.S 2014-12-05 20:22:53.000000000 +1100
+diff --git a/libs/context/src/asm/jump_x86_64_ms_pe_gas.S b/libs/context/src/asm/jump_x86_64_ms_pe_gas.S
+new file mode 100644
+index 0000000..32aa2a5
+--- /dev/null
++++ b/libs/context/src/asm/jump_x86_64_ms_pe_gas.S
@@ -0,0 +1,189 @@
+/*
+ Copyright Oliver Kowalke 2009.
@@ -1363,9 +1378,11 @@ diff -urN boost_1_57_0.orig/libs/context/src/asm/jump_x86_64_ms_pe_gas.S boost_1
+
+ jmp *%r10 /* indirect jump to caller */
+.seh_endproc
-diff -urN boost_1_57_0.orig/libs/context/src/asm/make_i386_ms_pe_gas.S boost_1_57_0/libs/context/src/asm/make_i386_ms_pe_gas.S
---- boost_1_57_0.orig/libs/context/src/asm/make_i386_ms_pe_gas.S 1970-01-01 10:00:00.000000000 +1000
-+++ boost_1_57_0/libs/context/src/asm/make_i386_ms_pe_gas.S 2014-12-05 20:22:53.000000000 +1100
+diff --git a/libs/context/src/asm/make_i386_ms_pe_gas.S b/libs/context/src/asm/make_i386_ms_pe_gas.S
+new file mode 100644
+index 0000000..1b57faa
+--- /dev/null
++++ b/libs/context/src/asm/make_i386_ms_pe_gas.S
@@ -0,0 +1,115 @@
+/*
+ Copyright Oliver Kowalke 2009.
@@ -1482,9 +1499,11 @@ diff -urN boost_1_57_0.orig/libs/context/src/asm/make_i386_ms_pe_gas.S boost_1_5
+ hlt
+
+.def __exit; .scl 2; .type 32; .endef /* standard C library function */
-diff -urN boost_1_57_0.orig/libs/context/src/asm/make_x86_64_ms_pe_gas.S boost_1_57_0/libs/context/src/asm/make_x86_64_ms_pe_gas.S
---- boost_1_57_0.orig/libs/context/src/asm/make_x86_64_ms_pe_gas.S 1970-01-01 10:00:00.000000000 +1000
-+++ boost_1_57_0/libs/context/src/asm/make_x86_64_ms_pe_gas.S 2014-12-05 20:22:53.000000000 +1100
+diff --git a/libs/context/src/asm/make_x86_64_ms_pe_gas.S b/libs/context/src/asm/make_x86_64_ms_pe_gas.S
+new file mode 100644
+index 0000000..5bfeeb1
+--- /dev/null
++++ b/libs/context/src/asm/make_x86_64_ms_pe_gas.S
@@ -0,0 +1,132 @@
+/*
+ Copyright Oliver Kowalke 2009.
@@ -1618,3 +1637,89 @@ diff -urN boost_1_57_0.orig/libs/context/src/asm/make_x86_64_ms_pe_gas.S boost_1
+.seh_endproc
+
+.def _exit; .scl 2; .type 32; .endef /* standard C library function */
+--
+2.1.0
+
+
+From eddef4ea6e60df241c9afa9a6adc909c57f8095c Mon Sep 17 00:00:00 2001
+From: Pavel Vatagin <pavelvat@gmail.com>
+Date: Sun, 29 Mar 2015 12:57:11 +0200
+Subject: [PATCH 2/3] more fixes
+
+taken from https://github.com/boostorg/interprocess/pull/15
+
+diff --git a/boost/interprocess/detail/win32_api.hpp b/boost/interprocess/detail/win32_api.hpp
+index d9d3e70..7fcc907 100644
+--- a/boost/interprocess/detail/win32_api.hpp
++++ b/boost/interprocess/detail/win32_api.hpp
+@@ -28,11 +28,18 @@
+ #include <vector>
+ #include <memory>
+
++#if defined (BOOST_INTERPROCESS_WINDOWS)
++# include <cstdarg>
++# include <boost/detail/interlocked.hpp>
++#else
++# error "This file can only be included in Windows OS"
++#endif
++
+ #ifdef BOOST_USE_WINDOWS_H
+ #include <windows.h>
+-#include <Wbemidl.h>
+-#include <Objbase.h>
+-#include <Shlobj.h>
++#include <wbemidl.h>
++#include <objbase.h>
++#include <shlobj.h>
+ #endif
+
+ #if defined(_MSC_VER)
+@@ -44,13 +51,6 @@
+ # pragma comment( lib, "Shell32.lib" ) //SHGetSpecialFolderPathA
+ #endif
+
+-#if defined (BOOST_INTERPROCESS_WINDOWS)
+-# include <cstdarg>
+-# include <boost/detail/interlocked.hpp>
+-#else
+-# error "This file can only be included in Windows OS"
+-#endif
+-
+ //////////////////////////////////////////////////////////////////////////////
+ //
+ // Declaration of Windows structures or typedefs if BOOST_USE_WINDOWS_H is used
+@@ -2252,7 +2252,7 @@ inline bool get_last_bootup_time(std::string &stamp)
+ // Print the contents of each record in the buffer.
+ if(find_record_in_buffer(heap_deleter.get(), dwBytesRead, provider_name, event_id, pTypedRecord)){
+ char stamp_str[sizeof(unsigned long)*3+1];
+- std::sprintf(&stamp_str[0], "%u", ((unsigned int)pTypedRecord->TimeGenerated));
++ sprintf(&stamp_str[0], "%u", ((unsigned int)pTypedRecord->TimeGenerated));
+ stamp = stamp_str;
+ break;
+ }
+--
+2.1.0
+
+
+From 9081374d788ead34e417f0fe1aa34310156eb14f Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Sun, 29 Mar 2015 13:00:45 +0200
+Subject: [PATCH 3/3] add missing winsock2.h
+
+Otherwise windows.h might default to winsock.h.
+
+diff --git a/boost/detail/interlocked.hpp b/boost/detail/interlocked.hpp
+index abc7c6d..2cd60c1 100644
+--- a/boost/detail/interlocked.hpp
++++ b/boost/detail/interlocked.hpp
+@@ -24,6 +24,7 @@
+
+ #if defined( BOOST_USE_WINDOWS_H )
+
++# include <winsock2.h>
+ # include <windows.h>
+
+ # define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement
+--
+2.1.0
+