r2corba 1.4.1-x86-mingw32 → 1.5.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +7 -7
  2. data/CHANGES +173 -159
  3. data/LICENSE +59 -59
  4. data/README +62 -62
  5. data/THANKS +54 -52
  6. data/bin/r2corba +1 -1
  7. data/bin/ridlc +1 -1
  8. data/bin/rins +1 -1
  9. data/lib/corba.rb +16 -16
  10. data/lib/corba/cbase/IORMap.rb +33 -33
  11. data/lib/corba/cbase/ORB.rb +237 -231
  12. data/lib/corba/cbase/Request.rb +133 -133
  13. data/lib/corba/cbase/Streams.rb +129 -129
  14. data/lib/corba/cbase/Stub.rb +19 -19
  15. data/lib/corba/cbase/Typecode.rb +441 -441
  16. data/lib/corba/cbase/Values.rb +129 -129
  17. data/lib/corba/cbase/exception.rb +66 -66
  18. data/lib/corba/cbase/poa.rb +23 -23
  19. data/lib/corba/cbase/policies.rb +77 -77
  20. data/lib/corba/cbase/post_require.rb +13 -13
  21. data/lib/corba/cbase/require.rb +28 -28
  22. data/lib/corba/cmds/base.rb +85 -85
  23. data/lib/corba/cmds/test.rb +30 -30
  24. data/lib/corba/common/Any.rb +91 -91
  25. data/lib/corba/common/IDL.rb +104 -104
  26. data/lib/corba/common/ORB.rb +368 -368
  27. data/lib/corba/common/Object.rb +208 -208
  28. data/lib/corba/common/Request.rb +19 -19
  29. data/lib/corba/common/Servant.rb +108 -108
  30. data/lib/corba/common/Struct.rb +21 -21
  31. data/lib/corba/common/Stub.rb +79 -79
  32. data/lib/corba/common/Typecode.rb +1121 -1121
  33. data/lib/corba/common/Union.rb +55 -55
  34. data/lib/corba/common/Values.rb +91 -91
  35. data/lib/corba/common/const.rb +22 -22
  36. data/lib/corba/common/exception.rb +68 -68
  37. data/lib/corba/common/require.rb +27 -27
  38. data/lib/corba/common/version.rb +22 -22
  39. data/lib/corba/idl/IDL.rb +21 -21
  40. data/lib/corba/idl/IORTable.pidl +62 -62
  41. data/lib/corba/idl/TAO_Ext.pidl +46 -46
  42. data/lib/corba/idl/require.rb +20 -20
  43. data/lib/corba/jbase/Any.rb +273 -273
  44. data/lib/corba/jbase/IORMap.rb +35 -35
  45. data/lib/corba/jbase/ORB.rb +112 -99
  46. data/lib/corba/jbase/Object.rb +99 -98
  47. data/lib/corba/jbase/Request.rb +225 -225
  48. data/lib/corba/jbase/Servant.rb +247 -246
  49. data/lib/corba/jbase/ServerRequest.rb +127 -127
  50. data/lib/corba/jbase/Streams.rb +670 -670
  51. data/lib/corba/jbase/Stub.rb +38 -38
  52. data/lib/corba/jbase/Typecode.rb +520 -520
  53. data/lib/corba/jbase/Values.rb +173 -173
  54. data/lib/corba/jbase/exception.rb +106 -106
  55. data/lib/corba/jbase/poa.rb +228 -228
  56. data/lib/corba/jbase/policies.rb +299 -299
  57. data/lib/corba/jbase/post_require.rb +14 -14
  58. data/lib/corba/jbase/require.rb +89 -86
  59. data/lib/corba/naming.rb +14 -14
  60. data/lib/corba/naming_service.rb +15 -15
  61. data/lib/corba/poa.rb +15 -15
  62. data/lib/corba/policies.rb +18 -18
  63. data/lib/corba/require.rb +17 -17
  64. data/lib/corba/svcs/ins/cos_naming.rb +426 -426
  65. data/lib/corba/svcs/ins/ins.rb +526 -526
  66. data/lib/corba/svcs/ins/naming_service.rb +119 -119
  67. data/lib/ridlbe/ruby/config.rb +336 -336
  68. data/lib/ridlbe/ruby/orb.pidlc +0 -0
  69. data/lib/ridlbe/ruby/require.rb +16 -16
  70. data/lib/ridlbe/ruby/walker.rb +1582 -1582
  71. data/mkrf_conf_bingem.rb +151 -101
  72. data/rakelib/bin.rake +80 -80
  73. data/rakelib/bin.rb +145 -145
  74. data/rakelib/build.rake +87 -87
  75. data/rakelib/config.rake +51 -51
  76. data/rakelib/config.rb +543 -449
  77. data/rakelib/ext.rake +242 -242
  78. data/rakelib/ext.rb +316 -308
  79. data/rakelib/ext_r2tao.rb +235 -232
  80. data/rakelib/gem.rake +235 -211
  81. data/rakelib/gem.rb +145 -145
  82. data/rakelib/package.rake +26 -26
  83. data/rakelib/test.rake +23 -23
  84. data/test/BiDirectional/Test.idl +34 -34
  85. data/test/BiDirectional/client.rb +131 -131
  86. data/test/BiDirectional/run_test.rb +68 -68
  87. data/test/BiDirectional/server.ior +1 -1
  88. data/test/BiDirectional/server.rb +169 -169
  89. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -27
  90. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -121
  91. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -1
  92. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -82
  93. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -109
  94. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -27
  95. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -85
  96. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -1
  97. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -88
  98. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -135
  99. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -27
  100. data/test/CORBA_Services/Naming/Simple/client.rb +84 -84
  101. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -1
  102. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -82
  103. data/test/CORBA_Services/Naming/Simple/server.rb +109 -109
  104. data/test/Collocation/Diamond.idl +39 -39
  105. data/test/Collocation/run_test.rb +52 -52
  106. data/test/Collocation/test.rb +195 -195
  107. data/test/Connect_Timeout/Test.idl +27 -27
  108. data/test/Connect_Timeout/client.rb +111 -111
  109. data/test/Connect_Timeout/run_test.rb +52 -52
  110. data/test/DII/Test.idl +27 -27
  111. data/test/DII/client.rb +115 -115
  112. data/test/DII/run_test.rb +69 -69
  113. data/test/DII/server.ior +1 -1
  114. data/test/DII/server.rb +95 -95
  115. data/test/DSI/Test.idl +27 -27
  116. data/test/DSI/client.rb +66 -66
  117. data/test/DSI/run_test.rb +69 -69
  118. data/test/DSI/server.ior +1 -1
  119. data/test/DSI/server.rb +106 -106
  120. data/test/Exceptions/Test.idl +48 -48
  121. data/test/Exceptions/client.rb +117 -117
  122. data/test/Exceptions/run_test.rb +69 -69
  123. data/test/Exceptions/server.ior +1 -1
  124. data/test/Exceptions/server.rb +131 -131
  125. data/test/Hello/Test.idl +27 -27
  126. data/test/Hello/client.rb +78 -78
  127. data/test/Hello/run_test.rb +71 -71
  128. data/test/Hello/server.rb +95 -95
  129. data/test/IDL_Test/Test.idl +113 -113
  130. data/test/IDL_Test/Test_inc.idl +17 -17
  131. data/test/IDL_Test/client.rb +102 -102
  132. data/test/IDL_Test/run_test.rb +69 -69
  133. data/test/IDL_Test/server.ior +1 -1
  134. data/test/IDL_Test/server.rb +99 -99
  135. data/test/IORMap/Test.idl +27 -27
  136. data/test/IORMap/client.rb +73 -73
  137. data/test/IORMap/run_test.rb +69 -69
  138. data/test/IORMap/server.ior +1 -1
  139. data/test/IORMap/server.rb +114 -114
  140. data/test/IORTable/Test.idl +27 -27
  141. data/test/IORTable/client.rb +75 -75
  142. data/test/IORTable/run_test.rb +69 -69
  143. data/test/IORTable/server.ior +1 -1
  144. data/test/IORTable/server.rb +130 -130
  145. data/test/Implicit_Conversion/Test.idl +31 -31
  146. data/test/Implicit_Conversion/client.rb +110 -110
  147. data/test/Implicit_Conversion/run_test.rb +69 -69
  148. data/test/Implicit_Conversion/server.ior +1 -1
  149. data/test/Implicit_Conversion/server.rb +99 -99
  150. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -27
  151. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -82
  152. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -71
  153. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -108
  154. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -1
  155. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -1
  156. data/test/Multi_Threading/Simple/Test.idl +27 -27
  157. data/test/Multi_Threading/Simple/client.rb +93 -88
  158. data/test/Multi_Threading/Simple/run_test.rb +69 -69
  159. data/test/Multi_Threading/Simple/server.ior +1 -1
  160. data/test/Multi_Threading/Simple/server.rb +117 -117
  161. data/test/Multi_Threading/Threads/Test.idl +31 -31
  162. data/test/Multi_Threading/Threads/client.rb +80 -80
  163. data/test/Multi_Threading/Threads/run_test.rb +76 -76
  164. data/test/Multi_Threading/Threads/server.ior +1 -1
  165. data/test/Multi_Threading/Threads/server.rb +119 -119
  166. data/test/Multi_Threading/Threads/watchdog.ior +1 -1
  167. data/test/Multi_Threading/Threads/watchdog.rb +87 -87
  168. data/test/Multiple_Servant_Interfaces/Test.idl +34 -34
  169. data/test/Multiple_Servant_Interfaces/client.rb +70 -70
  170. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -69
  171. data/test/Multiple_Servant_Interfaces/server.ior +1 -1
  172. data/test/Multiple_Servant_Interfaces/server.rb +102 -102
  173. data/test/Nil/Test.idl +27 -27
  174. data/test/Nil/run_test.rb +52 -52
  175. data/test/Nil/test.rb +78 -78
  176. data/test/OBV/AbstractInterface/client.rb +179 -179
  177. data/test/OBV/AbstractInterface/run_test.rb +69 -69
  178. data/test/OBV/AbstractInterface/server.ior +1 -1
  179. data/test/OBV/AbstractInterface/server.rb +149 -149
  180. data/test/OBV/AbstractInterface/test.idl +53 -53
  181. data/test/OBV/Custom/OBV.idl +18 -18
  182. data/test/OBV/Custom/OBV_impl.rb +40 -40
  183. data/test/OBV/Custom/client.rb +86 -86
  184. data/test/OBV/Custom/run_test.rb +69 -69
  185. data/test/OBV/Custom/server.ior +1 -1
  186. data/test/OBV/Custom/server.rb +100 -100
  187. data/test/OBV/Simple/OBV.idl +15 -15
  188. data/test/OBV/Simple/OBV_impl.rb +26 -26
  189. data/test/OBV/Simple/client.rb +86 -86
  190. data/test/OBV/Simple/run_test.rb +69 -69
  191. data/test/OBV/Simple/server.ior +1 -1
  192. data/test/OBV/Simple/server.rb +100 -100
  193. data/test/OBV/Simple_Event/Event.idl +15 -15
  194. data/test/OBV/Simple_Event/Event_impl.rb +26 -26
  195. data/test/OBV/Simple_Event/client.rb +86 -86
  196. data/test/OBV/Simple_Event/run_test.rb +69 -69
  197. data/test/OBV/Simple_Event/server.ior +1 -1
  198. data/test/OBV/Simple_Event/server.rb +100 -100
  199. data/test/OBV/Supports/client.rb +116 -116
  200. data/test/OBV/Supports/run_test.rb +69 -69
  201. data/test/OBV/Supports/server.ior +1 -1
  202. data/test/OBV/Supports/server.rb +103 -103
  203. data/test/OBV/Supports/supports.idl +33 -33
  204. data/test/OBV/Supports/supports_impl.rb +57 -57
  205. data/test/OBV/Tree/client.rb +116 -116
  206. data/test/OBV/Tree/run_test.rb +69 -69
  207. data/test/OBV/Tree/server.ior +1 -1
  208. data/test/OBV/Tree/server.rb +117 -117
  209. data/test/OBV/Tree/test.idl +32 -32
  210. data/test/OBV/Truncatable/Extra.idl +27 -27
  211. data/test/OBV/Truncatable/Truncatable.idl +105 -105
  212. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -86
  213. data/test/OBV/Truncatable/client.rb +279 -279
  214. data/test/OBV/Truncatable/run_test.rb +69 -69
  215. data/test/OBV/Truncatable/server.ior +1 -1
  216. data/test/OBV/Truncatable/server.rb +89 -89
  217. data/test/OBV/ValueBox/client.rb +497 -497
  218. data/test/OBV/ValueBox/run_test.rb +69 -69
  219. data/test/OBV/ValueBox/server.ior +1 -1
  220. data/test/OBV/ValueBox/server.rb +271 -271
  221. data/test/OBV/ValueBox/valuebox.idl +101 -101
  222. data/test/OBV/ValueBox/vb_basic.idl +75 -75
  223. data/test/OBV/ValueBox/vb_struct.idl +68 -68
  224. data/test/OBV/ValueBox/vb_union.idl +21 -21
  225. data/test/Object/Test.idl +27 -27
  226. data/test/Object/client.rb +112 -103
  227. data/test/Object/run_test.rb +69 -69
  228. data/test/Object/server.ior +1 -1
  229. data/test/Object/server.rb +126 -126
  230. data/test/POA/Test.idl +27 -27
  231. data/test/POA/run_test.rb +52 -52
  232. data/test/POA/test.rb +111 -111
  233. data/test/Param_Test/Test.idl +182 -182
  234. data/test/Param_Test/client.rb +277 -277
  235. data/test/Param_Test/run_test.rb +69 -69
  236. data/test/Param_Test/server.ior +1 -1
  237. data/test/Param_Test/server.rb +296 -296
  238. data/test/Performance/Simple/Test.idl +27 -27
  239. data/test/Performance/Simple/client.rb +90 -90
  240. data/test/Performance/Simple/run_test.rb +69 -69
  241. data/test/Performance/Simple/server.ior +1 -1
  242. data/test/Performance/Simple/server.rb +95 -95
  243. data/test/Policies/Test.idl +27 -27
  244. data/test/Policies/run_test.rb +52 -52
  245. data/test/Policies/test.rb +144 -144
  246. data/test/Timeout/client.rb +207 -207
  247. data/test/Timeout/run_test.rb +69 -69
  248. data/test/Timeout/server.ior +1 -1
  249. data/test/Timeout/server.rb +109 -109
  250. data/test/Timeout/test.idl +19 -19
  251. data/test/lib/assert.rb +43 -43
  252. data/test/lib/test.rb +542 -542
  253. data/test/test_runner.rb +193 -193
  254. metadata +141 -137
data/rakelib/ext.rb CHANGED
@@ -1,308 +1,316 @@
1
- #--------------------------------------------------------------------
2
- # ext.rb - build file
3
- #
4
- # Author: Martin Corino
5
- #
6
- # This program is free software; you can redistribute it and/or
7
- # modify it under the terms of the R2CORBA LICENSE which is
8
- # included with this program.
9
- #
10
- # Copyright (c) Remedy IT Expertise BV
11
- # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
- #--------------------------------------------------------------------
13
-
14
- require File.join(File.dirname(__FILE__), 'config.rb')
15
- require File.join(File.dirname(__FILE__), 'ext_r2tao.rb')
16
-
17
- module R2CORBA
18
-
19
- module Ext
20
- ACE_FILES = [
21
- 'ACE',
22
- 'TAO',
23
- 'TAO_TypeCodeFactory',
24
- 'TAO_IFR_Client',
25
- 'TAO_DynamicInterface',
26
- 'TAO_Messaging',
27
- 'TAO_PI',
28
- 'TAO_CodecFactory',
29
- 'TAO_Codeset',
30
- 'TAO_DynamicAny',
31
- 'TAO_Valuetype',
32
- 'TAO_PortableServer',
33
- 'TAO_AnyTypeCode',
34
- 'TAO_BiDirGIOP',
35
- 'TAO_IORTable',
36
- 'TAO_ImR_Client'
37
- ]
38
-
39
- if get_config('with-ssl')
40
- ACE_FILES << 'ACE_SSL'
41
- ACE_FILES << 'TAO_Security'
42
- ACE_FILES << 'TAO_SSLIOP'
43
- end
44
-
45
- def self.platform_error
46
- raise "Unsupported platform: #{RUBY_PLATFORM}."
47
- end
48
-
49
- def self.is_win32
50
- R2CORBA::Config.is_win32
51
- end
52
- def self.is_win64
53
- R2CORBA::Config.is_win64
54
- end
55
-
56
- if is_win32
57
- def self.sys_dlls
58
- sysdlls = []
59
- except_dll = R2CORBA::Config.is_win64 ? 'libgcc_s_sjlj-1.dll' : 'libgcc_s_dw2-1.dll'
60
- ENV['PATH'].split(';').each do |p|
61
- if File.exists?(File.join(p, except_dll)) && File.exists?(File.join(p, 'libstdc++-6.dll'))
62
- sysdlls << File.join(p, except_dll)
63
- sysdlls << File.join(p, 'libstdc++-6.dll')
64
- break
65
- end
66
- end
67
- sysdlls
68
- end
69
- end
70
-
71
- def self.so_ext
72
- if R2CORBA::Config.is_win32
73
- '.dll'
74
- elsif R2CORBA::Config.is_osx
75
- '.dylib'
76
- else
77
- '.so'
78
- end
79
- end
80
-
81
- def self.ace_shlibs(so_ext_ = nil, libdir = File.join(get_config('aceroot'), 'lib'))
82
- so_ext_ ||= self.so_ext
83
- ACE_FILES.collect { |fn| File.join(libdir, "lib#{fn}#{so_ext_}") }
84
- end
85
-
86
- @@osx_name = nil
87
- if RUBY_PLATFORM =~ /darwin/
88
- osx_ver_major, osx_ver_minor = (`uname -r`).strip.split('.')[0,2].collect {|n| n.to_i }
89
- if osx_ver_major == 10
90
- @@osx_name = case osx_ver_minor
91
- when 3
92
- 'panther'
93
- when 4
94
- 'tiger'
95
- when 5
96
- 'leopard'
97
- when 6,7,8
98
- 'snowleopard'
99
- end
100
- end
101
- platform_error unless @@osx_name
102
- end
103
- def self.osx_name
104
- @@osx_name
105
- end
106
-
107
- def self.ace_config
108
- case RUBY_PLATFORM
109
- when /mingw32/
110
- %Q{
111
- #define ACE_DISABLE_WIN32_ERROR_WINDOWS
112
- #include "ace/config-win32.h"
113
- }
114
- when /linux/
115
- %Q{
116
- #define ACE_HAS_GETIFADDRS
117
- #include "ace/config-linux.h"
118
- }
119
- when /sparc-solaris/
120
- %Q{
121
- #define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
122
- #include "ace/config-sunos5.10.h"
123
- #undef ACE_HAS_NEW_NOTHROW
124
- }
125
- when /darwin/
126
- %Q{
127
- #define ACE_HAS_GETIFADDRS
128
- #include "ace/config-macosx-#{osx_name}.h"
129
- }
130
- else
131
- platform_error
132
- end
133
- end
134
-
135
- def self.platform_macros
136
- case RUBY_PLATFORM
137
- when /mingw32/
138
- (is_win64 ? %Q{
139
- TCPU:=generic
140
- buildbits=64
141
- } : '') + %Q{
142
- threads=1
143
- ssl=#{get_config('with-ssl') ? 1 : 0}
144
- optimize=1
145
- debug=#{get_config('with-debug') ? 1 : 0}
146
- fl_reactor=0
147
- tk_reactor=0
148
- boost=0
149
- no_strict_aliasing=1
150
- include $(ACE_ROOT)/include/makeinclude/platform_mingw32.GNU
151
- }
152
- when /linux/
153
- %Q{
154
- versioned_so=1
155
- threads=1
156
- ssl=#{get_config('with-ssl') ? 1 : 0}
157
- optimize=1
158
- debug=#{get_config('with-debug') ? 1 : 0}
159
- fl_reactor=0
160
- tk_reactor=0
161
- boost=0
162
- include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
163
- LDFLAGS += -Wl,-rpath,#{get_config('aceinstdir')}
164
- }
165
- when /sparc-solaris/
166
- %Q{
167
- threads=1
168
- ssl=#{get_config('with-ssl') ? 1 : 0}
169
- inline=0
170
- optimize=0
171
- debug=#{get_config('with-debug') ? 1 : 0}
172
- fl_reactor=0
173
- tk_reactor=0
174
- no_hidden_visibility=1
175
- #{ /^cc/i =~ RB_CONFIG['CC'] ? 'include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU' : 'include $(ACE_ROOT)/include/makeinclude/platform_sunos5_g++.GNU' }
176
- LDFLAGS += #{RB_CONFIG['SOLIBS']} #{ /^cc/i =~ RB_CONFIG['CC'] ? '-lCrun -lCstd' : ''}
177
- }
178
- when /darwin/
179
- %Q{
180
- threads=1
181
- ssl=#{get_config('with-ssl') ? 1 : 0}
182
- optimize=1
183
- debug=#{get_config('with-debug') ? 1 : 0}
184
- fl_reactor=0
185
- tk_reactor=0
186
- boost=0
187
- include $(ACE_ROOT)/include/makeinclude/platform_macosx_#{osx_name}.GNU
188
- LDFLAGS += -Wl,-headerpad_max_install_names
189
- FLAGS_C_CC += #{RB_CONFIG['ARCH_FLAG']}
190
- LDFLAGS += #{RB_CONFIG['ARCH_FLAG']}
191
- }
192
- else
193
- platform_error
194
- end
195
- end
196
-
197
- def self.tao_mwc
198
- %Q{
199
- workspace {
200
- $(ACE_ROOT)/ace
201
- $(ACE_ROOT)/apps/gperf/src
202
- $(TAO_ROOT)/TAO_IDL
203
- $(TAO_ROOT)/tao
204
- #{get_config('with-ssl') ? '$(TAO_ROOT)/orbsvcs/orbsvcs/Security.mpc' : ''}
205
- #{get_config('with-ssl') ? '$(TAO_ROOT)/orbsvcs/orbsvcs/SSLIOP.mpc' : ''}
206
- exclude {
207
- bin
208
- docs
209
- etc
210
- html
211
- include
212
- lib
213
- m4
214
- man
215
- contrib
216
- netsvcs
217
- websvcs
218
- protocols
219
- tests
220
- performance-tests
221
- examples
222
- Kokyu
223
- ASNMP
224
- ACEXML
225
- }
226
- }
227
- }
228
- end
229
-
230
- def self.default_features
231
- %Q{
232
- fl_reactor=0
233
- tk_reactor=1
234
- qos=0
235
- ssl=#{get_config('with-ssl') ? 1 : 0}
236
- ipv6=#{get_config('with-ipv6') ? 1 : 0}
237
- }
238
- end
239
-
240
- def self.ace_config_path
241
- File.join(get_config('aceroot'),'ace','config.h')
242
- end
243
-
244
- def self.platform_macros_path
245
- File.join(get_config('aceroot'),'include','makeinclude','platform_macros.GNU')
246
- end
247
-
248
- def self.default_features_path
249
- File.join(get_config('aceroot'),'bin','MakeProjectCreator','config','default.features')
250
- end
251
-
252
- def self.tao_mwc_path
253
- File.join(get_config('aceroot'),'TAO4Ruby.mwc')
254
- end
255
-
256
- def self.tao_makefile
257
- File.join(get_config('aceroot'),'GNUmakefile')
258
- end
259
-
260
- def self.ext_makefile
261
- File.join('ext', 'GNUmakefile')
262
- end
263
-
264
- def self.post_build
265
- # Do we handle ACE+TAO here?
266
- if get_config('without-tao')
267
- if R2CORBA::Config.is_osx
268
- # configure dynamic library dependencies for Mac OSX
269
- so_ext = '.dylib'
270
-
271
- inst_extlibs = Dir.glob(File.join('ext', '*.bundle'))
272
- inst_dylibs = inst_extlibs + ACE_FILES.collect {|dep| File.join(get_config('aceroot'),'lib', 'lib'+dep+so_ext)}
273
- # cross dependencies of ext dynamic libs on each other
274
- # make sure they refer to *.bundle NOT *.dylib
275
- inst_extlibs.each do |extlib|
276
- inst_extlibs.each do |dep|
277
- dep_org = File.basename(dep, '.bundle')+so_ext
278
- sh("install_name_tool -change #{dep_org} @rpath/#{File.basename(dep)} #{extlib}")
279
- end
280
- # add install directory as rpath; first delete rpath ignoring errors, next add the rpath
281
- sh("install_name_tool -delete_rpath #{get_config('siterubyverarch')} #{extlib} >/dev/null 2>&1")
282
- sh("install_name_tool -add_rpath #{get_config('siterubyverarch')} #{extlib}")
283
- end
284
- # dependencies on ACE+TAO libs
285
- inst_dylibs.each do |dylib|
286
- ACE_FILES.each do |dep|
287
- command("install_name_tool -change lib#{dep+so_ext} @rpath/lib#{dep+so_ext} #{dylib}")
288
- end
289
- # add current dir and install dir as rpath entries; first delete rpath ignoring errors, next add the rpath
290
- sh("install_name_tool -delete_rpath . #{dylib} >/dev/null 2>&1")
291
- sh("install_name_tool -add_rpath . #{dylib}")
292
- sh("install_name_tool -delete_rpath #{get_config('aceinstdir')} #{dylib} >/dev/null 2>&1")
293
- sh("install_name_tool -add_rpath #{get_config('aceinstdir')} #{dylib}")
294
- end
295
- elsif !is_win32
296
- # create unversioned ACE+TAO lib symlinks
297
-
298
- ACE_FILES.collect {|dep| File.join(get_config('aceroot'),'lib', 'lib'+dep+'.so')}.each do |lib|
299
- Dir.glob(lib+'.*').each {|verlib| File.symlink(verlib, lib) unless File.exists?(lib)}
300
- end
301
- end
302
- end
303
- end
304
-
305
- end # Ext
306
-
307
- end # R2CORBA
308
-
1
+ #--------------------------------------------------------------------
2
+ # ext.rb - build file
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ require File.join(File.dirname(__FILE__), 'config.rb')
15
+ require File.join(File.dirname(__FILE__), 'ext_r2tao.rb')
16
+
17
+ module R2CORBA
18
+
19
+ module Ext
20
+ ACE_FILES = [
21
+ 'ACE',
22
+ 'TAO',
23
+ 'TAO_TypeCodeFactory',
24
+ 'TAO_IFR_Client',
25
+ 'TAO_DynamicInterface',
26
+ 'TAO_Messaging',
27
+ 'TAO_PI',
28
+ 'TAO_CodecFactory',
29
+ 'TAO_Codeset',
30
+ 'TAO_DynamicAny',
31
+ 'TAO_Valuetype',
32
+ 'TAO_PortableServer',
33
+ 'TAO_AnyTypeCode',
34
+ 'TAO_BiDirGIOP',
35
+ 'TAO_IORTable',
36
+ 'TAO_ImR_Client'
37
+ ]
38
+
39
+ if get_config('with-ssl')
40
+ ACE_FILES << 'ACE_SSL'
41
+ ACE_FILES << 'TAO_Security'
42
+ ACE_FILES << 'TAO_SSLIOP'
43
+ end
44
+
45
+ def self.platform_error
46
+ raise "Unsupported platform: #{RUBY_PLATFORM}."
47
+ end
48
+
49
+ def self.is_win32
50
+ R2CORBA::Config.is_win32
51
+ end
52
+ def self.is_win64
53
+ R2CORBA::Config.is_win64
54
+ end
55
+
56
+ if is_win32
57
+ def self.sys_dlls
58
+ sysdlls = []
59
+ except_dll = R2CORBA::Config.is_win64 ? 'libgcc_s_seh-1.dll' : 'libgcc_s_dw2-1.dll'
60
+ ENV['PATH'].split(';').each do |p|
61
+ if File.exists?(File.join(p, except_dll)) && File.exists?(File.join(p, 'libstdc++-6.dll'))
62
+ sysdlls << File.join(p, except_dll)
63
+ sysdlls << File.join(p, 'libstdc++-6.dll')
64
+ break
65
+ end
66
+ end
67
+ sysdlls
68
+ end
69
+ end
70
+
71
+ def self.so_ext
72
+ if R2CORBA::Config.is_win32
73
+ '.dll'
74
+ elsif R2CORBA::Config.is_osx
75
+ '.dylib'
76
+ else
77
+ '.so'
78
+ end
79
+ end
80
+
81
+ def self.ace_shlibs(so_ext_ = nil, libdir = File.join(get_config('aceroot'), 'lib'))
82
+ so_ext_ ||= self.so_ext
83
+ ACE_FILES.collect { |fn| File.join(libdir, "lib#{fn}#{so_ext_}") }
84
+ end
85
+
86
+ @@osx_name = nil
87
+ if RUBY_PLATFORM =~ /darwin/
88
+ osx_ver_major, osx_ver_minor = (`uname -r`).strip.split('.')[0,2].collect {|n| n.to_i }
89
+ if osx_ver_major == 10
90
+ @@osx_name = case osx_ver_minor
91
+ when 3
92
+ 'panther'
93
+ when 4
94
+ 'tiger'
95
+ when 5
96
+ 'leopard'
97
+ when 6
98
+ 'snowleopard'
99
+ when 7
100
+ 'lion'
101
+ when 8
102
+ 'mountainlion'
103
+ when 9
104
+ 'mavericks'
105
+ when 10
106
+ 'yosemite'
107
+ end
108
+ end
109
+ platform_error unless @@osx_name
110
+ end
111
+ def self.osx_name
112
+ @@osx_name
113
+ end
114
+
115
+ def self.ace_config
116
+ case RUBY_PLATFORM
117
+ when /mingw32/
118
+ %Q{
119
+ #define ACE_DISABLE_WIN32_ERROR_WINDOWS
120
+ #include "ace/config-win32.h"
121
+ }
122
+ when /linux/
123
+ %Q{
124
+ #define ACE_HAS_GETIFADDRS
125
+ #include "ace/config-linux.h"
126
+ }
127
+ when /sparc-solaris/
128
+ %Q{
129
+ #define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
130
+ #include "ace/config-sunos5.10.h"
131
+ #undef ACE_HAS_NEW_NOTHROW
132
+ }
133
+ when /darwin/
134
+ %Q{
135
+ #define ACE_HAS_GETIFADDRS
136
+ #include "ace/config-macosx-#{osx_name}.h"
137
+ }
138
+ else
139
+ platform_error
140
+ end
141
+ end
142
+
143
+ def self.platform_macros
144
+ case RUBY_PLATFORM
145
+ when /mingw32/
146
+ (is_win64 ? %Q{
147
+ TCPU:=generic
148
+ buildbits=64
149
+ } : '') + %Q{
150
+ threads=1
151
+ ssl=#{get_config('with-ssl') ? 1 : 0}
152
+ optimize=1
153
+ debug=#{get_config('with-debug') ? 1 : 0}
154
+ fl_reactor=0
155
+ tk_reactor=0
156
+ boost=0
157
+ no_strict_aliasing=1
158
+ include $(ACE_ROOT)/include/makeinclude/platform_mingw32.GNU
159
+ }
160
+ when /linux/
161
+ %Q{
162
+ versioned_so=1
163
+ threads=1
164
+ ssl=#{get_config('with-ssl') ? 1 : 0}
165
+ optimize=1
166
+ debug=#{get_config('with-debug') ? 1 : 0}
167
+ fl_reactor=0
168
+ tk_reactor=0
169
+ boost=0
170
+ include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
171
+ LDFLAGS += -Wl,-rpath,#{get_config('aceinstdir')}
172
+ }
173
+ when /sparc-solaris/
174
+ %Q{
175
+ threads=1
176
+ ssl=#{get_config('with-ssl') ? 1 : 0}
177
+ inline=0
178
+ optimize=0
179
+ debug=#{get_config('with-debug') ? 1 : 0}
180
+ fl_reactor=0
181
+ tk_reactor=0
182
+ no_hidden_visibility=1
183
+ #{ /^cc/i =~ RB_CONFIG['CC'] ? 'include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU' : 'include $(ACE_ROOT)/include/makeinclude/platform_sunos5_g++.GNU' }
184
+ LDFLAGS += #{RB_CONFIG['SOLIBS']} #{ /^cc/i =~ RB_CONFIG['CC'] ? '-lCrun -lCstd' : ''}
185
+ }
186
+ when /darwin/
187
+ %Q{
188
+ threads=1
189
+ ssl=#{get_config('with-ssl') ? 1 : 0}
190
+ optimize=1
191
+ debug=#{get_config('with-debug') ? 1 : 0}
192
+ fl_reactor=0
193
+ tk_reactor=0
194
+ boost=0
195
+ include $(ACE_ROOT)/include/makeinclude/platform_macosx_#{osx_name}.GNU
196
+ LDFLAGS += -Wl,-headerpad_max_install_names
197
+ FLAGS_C_CC += #{RB_CONFIG['ARCH_FLAG']}
198
+ LDFLAGS += #{RB_CONFIG['ARCH_FLAG']}
199
+ }
200
+ else
201
+ platform_error
202
+ end
203
+ end
204
+
205
+ def self.tao_mwc
206
+ %Q{
207
+ workspace {
208
+ $(ACE_ROOT)/ace
209
+ $(ACE_ROOT)/apps/gperf/src
210
+ $(TAO_ROOT)/TAO_IDL
211
+ $(TAO_ROOT)/tao
212
+ #{get_config('with-ssl') ? '$(TAO_ROOT)/orbsvcs/orbsvcs/Security.mpc' : ''}
213
+ #{get_config('with-ssl') ? '$(TAO_ROOT)/orbsvcs/orbsvcs/SSLIOP.mpc' : ''}
214
+ exclude {
215
+ bin
216
+ docs
217
+ etc
218
+ html
219
+ include
220
+ lib
221
+ m4
222
+ man
223
+ contrib
224
+ netsvcs
225
+ websvcs
226
+ protocols
227
+ tests
228
+ performance-tests
229
+ examples
230
+ Kokyu
231
+ ASNMP
232
+ ACEXML
233
+ }
234
+ }
235
+ }
236
+ end
237
+
238
+ def self.default_features
239
+ %Q{
240
+ fl_reactor=0
241
+ tk_reactor=1
242
+ qos=0
243
+ ssl=#{get_config('with-ssl') ? 1 : 0}
244
+ ipv6=#{get_config('with-ipv6') ? 1 : 0}
245
+ }
246
+ end
247
+
248
+ def self.ace_config_path
249
+ File.join(get_config('aceroot'),'ace','config.h')
250
+ end
251
+
252
+ def self.platform_macros_path
253
+ File.join(get_config('aceroot'),'include','makeinclude','platform_macros.GNU')
254
+ end
255
+
256
+ def self.default_features_path
257
+ File.join(get_config('aceroot'),'bin','MakeProjectCreator','config','default.features')
258
+ end
259
+
260
+ def self.tao_mwc_path
261
+ File.join(get_config('aceroot'),'TAO4Ruby.mwc')
262
+ end
263
+
264
+ def self.tao_makefile
265
+ File.join(get_config('aceroot'),'GNUmakefile')
266
+ end
267
+
268
+ def self.ext_makefile
269
+ File.join('ext', 'GNUmakefile')
270
+ end
271
+
272
+ def self.post_build
273
+ # Do we handle ACE+TAO here?
274
+ if get_config('without-tao')
275
+ if R2CORBA::Config.is_osx
276
+ # configure dynamic library dependencies for Mac OSX
277
+ so_ext = '.dylib'
278
+
279
+ inst_extlibs = Dir.glob(File.join('ext', '*.bundle'))
280
+ inst_dylibs = inst_extlibs + ACE_FILES.collect {|dep| File.join(get_config('aceroot'),'lib', 'lib'+dep+so_ext)}
281
+ # cross dependencies of ext dynamic libs on each other
282
+ # make sure they refer to *.bundle NOT *.dylib
283
+ inst_extlibs.each do |extlib|
284
+ inst_extlibs.each do |dep|
285
+ dep_org = File.basename(dep, '.bundle')+so_ext
286
+ sh("install_name_tool -change #{dep_org} @rpath/#{File.basename(dep)} #{extlib}")
287
+ end
288
+ # add install directory as rpath; first delete rpath ignoring errors, next add the rpath
289
+ sh("install_name_tool -delete_rpath #{get_config('siterubyverarch')} #{extlib} >/dev/null 2>&1")
290
+ sh("install_name_tool -add_rpath #{get_config('siterubyverarch')} #{extlib}")
291
+ end
292
+ # dependencies on ACE+TAO libs
293
+ inst_dylibs.each do |dylib|
294
+ ACE_FILES.each do |dep|
295
+ command("install_name_tool -change lib#{dep+so_ext} @rpath/lib#{dep+so_ext} #{dylib}")
296
+ end
297
+ # add current dir and install dir as rpath entries; first delete rpath ignoring errors, next add the rpath
298
+ sh("install_name_tool -delete_rpath . #{dylib} >/dev/null 2>&1")
299
+ sh("install_name_tool -add_rpath . #{dylib}")
300
+ sh("install_name_tool -delete_rpath #{get_config('aceinstdir')} #{dylib} >/dev/null 2>&1")
301
+ sh("install_name_tool -add_rpath #{get_config('aceinstdir')} #{dylib}")
302
+ end
303
+ elsif !is_win32
304
+ # create unversioned ACE+TAO lib symlinks
305
+
306
+ ACE_FILES.collect {|dep| File.join(get_config('aceroot'),'lib', 'lib'+dep+'.so')}.each do |lib|
307
+ Dir.glob(lib+'.*').each {|verlib| File.symlink(verlib, lib) unless File.exists?(lib)}
308
+ end
309
+ end
310
+ end
311
+ end
312
+
313
+ end # Ext
314
+
315
+ end # R2CORBA
316
+