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.
- checksums.yaml +7 -0
- data/CHANGES +159 -0
- data/LICENSE +59 -0
- data/README +62 -0
- data/THANKS +52 -0
- data/bin/r2corba +8 -0
- data/bin/ridlc +11 -0
- data/bin/rins +7 -0
- data/ext/ext.mwc +6 -0
- data/ext/extload/extload.c +60 -0
- data/ext/libr2tao/any.cpp +1543 -0
- data/ext/libr2tao/exception.cpp +202 -0
- data/ext/libr2tao/exception.h +104 -0
- data/ext/libr2tao/longdouble.cpp +173 -0
- data/ext/libr2tao/longdouble.h +31 -0
- data/ext/libr2tao/object.cpp +1150 -0
- data/ext/libr2tao/object.h +38 -0
- data/ext/libr2tao/orb.cpp +1029 -0
- data/ext/libr2tao/orb.h +36 -0
- data/ext/libr2tao/r2tao_export.h +45 -0
- data/ext/libr2tao/r2tao_ext.h +38 -0
- data/ext/libr2tao/required.cpp +463 -0
- data/ext/libr2tao/required.h +187 -0
- data/ext/libr2tao/typecode.cpp +888 -0
- data/ext/libr2tao/typecode.h +45 -0
- data/ext/libr2tao/values.cpp +2938 -0
- data/ext/libr2tao/values.h +396 -0
- data/ext/librpoa/iortable.cpp +250 -0
- data/ext/librpoa/poa.cpp +1076 -0
- data/ext/librpoa/poa.h +24 -0
- data/ext/librpoa/rpoa_export.h +44 -0
- data/ext/librpoa/servant.cpp +1338 -0
- data/ext/librpoa/servant.h +116 -0
- data/ext/librpoa/srvreq_fix.cpp +283 -0
- data/ext/librpoa/srvreq_fix.h +149 -0
- data/ext/librpol/policies.cpp +763 -0
- data/ext/librpol/policies.h +15 -0
- data/ext/librpol/rpol_export.h +44 -0
- data/lib/corba/cbase/IORMap.rb +33 -0
- data/lib/corba/cbase/ORB.rb +231 -0
- data/lib/corba/cbase/Request.rb +134 -0
- data/lib/corba/cbase/Streams.rb +129 -0
- data/lib/corba/cbase/Stub.rb +19 -0
- data/lib/corba/cbase/Typecode.rb +441 -0
- data/lib/corba/cbase/Values.rb +129 -0
- data/lib/corba/cbase/exception.rb +66 -0
- data/lib/corba/cbase/poa.rb +23 -0
- data/lib/corba/cbase/policies.rb +78 -0
- data/lib/corba/cbase/post_require.rb +14 -0
- data/lib/corba/cbase/require.rb +28 -0
- data/lib/corba/cmds/base.rb +85 -0
- data/lib/corba/cmds/test.rb +30 -0
- data/lib/corba/common/Any.rb +91 -0
- data/lib/corba/common/IDL.rb +104 -0
- data/lib/corba/common/ORB.rb +368 -0
- data/lib/corba/common/Object.rb +208 -0
- data/lib/corba/common/Request.rb +20 -0
- data/lib/corba/common/Servant.rb +108 -0
- data/lib/corba/common/Struct.rb +22 -0
- data/lib/corba/common/Stub.rb +79 -0
- data/lib/corba/common/Typecode.rb +1121 -0
- data/lib/corba/common/Union.rb +56 -0
- data/lib/corba/common/Values.rb +92 -0
- data/lib/corba/common/const.rb +22 -0
- data/lib/corba/common/exception.rb +68 -0
- data/lib/corba/common/require.rb +27 -0
- data/lib/corba/common/version.rb +22 -0
- data/lib/corba/idl/IDL.rb +21 -0
- data/lib/corba/idl/IORTable.pidl +62 -0
- data/lib/corba/idl/TAO_Ext.pidl +46 -0
- data/lib/corba/idl/require.rb +20 -0
- data/lib/corba/jbase/Any.rb +273 -0
- data/lib/corba/jbase/IORMap.rb +36 -0
- data/lib/corba/jbase/ORB.rb +99 -0
- data/lib/corba/jbase/Object.rb +98 -0
- data/lib/corba/jbase/Request.rb +226 -0
- data/lib/corba/jbase/Servant.rb +247 -0
- data/lib/corba/jbase/ServerRequest.rb +128 -0
- data/lib/corba/jbase/Streams.rb +671 -0
- data/lib/corba/jbase/Stub.rb +38 -0
- data/lib/corba/jbase/Typecode.rb +520 -0
- data/lib/corba/jbase/Values.rb +173 -0
- data/lib/corba/jbase/exception.rb +106 -0
- data/lib/corba/jbase/poa.rb +229 -0
- data/lib/corba/jbase/policies.rb +300 -0
- data/lib/corba/jbase/post_require.rb +14 -0
- data/lib/corba/jbase/require.rb +86 -0
- data/lib/corba/naming.rb +14 -0
- data/lib/corba/naming_service.rb +15 -0
- data/lib/corba/poa.rb +15 -0
- data/lib/corba/policies.rb +18 -0
- data/lib/corba/require.rb +17 -0
- data/lib/corba/svcs/ins/cos_naming.rb +426 -0
- data/lib/corba/svcs/ins/ins.rb +526 -0
- data/lib/corba/svcs/ins/naming_service.rb +119 -0
- data/lib/corba.rb +16 -0
- data/lib/ridlbe/ruby/config.rb +336 -0
- data/lib/ridlbe/ruby/require.rb +16 -0
- data/lib/ridlbe/ruby/walker.rb +1582 -0
- data/mkrf_conf_srcgem.rb +186 -0
- data/rakelib/bin.rake +80 -0
- data/rakelib/bin.rb +146 -0
- data/rakelib/build.rake +87 -0
- data/rakelib/config.rake +52 -0
- data/rakelib/config.rb +450 -0
- data/rakelib/ext.rake +242 -0
- data/rakelib/ext.rb +308 -0
- data/rakelib/ext_r2tao.rb +232 -0
- data/rakelib/gem.rake +212 -0
- data/rakelib/gem.rb +146 -0
- data/rakelib/package.rake +26 -0
- data/rakelib/test.rake +23 -0
- data/test/BiDirectional/Test.idl +34 -0
- data/test/BiDirectional/client.rb +132 -0
- data/test/BiDirectional/run_test.rb +68 -0
- data/test/BiDirectional/server.rb +169 -0
- data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
- data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
- data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
- data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
- data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
- data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
- data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
- data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
- data/test/Collocation/Diamond.idl +39 -0
- data/test/Collocation/run_test.rb +52 -0
- data/test/Collocation/test.rb +195 -0
- data/test/Connect_Timeout/Test.idl +27 -0
- data/test/Connect_Timeout/client.rb +111 -0
- data/test/Connect_Timeout/run_test.rb +52 -0
- data/test/DII/Test.idl +27 -0
- data/test/DII/client.rb +115 -0
- data/test/DII/run_test.rb +69 -0
- data/test/DII/server.rb +95 -0
- data/test/DSI/Test.idl +27 -0
- data/test/DSI/client.rb +66 -0
- data/test/DSI/run_test.rb +69 -0
- data/test/DSI/server.rb +106 -0
- data/test/Exceptions/Test.idl +48 -0
- data/test/Exceptions/client.rb +118 -0
- data/test/Exceptions/run_test.rb +69 -0
- data/test/Exceptions/server.rb +131 -0
- data/test/Hello/Test.idl +27 -0
- data/test/Hello/client.rb +78 -0
- data/test/Hello/run_test.rb +71 -0
- data/test/Hello/server.rb +95 -0
- data/test/IDL_Test/Test.idl +113 -0
- data/test/IDL_Test/Test_inc.idl +17 -0
- data/test/IDL_Test/client.rb +102 -0
- data/test/IDL_Test/run_test.rb +69 -0
- data/test/IDL_Test/server.rb +99 -0
- data/test/IORMap/Test.idl +27 -0
- data/test/IORMap/client.rb +73 -0
- data/test/IORMap/run_test.rb +69 -0
- data/test/IORMap/server.rb +114 -0
- data/test/IORTable/Test.idl +27 -0
- data/test/IORTable/client.rb +75 -0
- data/test/IORTable/run_test.rb +69 -0
- data/test/IORTable/server.rb +130 -0
- data/test/Implicit_Conversion/Test.idl +31 -0
- data/test/Implicit_Conversion/client.rb +110 -0
- data/test/Implicit_Conversion/run_test.rb +69 -0
- data/test/Implicit_Conversion/server.rb +99 -0
- data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
- data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
- data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
- data/test/Multi_Threading/Simple/Test.idl +27 -0
- data/test/Multi_Threading/Simple/client.rb +88 -0
- data/test/Multi_Threading/Simple/run_test.rb +69 -0
- data/test/Multi_Threading/Simple/server.rb +118 -0
- data/test/Multi_Threading/Threads/Test.idl +31 -0
- data/test/Multi_Threading/Threads/client.rb +80 -0
- data/test/Multi_Threading/Threads/run_test.rb +76 -0
- data/test/Multi_Threading/Threads/server.rb +119 -0
- data/test/Multi_Threading/Threads/watchdog.rb +87 -0
- data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
- data/test/Multiple_Servant_Interfaces/client.rb +70 -0
- data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
- data/test/Multiple_Servant_Interfaces/server.rb +102 -0
- data/test/Nil/Test.idl +27 -0
- data/test/Nil/run_test.rb +52 -0
- data/test/Nil/test.rb +78 -0
- data/test/OBV/AbstractInterface/client.rb +179 -0
- data/test/OBV/AbstractInterface/run_test.rb +69 -0
- data/test/OBV/AbstractInterface/server.rb +149 -0
- data/test/OBV/AbstractInterface/test.idl +53 -0
- data/test/OBV/Custom/OBV.idl +18 -0
- data/test/OBV/Custom/OBV_impl.rb +40 -0
- data/test/OBV/Custom/client.rb +86 -0
- data/test/OBV/Custom/run_test.rb +69 -0
- data/test/OBV/Custom/server.rb +100 -0
- data/test/OBV/Simple/OBV.idl +15 -0
- data/test/OBV/Simple/OBV_impl.rb +26 -0
- data/test/OBV/Simple/client.rb +86 -0
- data/test/OBV/Simple/run_test.rb +69 -0
- data/test/OBV/Simple/server.rb +100 -0
- data/test/OBV/Simple_Event/Event.idl +15 -0
- data/test/OBV/Simple_Event/Event_impl.rb +26 -0
- data/test/OBV/Simple_Event/client.rb +86 -0
- data/test/OBV/Simple_Event/run_test.rb +69 -0
- data/test/OBV/Simple_Event/server.rb +100 -0
- data/test/OBV/Supports/client.rb +116 -0
- data/test/OBV/Supports/run_test.rb +69 -0
- data/test/OBV/Supports/server.rb +103 -0
- data/test/OBV/Supports/supports.idl +33 -0
- data/test/OBV/Supports/supports_impl.rb +57 -0
- data/test/OBV/Tree/client.rb +116 -0
- data/test/OBV/Tree/run_test.rb +69 -0
- data/test/OBV/Tree/server.rb +117 -0
- data/test/OBV/Tree/test.idl +32 -0
- data/test/OBV/Truncatable/Extra.idl +27 -0
- data/test/OBV/Truncatable/Truncatable.idl +105 -0
- data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
- data/test/OBV/Truncatable/client.rb +279 -0
- data/test/OBV/Truncatable/run_test.rb +69 -0
- data/test/OBV/Truncatable/server.rb +89 -0
- data/test/OBV/ValueBox/client.rb +497 -0
- data/test/OBV/ValueBox/run_test.rb +69 -0
- data/test/OBV/ValueBox/server.rb +271 -0
- data/test/OBV/ValueBox/valuebox.idl +101 -0
- data/test/OBV/ValueBox/vb_basic.idl +75 -0
- data/test/OBV/ValueBox/vb_struct.idl +68 -0
- data/test/OBV/ValueBox/vb_union.idl +21 -0
- data/test/Object/Test.idl +27 -0
- data/test/Object/client.rb +103 -0
- data/test/Object/run_test.rb +69 -0
- data/test/Object/server.rb +126 -0
- data/test/POA/Test.idl +27 -0
- data/test/POA/run_test.rb +52 -0
- data/test/POA/test.rb +112 -0
- data/test/Param_Test/Test.idl +182 -0
- data/test/Param_Test/client.rb +277 -0
- data/test/Param_Test/run_test.rb +69 -0
- data/test/Param_Test/server.rb +296 -0
- data/test/Performance/Simple/Test.idl +27 -0
- data/test/Performance/Simple/client.rb +90 -0
- data/test/Performance/Simple/run_test.rb +69 -0
- data/test/Performance/Simple/server.rb +95 -0
- data/test/Policies/Test.idl +27 -0
- data/test/Policies/run_test.rb +52 -0
- data/test/Policies/test.rb +144 -0
- data/test/Timeout/client.rb +207 -0
- data/test/Timeout/run_test.rb +69 -0
- data/test/Timeout/server.rb +109 -0
- data/test/Timeout/test.idl +19 -0
- data/test/lib/assert.rb +43 -0
- data/test/lib/test.rb +542 -0
- data/test/test_runner.rb +193 -0
- metadata +334 -0
data/mkrf_conf_srcgem.rb
ADDED
|
@@ -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
|
data/rakelib/build.rake
ADDED
|
@@ -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')
|
data/rakelib/config.rake
ADDED
|
@@ -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
|