summaryrefslogtreecommitdiff
blob: 529a82c018f9a56c20844f1ad24ce12ca87344b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
diff -Naur kicad-4.0.2-orig/common/system/libcontext.cpp kicad-4.0.2/common/system/libcontext.cpp
--- kicad-4.0.2-orig/common/system/libcontext.cpp       2016-06-16 22:30:58.000000000 -0700
+++ kicad-4.0.2/common/system/libcontext.cpp    2016-06-16 22:35:46.654719468 -0700
@@ -13,7 +13,7 @@
             http://www.boost.org/LICENSE_1_0.txt)

 */
-#include "libcontext.h"
+#include <system/libcontext.h>
 #if defined(LIBCONTEXT_PLATFORM_windows_i386) && defined(LIBCONTEXT_COMPILER_gcc)
 __asm (
 ".text\n"
diff -Naur kicad-4.0.2-orig/CMakeLists.txt kicad-4.0.2/CMakeLists.txt
--- kicad-4.0.2-orig/CMakeLists.txt	2016-02-13 13:14:42.000000000 -0800
+++ kicad-4.0.2/CMakeLists.txt	2016-06-11 01:11:25.623484908 -0700
@@ -561,7 +561,7 @@
 # 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
+    find_package( Boost 1.54.0 REQUIRED COMPONENTS date_time filesystem iostreams locale
                                                    program_options regex system thread )
 
     if( NOT Boost_FOUND )
diff -Naur kicad-4.0.2-orig/common/CMakeLists.txt kicad-4.0.2/common/CMakeLists.txt
--- kicad-4.0.2-orig/common/CMakeLists.txt	2016-02-13 13:14:42.000000000 -0800
+++ kicad-4.0.2/common/CMakeLists.txt	2016-06-11 01:10:04.886830434 -0700
@@ -256,6 +256,8 @@
     view/view_item.cpp
     view/view_group.cpp
 
+    system/libcontext.cpp
+
     math/math_util.cpp
 
     tool/tool_action.cpp
diff -Naur kicad-4.0.2-orig/include/tool/coroutine.h kicad-4.0.2/include/tool/coroutine.h
--- kicad-4.0.2-orig/include/tool/coroutine.h	2016-02-13 13:14:42.000000000 -0800
+++ kicad-4.0.2/include/tool/coroutine.h	2016-06-11 01:07:06.035378422 -0700
@@ -27,8 +27,7 @@
 
 #include <cstdlib>
 
-#include <boost/context/fcontext.hpp>
-#include <boost/version.hpp>
+#include <system/libcontext.h>
 
 #include "delegate.h"
 
@@ -92,10 +91,8 @@
         if( m_saved )
             delete m_saved;
 
-#if BOOST_VERSION >= 105600
         if( m_self )
             delete m_self;
-#endif
 
         if( m_stack )
             free( m_stack );
@@ -156,13 +153,9 @@
         assert( m_saved == NULL );
 
         m_args = &aArgs;
-#if BOOST_VERSION >= 105600
-        m_self = new boost::context::fcontext_t();
-        *m_self = boost::context::make_fcontext( sp, m_stackSize, callerStub );
-#else
-        m_self = boost::context::make_fcontext( sp, m_stackSize, callerStub );
-#endif
-        m_saved = new boost::context::fcontext_t();
+        m_self = new fcontext_t();
+        *m_self = make_fcontext( sp, m_stackSize, callerStub );
+        m_saved = new fcontext_t();
 
         m_running = true;
         // off we go!
@@ -222,14 +215,10 @@
     }
 
     ///> Wrapper for jump_fcontext to assure compatibility between different boost versions
-    static inline intptr_t jump(boost::context::fcontext_t* aOld, boost::context::fcontext_t* aNew,
+    static inline intptr_t jump(fcontext_t* aOld, fcontext_t* aNew,
                                 intptr_t aP, bool aPreserveFPU = true )
     {
-#if BOOST_VERSION >= 105600
-        return boost::context::jump_fcontext( aOld, *aNew, aP, aPreserveFPU );
-#else
-        return boost::context::jump_fcontext( aOld, aNew, aP, aPreserveFPU );
-#endif
+        return jump_fcontext( aOld, *aNew, aP, aPreserveFPU );
     }
 
     template <typename T>
@@ -252,10 +241,10 @@
     ReturnType m_retVal;
 
     ///< saved caller context
-    boost::context::fcontext_t* m_saved;
+    fcontext_t* m_saved;
 
     ///< saved coroutine context
-    boost::context::fcontext_t* m_self;
+    fcontext_t* m_self;
 
     ///< coroutine stack
     void* m_stack;