r2corba 1.4.1

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 -0
  2. data/CHANGES +159 -0
  3. data/LICENSE +59 -0
  4. data/README +62 -0
  5. data/THANKS +52 -0
  6. data/bin/r2corba +8 -0
  7. data/bin/ridlc +11 -0
  8. data/bin/rins +7 -0
  9. data/ext/ext.mwc +6 -0
  10. data/ext/extload/extload.c +60 -0
  11. data/ext/libr2tao/any.cpp +1543 -0
  12. data/ext/libr2tao/exception.cpp +202 -0
  13. data/ext/libr2tao/exception.h +104 -0
  14. data/ext/libr2tao/longdouble.cpp +173 -0
  15. data/ext/libr2tao/longdouble.h +31 -0
  16. data/ext/libr2tao/object.cpp +1150 -0
  17. data/ext/libr2tao/object.h +38 -0
  18. data/ext/libr2tao/orb.cpp +1029 -0
  19. data/ext/libr2tao/orb.h +36 -0
  20. data/ext/libr2tao/r2tao_export.h +45 -0
  21. data/ext/libr2tao/r2tao_ext.h +38 -0
  22. data/ext/libr2tao/required.cpp +463 -0
  23. data/ext/libr2tao/required.h +187 -0
  24. data/ext/libr2tao/typecode.cpp +888 -0
  25. data/ext/libr2tao/typecode.h +45 -0
  26. data/ext/libr2tao/values.cpp +2938 -0
  27. data/ext/libr2tao/values.h +396 -0
  28. data/ext/librpoa/iortable.cpp +250 -0
  29. data/ext/librpoa/poa.cpp +1076 -0
  30. data/ext/librpoa/poa.h +24 -0
  31. data/ext/librpoa/rpoa_export.h +44 -0
  32. data/ext/librpoa/servant.cpp +1338 -0
  33. data/ext/librpoa/servant.h +116 -0
  34. data/ext/librpoa/srvreq_fix.cpp +283 -0
  35. data/ext/librpoa/srvreq_fix.h +149 -0
  36. data/ext/librpol/policies.cpp +763 -0
  37. data/ext/librpol/policies.h +15 -0
  38. data/ext/librpol/rpol_export.h +44 -0
  39. data/lib/corba/cbase/IORMap.rb +33 -0
  40. data/lib/corba/cbase/ORB.rb +231 -0
  41. data/lib/corba/cbase/Request.rb +134 -0
  42. data/lib/corba/cbase/Streams.rb +129 -0
  43. data/lib/corba/cbase/Stub.rb +19 -0
  44. data/lib/corba/cbase/Typecode.rb +441 -0
  45. data/lib/corba/cbase/Values.rb +129 -0
  46. data/lib/corba/cbase/exception.rb +66 -0
  47. data/lib/corba/cbase/poa.rb +23 -0
  48. data/lib/corba/cbase/policies.rb +78 -0
  49. data/lib/corba/cbase/post_require.rb +14 -0
  50. data/lib/corba/cbase/require.rb +28 -0
  51. data/lib/corba/cmds/base.rb +85 -0
  52. data/lib/corba/cmds/test.rb +30 -0
  53. data/lib/corba/common/Any.rb +91 -0
  54. data/lib/corba/common/IDL.rb +104 -0
  55. data/lib/corba/common/ORB.rb +368 -0
  56. data/lib/corba/common/Object.rb +208 -0
  57. data/lib/corba/common/Request.rb +20 -0
  58. data/lib/corba/common/Servant.rb +108 -0
  59. data/lib/corba/common/Struct.rb +22 -0
  60. data/lib/corba/common/Stub.rb +79 -0
  61. data/lib/corba/common/Typecode.rb +1121 -0
  62. data/lib/corba/common/Union.rb +56 -0
  63. data/lib/corba/common/Values.rb +92 -0
  64. data/lib/corba/common/const.rb +22 -0
  65. data/lib/corba/common/exception.rb +68 -0
  66. data/lib/corba/common/require.rb +27 -0
  67. data/lib/corba/common/version.rb +22 -0
  68. data/lib/corba/idl/IDL.rb +21 -0
  69. data/lib/corba/idl/IORTable.pidl +62 -0
  70. data/lib/corba/idl/TAO_Ext.pidl +46 -0
  71. data/lib/corba/idl/require.rb +20 -0
  72. data/lib/corba/jbase/Any.rb +273 -0
  73. data/lib/corba/jbase/IORMap.rb +36 -0
  74. data/lib/corba/jbase/ORB.rb +99 -0
  75. data/lib/corba/jbase/Object.rb +98 -0
  76. data/lib/corba/jbase/Request.rb +226 -0
  77. data/lib/corba/jbase/Servant.rb +247 -0
  78. data/lib/corba/jbase/ServerRequest.rb +128 -0
  79. data/lib/corba/jbase/Streams.rb +671 -0
  80. data/lib/corba/jbase/Stub.rb +38 -0
  81. data/lib/corba/jbase/Typecode.rb +520 -0
  82. data/lib/corba/jbase/Values.rb +173 -0
  83. data/lib/corba/jbase/exception.rb +106 -0
  84. data/lib/corba/jbase/poa.rb +229 -0
  85. data/lib/corba/jbase/policies.rb +300 -0
  86. data/lib/corba/jbase/post_require.rb +14 -0
  87. data/lib/corba/jbase/require.rb +86 -0
  88. data/lib/corba/naming.rb +14 -0
  89. data/lib/corba/naming_service.rb +15 -0
  90. data/lib/corba/poa.rb +15 -0
  91. data/lib/corba/policies.rb +18 -0
  92. data/lib/corba/require.rb +17 -0
  93. data/lib/corba/svcs/ins/cos_naming.rb +426 -0
  94. data/lib/corba/svcs/ins/ins.rb +526 -0
  95. data/lib/corba/svcs/ins/naming_service.rb +119 -0
  96. data/lib/corba.rb +16 -0
  97. data/lib/ridlbe/ruby/config.rb +336 -0
  98. data/lib/ridlbe/ruby/require.rb +16 -0
  99. data/lib/ridlbe/ruby/walker.rb +1582 -0
  100. data/mkrf_conf_srcgem.rb +186 -0
  101. data/rakelib/bin.rake +80 -0
  102. data/rakelib/bin.rb +146 -0
  103. data/rakelib/build.rake +87 -0
  104. data/rakelib/config.rake +52 -0
  105. data/rakelib/config.rb +450 -0
  106. data/rakelib/ext.rake +242 -0
  107. data/rakelib/ext.rb +308 -0
  108. data/rakelib/ext_r2tao.rb +232 -0
  109. data/rakelib/gem.rake +212 -0
  110. data/rakelib/gem.rb +146 -0
  111. data/rakelib/package.rake +26 -0
  112. data/rakelib/test.rake +23 -0
  113. data/test/BiDirectional/Test.idl +34 -0
  114. data/test/BiDirectional/client.rb +132 -0
  115. data/test/BiDirectional/run_test.rb +68 -0
  116. data/test/BiDirectional/server.rb +169 -0
  117. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
  118. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
  119. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
  120. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
  121. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
  122. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
  123. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
  124. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
  125. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
  126. data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
  127. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
  128. data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
  129. data/test/Collocation/Diamond.idl +39 -0
  130. data/test/Collocation/run_test.rb +52 -0
  131. data/test/Collocation/test.rb +195 -0
  132. data/test/Connect_Timeout/Test.idl +27 -0
  133. data/test/Connect_Timeout/client.rb +111 -0
  134. data/test/Connect_Timeout/run_test.rb +52 -0
  135. data/test/DII/Test.idl +27 -0
  136. data/test/DII/client.rb +115 -0
  137. data/test/DII/run_test.rb +69 -0
  138. data/test/DII/server.rb +95 -0
  139. data/test/DSI/Test.idl +27 -0
  140. data/test/DSI/client.rb +66 -0
  141. data/test/DSI/run_test.rb +69 -0
  142. data/test/DSI/server.rb +106 -0
  143. data/test/Exceptions/Test.idl +48 -0
  144. data/test/Exceptions/client.rb +118 -0
  145. data/test/Exceptions/run_test.rb +69 -0
  146. data/test/Exceptions/server.rb +131 -0
  147. data/test/Hello/Test.idl +27 -0
  148. data/test/Hello/client.rb +78 -0
  149. data/test/Hello/run_test.rb +71 -0
  150. data/test/Hello/server.rb +95 -0
  151. data/test/IDL_Test/Test.idl +113 -0
  152. data/test/IDL_Test/Test_inc.idl +17 -0
  153. data/test/IDL_Test/client.rb +102 -0
  154. data/test/IDL_Test/run_test.rb +69 -0
  155. data/test/IDL_Test/server.rb +99 -0
  156. data/test/IORMap/Test.idl +27 -0
  157. data/test/IORMap/client.rb +73 -0
  158. data/test/IORMap/run_test.rb +69 -0
  159. data/test/IORMap/server.rb +114 -0
  160. data/test/IORTable/Test.idl +27 -0
  161. data/test/IORTable/client.rb +75 -0
  162. data/test/IORTable/run_test.rb +69 -0
  163. data/test/IORTable/server.rb +130 -0
  164. data/test/Implicit_Conversion/Test.idl +31 -0
  165. data/test/Implicit_Conversion/client.rb +110 -0
  166. data/test/Implicit_Conversion/run_test.rb +69 -0
  167. data/test/Implicit_Conversion/server.rb +99 -0
  168. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
  169. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
  170. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
  171. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
  172. data/test/Multi_Threading/Simple/Test.idl +27 -0
  173. data/test/Multi_Threading/Simple/client.rb +88 -0
  174. data/test/Multi_Threading/Simple/run_test.rb +69 -0
  175. data/test/Multi_Threading/Simple/server.rb +118 -0
  176. data/test/Multi_Threading/Threads/Test.idl +31 -0
  177. data/test/Multi_Threading/Threads/client.rb +80 -0
  178. data/test/Multi_Threading/Threads/run_test.rb +76 -0
  179. data/test/Multi_Threading/Threads/server.rb +119 -0
  180. data/test/Multi_Threading/Threads/watchdog.rb +87 -0
  181. data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
  182. data/test/Multiple_Servant_Interfaces/client.rb +70 -0
  183. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
  184. data/test/Multiple_Servant_Interfaces/server.rb +102 -0
  185. data/test/Nil/Test.idl +27 -0
  186. data/test/Nil/run_test.rb +52 -0
  187. data/test/Nil/test.rb +78 -0
  188. data/test/OBV/AbstractInterface/client.rb +179 -0
  189. data/test/OBV/AbstractInterface/run_test.rb +69 -0
  190. data/test/OBV/AbstractInterface/server.rb +149 -0
  191. data/test/OBV/AbstractInterface/test.idl +53 -0
  192. data/test/OBV/Custom/OBV.idl +18 -0
  193. data/test/OBV/Custom/OBV_impl.rb +40 -0
  194. data/test/OBV/Custom/client.rb +86 -0
  195. data/test/OBV/Custom/run_test.rb +69 -0
  196. data/test/OBV/Custom/server.rb +100 -0
  197. data/test/OBV/Simple/OBV.idl +15 -0
  198. data/test/OBV/Simple/OBV_impl.rb +26 -0
  199. data/test/OBV/Simple/client.rb +86 -0
  200. data/test/OBV/Simple/run_test.rb +69 -0
  201. data/test/OBV/Simple/server.rb +100 -0
  202. data/test/OBV/Simple_Event/Event.idl +15 -0
  203. data/test/OBV/Simple_Event/Event_impl.rb +26 -0
  204. data/test/OBV/Simple_Event/client.rb +86 -0
  205. data/test/OBV/Simple_Event/run_test.rb +69 -0
  206. data/test/OBV/Simple_Event/server.rb +100 -0
  207. data/test/OBV/Supports/client.rb +116 -0
  208. data/test/OBV/Supports/run_test.rb +69 -0
  209. data/test/OBV/Supports/server.rb +103 -0
  210. data/test/OBV/Supports/supports.idl +33 -0
  211. data/test/OBV/Supports/supports_impl.rb +57 -0
  212. data/test/OBV/Tree/client.rb +116 -0
  213. data/test/OBV/Tree/run_test.rb +69 -0
  214. data/test/OBV/Tree/server.rb +117 -0
  215. data/test/OBV/Tree/test.idl +32 -0
  216. data/test/OBV/Truncatable/Extra.idl +27 -0
  217. data/test/OBV/Truncatable/Truncatable.idl +105 -0
  218. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
  219. data/test/OBV/Truncatable/client.rb +279 -0
  220. data/test/OBV/Truncatable/run_test.rb +69 -0
  221. data/test/OBV/Truncatable/server.rb +89 -0
  222. data/test/OBV/ValueBox/client.rb +497 -0
  223. data/test/OBV/ValueBox/run_test.rb +69 -0
  224. data/test/OBV/ValueBox/server.rb +271 -0
  225. data/test/OBV/ValueBox/valuebox.idl +101 -0
  226. data/test/OBV/ValueBox/vb_basic.idl +75 -0
  227. data/test/OBV/ValueBox/vb_struct.idl +68 -0
  228. data/test/OBV/ValueBox/vb_union.idl +21 -0
  229. data/test/Object/Test.idl +27 -0
  230. data/test/Object/client.rb +103 -0
  231. data/test/Object/run_test.rb +69 -0
  232. data/test/Object/server.rb +126 -0
  233. data/test/POA/Test.idl +27 -0
  234. data/test/POA/run_test.rb +52 -0
  235. data/test/POA/test.rb +112 -0
  236. data/test/Param_Test/Test.idl +182 -0
  237. data/test/Param_Test/client.rb +277 -0
  238. data/test/Param_Test/run_test.rb +69 -0
  239. data/test/Param_Test/server.rb +296 -0
  240. data/test/Performance/Simple/Test.idl +27 -0
  241. data/test/Performance/Simple/client.rb +90 -0
  242. data/test/Performance/Simple/run_test.rb +69 -0
  243. data/test/Performance/Simple/server.rb +95 -0
  244. data/test/Policies/Test.idl +27 -0
  245. data/test/Policies/run_test.rb +52 -0
  246. data/test/Policies/test.rb +144 -0
  247. data/test/Timeout/client.rb +207 -0
  248. data/test/Timeout/run_test.rb +69 -0
  249. data/test/Timeout/server.rb +109 -0
  250. data/test/Timeout/test.idl +19 -0
  251. data/test/lib/assert.rb +43 -0
  252. data/test/lib/test.rb +542 -0
  253. data/test/test_runner.rb +193 -0
  254. metadata +334 -0
@@ -0,0 +1,186 @@
1
+ #--------------------------------------------------------------------
2
+ # mkrf_conf_srcgem.rb - Rakefile generator src gem installation
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
+ # generate Rakefile with appropriate default task (all actual task in rakelib)
15
+ File.open('Rakefile', 'w') do |f|
16
+ f.puts <<EOF__
17
+ #--------------------------------------------------------------------
18
+ # Rakefile - build file for srcgem installation
19
+ #
20
+ # Author: Martin Corino
21
+ #
22
+ # This program is free software; you can redistribute it and/or
23
+ # modify it under the terms of the R2CORBA LICENSE which is
24
+ # included with this program.
25
+ #
26
+ # Copyright (c) Remedy IT Expertise BV
27
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
28
+ #--------------------------------------------------------------------
29
+
30
+ task :default => 'r2corba:gem:srcbuild'
31
+ EOF__
32
+ end
33
+
34
+ require 'optparse'
35
+
36
+ if defined?(JRUBY_VERSION)
37
+
38
+ usage_text =<<-__EOT
39
+ Make sure you have provided a JACORB_HOME definition pointing at a valid JacORB installation
40
+ with all required .jar files located at JACORB_HOME\lib. You can do this either by setting
41
+ the JACORB_HOME environment variable or by providing the --jacorb-home buildflag to the
42
+ 'gem install' command.
43
+ Checkout the documentation at http://osportal.remedy.nl/projects/r2corba
44
+ for more information.
45
+ __EOT
46
+
47
+ jacorb_home = ENV['JACORB_HOME']
48
+
49
+ opts = OptionParser.new
50
+ opts.on('--jacorb-home=path',
51
+ 'the path to the root directory of JacORB') {|v| jacorb_home = v}
52
+ opts.parse!(ARGV)
53
+
54
+ # check for proper JacORB installation
55
+ if jacorb_home
56
+ jar_files = Dir.glob(File.join(jacorb_home, 'lib', 'jacorb.jar'))+
57
+ Dir.glob(File.join(jacorb_home, 'lib', 'jacorb-services.jar')) +
58
+ Dir.glob(File.join(jacorb_home, 'lib', 'slf4j*.jar')) +
59
+ Dir.glob(File.join(jacorb_home, 'lib', 'antlr*.jar'))
60
+ if jar_files.size == 5
61
+ # run configure with appropriate settings
62
+ puts "Valid JacORB installation found.\n"+
63
+ "Running 'ruby -S rake -- configure --without-jacorb --jacorb-home=#{jacorb_home}'"
64
+ unless system("ruby -S rake -- configure --without-jacorb --jacorb-home=#{jacorb_home}")
65
+ puts 'Failed to configure R2CORBA'
66
+ exit(1)
67
+ end
68
+ exit(0)
69
+ end
70
+ puts 'JACORB_HOME defined but cannot find a valid JacORB installation.'
71
+ puts usage_text
72
+ exit(1)
73
+ end
74
+ puts 'No JACORB_HOME defined. Missing JacORB installation.'
75
+ puts usage_text
76
+ exit(1)
77
+
78
+ else
79
+
80
+ require 'rbconfig'
81
+ if defined? ::RbConfig
82
+ RB_CONFIG = ::RbConfig
83
+ else
84
+ RB_CONFIG = ::Config
85
+ end unless defined? RB_CONFIG
86
+ RB_CONFIG::MAKEFILE_CONFIG['TRY_LINK'] = "$(CXX) #{RB_CONFIG::MAKEFILE_CONFIG['OUTFLAG']}conftest#{$EXEEXT} $(INCFLAGS) $(CPPFLAGS) " \
87
+ "$(CFLAGS) $(src) $(LIBPATH) $(LDFLAGS) $(ARCH_FLAG) $(LOCAL_LIBS) $(LIBS)"
88
+ require 'mkmf'
89
+ if defined?(MakeMakefile)
90
+ MakeMakefile::COMMON_HEADERS.clear
91
+ elsif defined?(COMMON_HEADERS)
92
+ COMMON_HEADERS.slice!(/./)
93
+ end
94
+
95
+ usage_txt =<<-__EOT
96
+ Please define a valid ACE/TAO build environment either by defining the ACE_ROOT and (optionally)
97
+ the TAO_ROOT (defaults to ACE_ROOT/TAO) and MPC_ROOT (defaults to ACE_ROOT/MPC) environment
98
+ variabled OR by providing the --aceroot and (optionally) --taoroot and --mpcroot build flags to
99
+ the 'gem install' command.
100
+ Alternatively you can have the r2corba gem install the taosource gem for you and use that for
101
+ the ACE/TAO build environment by *not* providing the --without-taogem build flag to the 'gem install'
102
+ command.
103
+ Checkout the documentation at http://osportal.remedy.nl/projects/r2corba for more information.
104
+ __EOT
105
+
106
+ install_taosource_gem = true
107
+ ace_root = ENV['ACE_ROOT']
108
+ tao_root = ENV['TAO_ROOT']
109
+ mpc_root = ENV['MPC_ROOT']
110
+
111
+ opts = OptionParser.new
112
+ opts.on('--aceroot=path',
113
+ 'the path to the root directory of ACE') {|v| ace_root = v}
114
+ opts.on('--taoroot=path',
115
+ 'the path to the root directory of TAO') {|v| tao_root = v}
116
+ opts.on('--mpcroot=path',
117
+ 'the path to the root directory of MPC') {|v| mpc_root = v}
118
+ opts.on('--without-taogem',
119
+ 'do not use the taosource gem') {|v| install_taosource_gem = false }
120
+ opts.parse!(ARGV)
121
+
122
+ # Check if we should use the taogem to install a private ACE/TAO version?
123
+ if install_taosource_gem
124
+
125
+ # install taosource gem as a dependent gem
126
+ require 'rubygems'
127
+ require 'rubygems/command.rb'
128
+ require 'rubygems/dependency_installer.rb'
129
+ begin
130
+ Gem::Command.build_args = ARGV
131
+ rescue NoMethodError
132
+ end
133
+ Gem.sources << ENV['R2CORBA_GEM_SOURCE'] unless ENV['R2CORBA_GEM_SOURCE'].to_s.empty?
134
+ puts "Gem sources: #{Gem.sources.to_a}"
135
+ inst = Gem::DependencyInstaller.new
136
+ begin
137
+ inst.install "taosource", ">= 6.1.8"
138
+ rescue
139
+ $stderr.puts 'Failed to install taosource gem.'
140
+ exit(1)
141
+ end
142
+
143
+ # initialize root paths by loading this
144
+ require 'taosource/rootpaths'
145
+ ext_dir = File.expand_path('ext')
146
+ # run configure with appropriate settings
147
+ puts "Running 'rake -- configure --aceroot=#{ENV['ACE_ROOT']} --taoroot=#{ENV['TAO_ROOT']} --mpcroot=#{ENV['MPC_ROOT']} --aceinstdir=#{ext_dir}'"
148
+ unless system("rake -- configure --aceroot=#{ENV['ACE_ROOT']} --taoroot=#{ENV['TAO_ROOT']} --mpcroot=#{ENV['MPC_ROOT']} --aceinstdir=#{ext_dir}")
149
+ $stderr.puts 'Failed to configure R2CORBA'
150
+ exit(1)
151
+ end
152
+
153
+ elsif ace_root # OR is there an ACE/TAO version installed which we should reuse?
154
+
155
+ # check for a valid MPC environment
156
+ mpc_root ||= File.join(ace_root, 'MPC')
157
+ unless mpc_root && File.directory?(mpc_root) && File.file?(File.join(ace_root, 'bin', 'mwc.pl'))
158
+ puts 'ACE_ROOT defined but cannot find a valid MPC environment!'
159
+ puts usage_txt
160
+ exit(1)
161
+ end
162
+
163
+ # check for valid TAO dev environment
164
+ tao_root ||= File.join(ace_root, 'TAO')
165
+ unless have_library('TAO', 'int a=0; CORBA::ORB_init(a, 0)', ['tao/corba.h'], "-x c++ -I#{ace_root} -I#{tao_root} -L#{File.join(ace_root, 'lib')} -lACE")
166
+ puts 'ACE_ROOT defined but cannot link TAO libary!'
167
+ puts usage_txt
168
+ exit(1)
169
+ end
170
+
171
+ # run configure with appropriate settings
172
+ puts "Running 'rake -- configure --without-tao --aceroot=#{ace_root} --taoroot=#{tao_root} --mpcroot=#{mpc_root}'"
173
+ unless system("rake -- configure --without-tao --aceroot=#{ace_root} --taoroot=#{tao_root} --mpcroot=#{mpc_root}")
174
+ puts 'Failed to configure R2CORBA'
175
+ exit(1)
176
+ end
177
+
178
+ else
179
+
180
+ puts 'Missing ACE/TAO build environment.'
181
+ puts usage_txt
182
+ exit(1)
183
+
184
+ end
185
+
186
+ end
data/rakelib/bin.rake ADDED
@@ -0,0 +1,80 @@
1
+ #--------------------------------------------------------------------
2
+ # bin.rake - 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__), 'bin.rb')
15
+
16
+ directory 'bin'
17
+
18
+ file File.join('bin', 'ridlc') => ['bin'] do |t|
19
+ File.open(t.name, 'w') { |f| f.puts R2CORBA::Bin.ridlc }
20
+ File.chmod(0755, t.name)
21
+ end
22
+
23
+ CLOBBER.include File.join('bin', 'ridlc')
24
+
25
+ file File.join('bin', 'rins') => ['bin'] do |t|
26
+ File.open(t.name, 'w') { |f| f.puts R2CORBA::Bin.rins }
27
+ File.chmod(0755, t.name)
28
+ end
29
+
30
+ CLOBBER.include File.join('bin', 'rins')
31
+
32
+ file File.join('bin', 'r2corba') => ['bin'] do |t|
33
+ File.open(t.name, 'w') { |f| f.puts R2CORBA::Bin.r2corba }
34
+ File.chmod(0755, t.name)
35
+ end
36
+
37
+ CLOBBER.include File.join('bin', 'r2corba')
38
+
39
+ namespace :r2corba do
40
+ #desc 'Generate R2CORBA executor scripts'
41
+ namespace :bin do
42
+ task :build => ['r2corba:bin:check', 'r2corba:bin:files']
43
+
44
+ task :check do
45
+ R2CORBA::Bin.binaries.each do |bin|
46
+ if File.exists?(File.join('bin', bin))
47
+ content = IO.read(File.join('bin', bin))
48
+ rm_f(File.join('bin', bin)) unless content == R2CORBA::Bin.__send__(bin.gsub('.','_').to_sym)
49
+ end
50
+ end
51
+ end
52
+
53
+ task :files => [File.join('bin', 'ridlc'), File.join('bin', 'rins'), File.join('bin', 'r2corba')]
54
+ end
55
+ end
56
+
57
+ if R2CORBA::Config.is_win32 || defined?(JRUBY_VERSION)
58
+
59
+ file File.join('bin', 'ridlc.bat') => ['bin'] do |t|
60
+ File.open(t.name, 'w') { |f| f.puts R2CORBA::Bin.ridlc_bat }
61
+ end
62
+ Rake::Task['r2corba:bin:files'].enhance [File.join('bin', 'ridlc.bat')]
63
+
64
+ CLOBBER.include File.join('bin', 'ridlc.bat')
65
+
66
+ file File.join('bin', 'rins.bat') => ['bin'] do |t|
67
+ File.open(t.name, 'w') { |f| f.puts R2CORBA::Bin.rins_bat }
68
+ end
69
+ Rake::Task['r2corba:bin:files'].enhance [File.join('bin', 'rins.bat')]
70
+
71
+ CLOBBER.include File.join('bin', 'rins.bat')
72
+
73
+ file File.join('bin', 'r2corba.bat') => ['bin'] do |t|
74
+ File.open(t.name, 'w') { |f| f.puts R2CORBA::Bin.r2corba_bat }
75
+ end
76
+ Rake::Task['r2corba:bin:files'].enhance [File.join('bin', 'r2corba.bat')]
77
+
78
+ CLOBBER.include File.join('bin', 'r2corba.bat')
79
+
80
+ end
data/rakelib/bin.rb ADDED
@@ -0,0 +1,146 @@
1
+ #--------------------------------------------------------------------
2
+ # bin.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
+
16
+ module R2CORBA
17
+
18
+ module Bin
19
+
20
+ def self.ridlc
21
+ <<_SH_TXT
22
+ #!#{(`which env`).strip} #{R2CORBA::RB_CONFIG['ruby_install_name']}
23
+ #---------------------------------
24
+ # This file is generated
25
+ #---------------------------------
26
+ ENV['RIDL_BE_SELECT'] = 'ruby'
27
+ unless defined? Gem
28
+ require 'rubygems' rescue nil
29
+ end
30
+ require 'ridl/ridl'
31
+
32
+ IDL.run
33
+ _SH_TXT
34
+ end
35
+
36
+ def self.ridlc_bat
37
+ <<_BAT_TXT
38
+ @echo off
39
+ if not "%~f0" == "~f0" goto WinNT
40
+ #{R2CORBA::RB_CONFIG['ruby_install_name']} -Sx "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
41
+ goto endofruby
42
+ :WinNT
43
+ if not exist "%~d0%~p0#{R2CORBA::RB_CONFIG['ruby_install_name']}" goto rubyfrompath
44
+ if exist "%~d0%~p0#{R2CORBA::RB_CONFIG['ruby_install_name']}" "%~d0%~p0#{R2CORBA::RB_CONFIG['ruby_install_name']}" -x "%~f0" %*
45
+ goto endofruby
46
+ :rubyfrompath
47
+ #{R2CORBA::RB_CONFIG['ruby_install_name']} -x "%~f0" %*
48
+ goto endofruby
49
+ #!/bin/#{R2CORBA::RB_CONFIG['ruby_install_name']}
50
+ #
51
+ ENV['RIDL_BE_SELECT'] = 'ruby'
52
+ unless defined? Gem
53
+ require 'rubygems' rescue nil
54
+ end
55
+ require 'ridl/ridl'
56
+
57
+ IDL.run
58
+
59
+ __END__
60
+ :endofruby
61
+ _BAT_TXT
62
+ end
63
+
64
+ def self.rins_bat
65
+ <<_BAT_TXT
66
+ @echo off
67
+ if not "%~f0" == "~f0" goto WinNT
68
+ #{R2CORBA::RB_CONFIG['ruby_install_name']} -Sx "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
69
+ goto endofruby
70
+ :WinNT
71
+ if not exist "%~d0%~p0#{R2CORBA::RB_CONFIG['ruby_install_name']}" goto rubyfrompath
72
+ if exist "%~d0%~p0#{R2CORBA::RB_CONFIG['ruby_install_name']}" "%~d0%~p0#{R2CORBA::RB_CONFIG['ruby_install_name']}" -x "%~f0" %*
73
+ goto endofruby
74
+ :rubyfrompath
75
+ #{R2CORBA::RB_CONFIG['ruby_install_name']} -x "%~f0" %*
76
+ goto endofruby
77
+ #!/bin/#{R2CORBA::RB_CONFIG['ruby_install_name']}
78
+ #
79
+ require 'corba/svcs/ins/ins'
80
+
81
+ INS.run
82
+
83
+ __END__
84
+ :endofruby
85
+ _BAT_TXT
86
+ end
87
+
88
+ def self.rins
89
+ <<_SH_TXT
90
+ #!#{(`which env`).strip} #{R2CORBA::RB_CONFIG['ruby_install_name']}
91
+ #---------------------------------
92
+ # This file is generated
93
+ #---------------------------------
94
+ require 'corba/svcs/ins/ins'
95
+
96
+ INS.run
97
+ _SH_TXT
98
+ end
99
+
100
+ def self.r2corba
101
+ <<_SH_TXT
102
+ #!#{(`which env`).strip} #{R2CORBA::RB_CONFIG['ruby_install_name']}
103
+ #---------------------------------
104
+ # This file is generated
105
+ #---------------------------------
106
+ unless defined? Gem
107
+ require 'rubygems' rescue nil
108
+ end
109
+ require 'corba/cmds/base'
110
+ _SH_TXT
111
+ end
112
+
113
+ def self.r2corba_bat
114
+ <<_BAT_TXT
115
+ @echo off
116
+ if not "%~f0" == "~f0" goto WinNT
117
+ #{R2CORBA::RB_CONFIG['ruby_install_name']} -Sx "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
118
+ goto endofruby
119
+ :WinNT
120
+ if not exist "%~d0%~p0#{R2CORBA::RB_CONFIG['ruby_install_name']}" goto rubyfrompath
121
+ if exist "%~d0%~p0#{R2CORBA::RB_CONFIG['ruby_install_name']}" "%~d0%~p0#{R2CORBA::RB_CONFIG['ruby_install_name']}" -x "%~f0" %*
122
+ goto endofruby
123
+ :rubyfrompath
124
+ #{R2CORBA::RB_CONFIG['ruby_install_name']} -x "%~f0" %*
125
+ goto endofruby
126
+ #!/bin/#{R2CORBA::RB_CONFIG['ruby_install_name']}
127
+ #
128
+ unless defined? Gem
129
+ require 'rubygems' rescue nil
130
+ end
131
+ require 'corba/cmds/base'
132
+
133
+ __END__
134
+ :endofruby
135
+ _BAT_TXT
136
+ end
137
+
138
+ def self.binaries
139
+ l = %w{ridlc rins r2corba}
140
+ l.concat %w{ridlc.bat rins.bat r2corba.bat} if R2CORBA::Config.is_win32 || defined?(JRUBY_VERSION)
141
+ l
142
+ end
143
+
144
+ end # Bin
145
+
146
+ end # R2CORBA
@@ -0,0 +1,87 @@
1
+ #--------------------------------------------------------------------
2
+ # build.rake - 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
+
16
+ namespace :r2corba do
17
+ task :build_bin => [R2CORBA::BUILD_CFG]
18
+
19
+ #desc 'Compile R2CORBA base IDL files'
20
+ task :build_idl => [R2CORBA::BUILD_CFG]
21
+
22
+ task :build => [R2CORBA::BUILD_CFG] # everything handled in dependecies
23
+ end
24
+
25
+ unless defined?(JRUBY_VERSION)
26
+ Rake::Task['r2corba:build'].enhance ['r2corba:ext:build']
27
+ end
28
+ Rake::Task['r2corba:build'].enhance ['r2corba:bin:build', 'r2corba:build_idl']
29
+
30
+ desc 'Build R2CORBA'
31
+ task :build => 'r2corba:build'
32
+
33
+ ## compile base IDL
34
+
35
+ r2c_idlc_root = File.join('lib','corba','idl')
36
+
37
+ orb_pidlc = File.join('lib', 'ridlbe','ruby','orb.pidlc')
38
+ file orb_pidlc => [R2CORBA::BUILD_CFG] do |t|
39
+ sh("#{R2CORBA::Config.ridlc} --preprocess --output #{t.name} --stdidl orb.idl")
40
+ end
41
+ Rake::Task['r2corba:build_idl'].enhance [orb_pidlc]
42
+ CLOBBER.include orb_pidlc
43
+
44
+ file File.join(r2c_idlc_root,'r2c_orb.rb') => [R2CORBA::BUILD_CFG, orb_pidlc] do |t|
45
+ cmd = R2CORBA::Config.ridlc
46
+ cmd << " --ignore-pidl --output #{t.name} --namespace=R2CORBA --stdidl" <<
47
+ " --stubs-only --expand-includes --search-includepath --no-libinit --interface-as-class=TypeCode orb.idl"
48
+ sh(cmd)
49
+ end
50
+ Rake::Task['r2corba:build_idl'].enhance [File.join(r2c_idlc_root,'r2c_orb.rb')]
51
+ CLOBBER.include File.join(r2c_idlc_root,'r2c_orb.rb')
52
+
53
+ [ ['POA', 'PortableServer.pidl'],
54
+ ['Messaging', 'Messaging.pidl'],
55
+ ['BiDirPolicy', 'BiDirPolicy.pidl'],
56
+ ].each do |stub, pidl|
57
+ file File.join(r2c_idlc_root,stub+'C.rb') => [R2CORBA::BUILD_CFG, orb_pidlc] do |t|
58
+ cmd = R2CORBA::Config.ridlc
59
+ cmd << " --output #{t.name} --namespace=R2CORBA --stdidl --stubs-only --expand-includes --search-includepath --no-libinit #{pidl}"
60
+ sh(cmd)
61
+ end
62
+ Rake::Task['r2corba:build_idl'].enhance [File.join(r2c_idlc_root,stub+'C.rb')]
63
+ CLOBBER.include File.join(r2c_idlc_root,stub+'C.rb')
64
+ end
65
+
66
+ unless defined?(JRUBY_VERSION)
67
+ r2tao_root = File.join('lib','corba','cbase')
68
+ tao_root = get_config('taoroot')
69
+ [ 'TAO_Ext', 'IORTable' ].each do |stub|
70
+ file File.join(r2c_idlc_root,stub+'C.rb') => [R2CORBA::BUILD_CFG, orb_pidlc] do |t|
71
+ cmd = R2CORBA::Config.ridlc
72
+ cmd << " --output #{t.name} --namespace=R2CORBA --stdidl --stubs-only --expand-includes -I#{tao_root}" <<
73
+ " --search-includepath --no-libinit #{File.join(r2c_idlc_root, stub+'.pidl')}"
74
+ sh(cmd)
75
+ end
76
+ Rake::Task['r2corba:build_idl'].enhance [File.join(r2c_idlc_root,stub+'C.rb')]
77
+ CLOBBER.include File.join(r2c_idlc_root,stub+'C.rb')
78
+ end
79
+ end
80
+
81
+ file File.join(r2c_idlc_root, 'CosNamingC.rb') => [R2CORBA::BUILD_CFG, orb_pidlc] do |t|
82
+ cmd = R2CORBA::Config.ridlc
83
+ cmd << " -o #{r2c_idlc_root} --stdidl --expand-includes --search-includepath CosNaming.idl"
84
+ sh(cmd)
85
+ end
86
+ Rake::Task['r2corba:build_idl'].enhance [File.join(r2c_idlc_root,'CosNamingC.rb')]
87
+ CLOBBER.include File.join(r2c_idlc_root,'CosNamingC.rb')
@@ -0,0 +1,52 @@
1
+ #--------------------------------------------------------------------
2
+ # config.rake - 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
+
16
+ namespace :r2corba do
17
+ task :configure do
18
+ R2CORBA::Config.define
19
+ R2CORBA::Config.check
20
+ R2CORBA::Config.save
21
+ # find out if more tasks were specified to run after configure
22
+ while ARGV.shift.to_s =~ /^(r2corba:)?configure$/ do; end
23
+ # if so start a new rake process to run these
24
+ unless ARGV.empty?
25
+ # restarting ensures correct loading of config and the tasks that depend on that
26
+ exec('rake', *ARGV)
27
+ end
28
+ end
29
+
30
+ namespace :config do
31
+ task :show do
32
+ R2CORBA::CFGKEYS.each do |ck|
33
+ puts "%20s => %s" % [ck, get_config(ck)]
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ desc 'Configure R2CORBA build settings (calling with "-- --help" provides usage information).'
40
+ task :configure => 'r2corba:configure'
41
+
42
+ desc 'Show current R2CORBA build settings'
43
+ task :show => 'r2corba:config:show'
44
+
45
+ file R2CORBA::BUILD_CFG do
46
+ unless File.file?(R2CORBA::BUILD_CFG)
47
+ STDERR.puts "Build configuration missing! First run 'rake r2corba::configure'."
48
+ exit(1)
49
+ end
50
+ end
51
+
52
+ CLOBBER.include R2CORBA::BUILD_CFG