r2corba 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|