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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+