r2corba 1.6.1-x64-mingw-ucrt
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 +173 -0
- data/LICENSE +59 -0
- data/README.rdoc +62 -0
- data/THANKS +54 -0
- data/bin/r2corba +8 -0
- data/bin/r2corba.bat +20 -0
- data/bin/ridlc +11 -0
- data/bin/ridlc.bat +23 -0
- data/bin/rins +7 -0
- data/bin/rins.bat +19 -0
- data/ext/.keep +0 -0
- data/lib/corba/cbase/IORMap.rb +32 -0
- data/lib/corba/cbase/ORB.rb +239 -0
- data/lib/corba/cbase/Request.rb +133 -0
- data/lib/corba/cbase/Streams.rb +128 -0
- data/lib/corba/cbase/Stub.rb +18 -0
- data/lib/corba/cbase/Typecode.rb +440 -0
- data/lib/corba/cbase/Values.rb +130 -0
- data/lib/corba/cbase/exception.rb +67 -0
- data/lib/corba/cbase/poa.rb +22 -0
- data/lib/corba/cbase/policies.rb +77 -0
- data/lib/corba/cbase/post_require.rb +13 -0
- data/lib/corba/cbase/require.rb +36 -0
- data/lib/corba/cmds/base.rb +84 -0
- data/lib/corba/cmds/test.rb +29 -0
- data/lib/corba/common/Any.rb +91 -0
- data/lib/corba/common/IDL.rb +100 -0
- data/lib/corba/common/ORB.rb +367 -0
- data/lib/corba/common/Object.rb +211 -0
- data/lib/corba/common/Request.rb +19 -0
- data/lib/corba/common/Servant.rb +107 -0
- data/lib/corba/common/Struct.rb +21 -0
- data/lib/corba/common/Stub.rb +78 -0
- data/lib/corba/common/Typecode.rb +1147 -0
- data/lib/corba/common/Union.rb +60 -0
- data/lib/corba/common/Values.rb +92 -0
- data/lib/corba/common/const.rb +21 -0
- data/lib/corba/common/exception.rb +68 -0
- data/lib/corba/common/require.rb +34 -0
- data/lib/corba/common/version.rb +21 -0
- data/lib/corba/idl/BiDirPolicyC.rb +62 -0
- data/lib/corba/idl/CosNamingC.rb +460 -0
- data/lib/corba/idl/CosNamingS.rb +308 -0
- data/lib/corba/idl/IDL.rb +20 -0
- data/lib/corba/idl/IORTable.pidl +61 -0
- data/lib/corba/idl/IORTableC.rb +116 -0
- data/lib/corba/idl/MessagingC.rb +903 -0
- data/lib/corba/idl/POAC.rb +929 -0
- data/lib/corba/idl/TAO_Ext.pidl +45 -0
- data/lib/corba/idl/TAO_ExtC.rb +178 -0
- data/lib/corba/idl/r2c_orb.rb +571 -0
- data/lib/corba/idl/require.rb +19 -0
- data/lib/corba/jbase/Any.rb +274 -0
- data/lib/corba/jbase/IORMap.rb +35 -0
- data/lib/corba/jbase/ORB.rb +111 -0
- data/lib/corba/jbase/Object.rb +98 -0
- data/lib/corba/jbase/Request.rb +225 -0
- data/lib/corba/jbase/Servant.rb +247 -0
- data/lib/corba/jbase/ServerRequest.rb +127 -0
- data/lib/corba/jbase/Streams.rb +734 -0
- data/lib/corba/jbase/Stub.rb +37 -0
- data/lib/corba/jbase/Typecode.rb +520 -0
- data/lib/corba/jbase/Values.rb +174 -0
- data/lib/corba/jbase/exception.rb +106 -0
- data/lib/corba/jbase/poa.rb +228 -0
- data/lib/corba/jbase/policies.rb +299 -0
- data/lib/corba/jbase/post_require.rb +13 -0
- data/lib/corba/jbase/require.rb +92 -0
- data/lib/corba/naming.rb +13 -0
- data/lib/corba/naming_service.rb +14 -0
- data/lib/corba/poa.rb +14 -0
- data/lib/corba/policies.rb +17 -0
- data/lib/corba/require.rb +16 -0
- data/lib/corba/svcs/ins/cos_naming.rb +432 -0
- data/lib/corba/svcs/ins/ins.rb +525 -0
- data/lib/corba/svcs/ins/naming_service.rb +118 -0
- data/lib/corba.rb +15 -0
- data/lib/ridlbe/ruby/config.rb +340 -0
- data/lib/ridlbe/ruby/orb.pidlc +0 -0
- data/lib/ridlbe/ruby/require.rb +15 -0
- data/lib/ridlbe/ruby/walker.rb +1605 -0
- data/mkrf_conf_bingem.rb +149 -0
- data/rakelib/bin.rake +79 -0
- data/rakelib/bin.rb +145 -0
- data/rakelib/build.rake +87 -0
- data/rakelib/config.rake +51 -0
- data/rakelib/config.rb +542 -0
- data/rakelib/ext.rake +183 -0
- data/rakelib/ext.rb +277 -0
- data/rakelib/ext_r2tao.rb +208 -0
- data/rakelib/gem.rake +251 -0
- data/rakelib/gem.rb +145 -0
- data/rakelib/package.rake +25 -0
- data/rakelib/test.rake +22 -0
- data/test/BiDirectional/Test.idl +33 -0
- data/test/BiDirectional/client.rb +131 -0
- data/test/BiDirectional/run_test.rb +67 -0
- data/test/BiDirectional/server.rb +167 -0
- data/test/CORBA_Services/Naming/BindingIterator/Test.idl +26 -0
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +120 -0
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +81 -0
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +108 -0
- data/test/CORBA_Services/Naming/Corbaname/Test.idl +26 -0
- data/test/CORBA_Services/Naming/Corbaname/client.rb +84 -0
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +87 -0
- data/test/CORBA_Services/Naming/Corbaname/server.rb +134 -0
- data/test/CORBA_Services/Naming/Simple/Test.idl +26 -0
- data/test/CORBA_Services/Naming/Simple/client.rb +83 -0
- data/test/CORBA_Services/Naming/Simple/run_test.rb +81 -0
- data/test/CORBA_Services/Naming/Simple/server.rb +108 -0
- data/test/Collocation/Diamond.idl +38 -0
- data/test/Collocation/run_test.rb +51 -0
- data/test/Collocation/test.rb +201 -0
- data/test/Connect_Timeout/Test.idl +26 -0
- data/test/Connect_Timeout/client.rb +109 -0
- data/test/Connect_Timeout/run_test.rb +51 -0
- data/test/DII/Test.idl +26 -0
- data/test/DII/client.rb +114 -0
- data/test/DII/run_test.rb +68 -0
- data/test/DII/server.rb +94 -0
- data/test/DSI/Test.idl +26 -0
- data/test/DSI/client.rb +65 -0
- data/test/DSI/run_test.rb +68 -0
- data/test/DSI/server.rb +105 -0
- data/test/Exceptions/Test.idl +47 -0
- data/test/Exceptions/client.rb +117 -0
- data/test/Exceptions/run_test.rb +68 -0
- data/test/Exceptions/server.rb +130 -0
- data/test/Hello/Test.idl +26 -0
- data/test/Hello/client.rb +77 -0
- data/test/Hello/run_test.rb +70 -0
- data/test/Hello/server.rb +94 -0
- data/test/IDL_Test/Test.idl +116 -0
- data/test/IDL_Test/Test_inc.idl +17 -0
- data/test/IDL_Test/client.rb +103 -0
- data/test/IDL_Test/run_test.rb +68 -0
- data/test/IDL_Test/server.rb +103 -0
- data/test/IORMap/Test.idl +26 -0
- data/test/IORMap/client.rb +72 -0
- data/test/IORMap/run_test.rb +68 -0
- data/test/IORMap/server.rb +113 -0
- data/test/IORTable/Test.idl +26 -0
- data/test/IORTable/client.rb +74 -0
- data/test/IORTable/run_test.rb +68 -0
- data/test/IORTable/server.rb +129 -0
- data/test/Implicit_Conversion/Test.idl +30 -0
- data/test/Implicit_Conversion/client.rb +112 -0
- data/test/Implicit_Conversion/run_test.rb +68 -0
- data/test/Implicit_Conversion/server.rb +98 -0
- data/test/Multi_Threading/Multiple_ORB/Test.idl +26 -0
- data/test/Multi_Threading/Multiple_ORB/client.rb +81 -0
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +70 -0
- data/test/Multi_Threading/Multiple_ORB/server.rb +107 -0
- data/test/Multi_Threading/Simple/Test.idl +26 -0
- data/test/Multi_Threading/Simple/client.rb +92 -0
- data/test/Multi_Threading/Simple/run_test.rb +68 -0
- data/test/Multi_Threading/Simple/server.rb +117 -0
- data/test/Multi_Threading/Threads/Test.idl +27 -0
- data/test/Multi_Threading/Threads/client.rb +77 -0
- data/test/Multi_Threading/Threads/run_test.rb +75 -0
- data/test/Multi_Threading/Threads/server.rb +116 -0
- data/test/Multi_Threading/Threads/watchdog.rb +87 -0
- data/test/Multiple_Servant_Interfaces/Test.idl +33 -0
- data/test/Multiple_Servant_Interfaces/client.rb +69 -0
- data/test/Multiple_Servant_Interfaces/run_test.rb +68 -0
- data/test/Multiple_Servant_Interfaces/server.rb +101 -0
- data/test/Nil/Test.idl +26 -0
- data/test/Nil/run_test.rb +51 -0
- data/test/Nil/test.rb +80 -0
- data/test/OBV/AbstractInterface/client.rb +178 -0
- data/test/OBV/AbstractInterface/run_test.rb +68 -0
- data/test/OBV/AbstractInterface/server.rb +149 -0
- data/test/OBV/AbstractInterface/test.idl +52 -0
- data/test/OBV/Custom/OBV.idl +18 -0
- data/test/OBV/Custom/OBV_impl.rb +41 -0
- data/test/OBV/Custom/client.rb +85 -0
- data/test/OBV/Custom/run_test.rb +68 -0
- data/test/OBV/Custom/server.rb +99 -0
- data/test/OBV/Simple/OBV.idl +15 -0
- data/test/OBV/Simple/OBV_impl.rb +26 -0
- data/test/OBV/Simple/client.rb +85 -0
- data/test/OBV/Simple/run_test.rb +68 -0
- data/test/OBV/Simple/server.rb +99 -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 +85 -0
- data/test/OBV/Simple_Event/run_test.rb +68 -0
- data/test/OBV/Simple_Event/server.rb +99 -0
- data/test/OBV/Supports/client.rb +115 -0
- data/test/OBV/Supports/run_test.rb +68 -0
- data/test/OBV/Supports/server.rb +102 -0
- data/test/OBV/Supports/supports.idl +32 -0
- data/test/OBV/Supports/supports_impl.rb +59 -0
- data/test/OBV/Tree/client.rb +115 -0
- data/test/OBV/Tree/run_test.rb +68 -0
- data/test/OBV/Tree/server.rb +116 -0
- data/test/OBV/Tree/test.idl +31 -0
- data/test/OBV/Truncatable/Extra.idl +26 -0
- data/test/OBV/Truncatable/Truncatable.idl +105 -0
- data/test/OBV/Truncatable/Truncatable_impl.rb +85 -0
- data/test/OBV/Truncatable/client.rb +278 -0
- data/test/OBV/Truncatable/run_test.rb +68 -0
- data/test/OBV/Truncatable/server.rb +88 -0
- data/test/OBV/ValueBox/client.rb +497 -0
- data/test/OBV/ValueBox/run_test.rb +68 -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 +26 -0
- data/test/Object/client.rb +111 -0
- data/test/Object/run_test.rb +68 -0
- data/test/Object/server.rb +125 -0
- data/test/POA/Test.idl +27 -0
- data/test/POA/run_test.rb +51 -0
- data/test/POA/test.rb +111 -0
- data/test/Param_Test/Test.idl +182 -0
- data/test/Param_Test/client.rb +276 -0
- data/test/Param_Test/run_test.rb +68 -0
- data/test/Param_Test/server.rb +295 -0
- data/test/Performance/Simple/Test.idl +26 -0
- data/test/Performance/Simple/client.rb +89 -0
- data/test/Performance/Simple/run_test.rb +68 -0
- data/test/Performance/Simple/server.rb +94 -0
- data/test/Policies/Test.idl +26 -0
- data/test/Policies/run_test.rb +51 -0
- data/test/Policies/test.rb +142 -0
- data/test/Timeout/client.rb +206 -0
- data/test/Timeout/run_test.rb +68 -0
- data/test/Timeout/server.rb +108 -0
- data/test/Timeout/test.idl +18 -0
- data/test/lib/assert.rb +41 -0
- data/test/lib/test.rb +546 -0
- data/test/test_runner.rb +191 -0
- metadata +318 -0
data/rakelib/ext.rake
ADDED
@@ -0,0 +1,183 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# ext.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
|
+
#--------------------------------------------------------------------
|
12
|
+
|
13
|
+
if defined?(JRUBY_VERSION)
|
14
|
+
|
15
|
+
namespace :r2corba do
|
16
|
+
namespace :ext do
|
17
|
+
task :build # noop
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
else # !JRUBY_VERSION
|
22
|
+
|
23
|
+
require File.join(File.dirname(__FILE__), 'ext.rb')
|
24
|
+
|
25
|
+
file R2CORBA::Ext.r2tao_mpc_file do |t|
|
26
|
+
File.open(t.name, 'w') {|f| f.puts R2CORBA::Ext::R2TAO_MPC }
|
27
|
+
end
|
28
|
+
|
29
|
+
file R2CORBA::Ext.rpoa_mpc_file do |t|
|
30
|
+
File.open(t.name, 'w') {|f| f.puts R2CORBA::Ext::RPOA_MPC }
|
31
|
+
end
|
32
|
+
|
33
|
+
file R2CORBA::Ext.rpol_mpc_file do |t|
|
34
|
+
File.open(t.name, 'w') {|f| f.puts R2CORBA::Ext::RPOL_MPC }
|
35
|
+
end
|
36
|
+
|
37
|
+
file R2CORBA::Ext.ext_makefile => [R2CORBA::BUILD_CFG,
|
38
|
+
R2CORBA::Ext.default_features_path,
|
39
|
+
R2CORBA::Ext.ace_config_path,
|
40
|
+
R2CORBA::Ext.platform_macros_path,
|
41
|
+
R2CORBA::Ext.r2tao_mpc_file,
|
42
|
+
R2CORBA::Ext.rpoa_mpc_file,
|
43
|
+
R2CORBA::Ext.rpol_mpc_file] do
|
44
|
+
# check availability of PERL
|
45
|
+
raise 'PERL missing! A working version of PERL in the PATH is required.' unless system('perl -v')
|
46
|
+
# configure R2TAO build
|
47
|
+
_mwc = File.join(get_config('aceroot'), 'bin', 'mwc.pl')
|
48
|
+
|
49
|
+
cur_dir = Dir.getwd
|
50
|
+
Dir.chdir 'ext'
|
51
|
+
begin
|
52
|
+
sh("perl #{_mwc} -type gnuace ext.mwc -workers #{R2CORBA::Config.cpu_cores}")
|
53
|
+
ensure
|
54
|
+
Dir.chdir cur_dir
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
CLOBBER.include [R2CORBA::Ext.ext_makefile, R2CORBA::Ext.r2tao_mpc_file, R2CORBA::Ext.rpoa_mpc_file, R2CORBA::Ext.rpol_mpc_file]
|
59
|
+
|
60
|
+
namespace :r2corba do
|
61
|
+
namespace :ext do
|
62
|
+
#desc 'Build extension libraries'
|
63
|
+
task :build => R2CORBA::Ext.ext_makefile do
|
64
|
+
cur_dir = Dir.getwd
|
65
|
+
Dir.chdir 'ext'
|
66
|
+
begin
|
67
|
+
sh("#{get_config('makeprog')}#{get_config('with-debug') ? ' debug=1' : ''}")
|
68
|
+
ensure
|
69
|
+
Dir.chdir cur_dir
|
70
|
+
end
|
71
|
+
R2CORBA::Ext.post_build
|
72
|
+
end
|
73
|
+
|
74
|
+
task :clobber do
|
75
|
+
cur_dir = Dir.getwd
|
76
|
+
Dir.chdir 'ext'
|
77
|
+
begin
|
78
|
+
sh("#{get_config('makeprog')} realclean") if File.exist?('GNUmakefile')
|
79
|
+
ensure
|
80
|
+
Dir.chdir cur_dir
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
Rake::Task['clobber'].enhance ['r2corba:ext:clobber']
|
87
|
+
|
88
|
+
# Do we handle ACE+TAO here?
|
89
|
+
unless get_config('without-tao')
|
90
|
+
|
91
|
+
file R2CORBA::Ext.ace_config_path => R2CORBA::BUILD_CFG do |t|
|
92
|
+
File.open(t.name, 'w') {|f|
|
93
|
+
f.puts R2CORBA::Ext.ace_config
|
94
|
+
}
|
95
|
+
end
|
96
|
+
|
97
|
+
CLOBBER.include R2CORBA::Ext.ace_config_path
|
98
|
+
|
99
|
+
file R2CORBA::Ext.platform_macros_path => R2CORBA::BUILD_CFG do |t|
|
100
|
+
File.open(t.name, 'w') {|f|
|
101
|
+
f.puts R2CORBA::Ext.platform_macros
|
102
|
+
}
|
103
|
+
end
|
104
|
+
|
105
|
+
CLOBBER.include R2CORBA::Ext.platform_macros_path
|
106
|
+
|
107
|
+
file R2CORBA::Ext.default_features_path => R2CORBA::BUILD_CFG do |t|
|
108
|
+
File.open(t.name, 'w') do |f|
|
109
|
+
f.puts R2CORBA::Ext.default_features
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
CLOBBER.include R2CORBA::Ext.default_features_path
|
114
|
+
|
115
|
+
file R2CORBA::Ext.tao_mwc_path => R2CORBA::BUILD_CFG do |t|
|
116
|
+
File.open(t.name, 'w') do |f|
|
117
|
+
f.puts R2CORBA::Ext.tao_mwc
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
CLOBBER.include R2CORBA::Ext.tao_mwc_path
|
122
|
+
|
123
|
+
file R2CORBA::Ext.tao_makefile => [R2CORBA::Ext.ace_config_path,
|
124
|
+
R2CORBA::Ext.platform_macros_path,
|
125
|
+
R2CORBA::Ext.default_features_path,
|
126
|
+
R2CORBA::Ext.tao_mwc_path] do
|
127
|
+
# check availability of PERL
|
128
|
+
raise 'PERL missing! A working version of PERL in the PATH is required.' unless system('perl -v')
|
129
|
+
# generate ACE+TAO makefile
|
130
|
+
cur_dir = Dir.getwd
|
131
|
+
Dir.chdir File.expand_path(get_config('aceroot'))
|
132
|
+
begin
|
133
|
+
sh("perl bin/mwc.pl -type gnuautobuild TAO4Ruby.mwc -workers #{R2CORBA::Config.cpu_cores}")
|
134
|
+
ensure
|
135
|
+
Dir.chdir cur_dir
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
CLOBBER.include R2CORBA::Ext.tao_makefile
|
140
|
+
|
141
|
+
namespace :r2corba do
|
142
|
+
namespace :ext do
|
143
|
+
task :build_tao
|
144
|
+
|
145
|
+
R2CORBA::Ext::ace_shlibs.each do |acelib|
|
146
|
+
file acelib => R2CORBA::Ext.tao_makefile do
|
147
|
+
# build ACE+TAO
|
148
|
+
cur_dir = Dir.getwd
|
149
|
+
Dir.chdir File.expand_path(get_config('aceroot'))
|
150
|
+
begin
|
151
|
+
sh("#{get_config('makeprog')} -j#{R2CORBA::Config.cpu_cores} #{get_config('with-debug') ? ' debug=1' : ''}")
|
152
|
+
ensure
|
153
|
+
Dir.chdir cur_dir
|
154
|
+
end
|
155
|
+
# touch all libraries to cover the case that the timestamps do not match
|
156
|
+
# the makefile but make triggers not rebuild as no sources have changed
|
157
|
+
touch(R2CORBA::Ext::ace_shlibs)
|
158
|
+
end
|
159
|
+
Rake::Task['r2corba:ext:build_tao'].enhance [acelib]
|
160
|
+
end
|
161
|
+
|
162
|
+
task :clobber_tao do
|
163
|
+
# clean ACE+TAO
|
164
|
+
cur_dir = Dir.getwd
|
165
|
+
ace_root = File.expand_path(get_config('aceroot'))
|
166
|
+
if File.exist?(ace_root)
|
167
|
+
Dir.chdir ace_root
|
168
|
+
begin
|
169
|
+
sh("#{get_config('makeprog')} realclean") if File.exist?('GNUmakefile')
|
170
|
+
ensure
|
171
|
+
Dir.chdir cur_dir
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
Rake::Task['r2corba:ext:build'].enhance ['r2corba:ext:build_tao']
|
179
|
+
Rake::Task['r2corba:ext:clobber'].enhance ['r2corba:ext:clobber_tao']
|
180
|
+
|
181
|
+
end # !without-tao
|
182
|
+
|
183
|
+
end # defined?(JRUBY_VERSION)
|
data/rakelib/ext.rb
ADDED
@@ -0,0 +1,277 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# ext.rb - build file
|
3
|
+
#
|
4
|
+
# Author: Martin Corino
|
5
|
+
#
|
6
|
+
# This program is free software; you can redistribute it and/or
|
7
|
+
# modify it under the terms of the R2CORBA LICENSE which is
|
8
|
+
# included with this program.
|
9
|
+
#
|
10
|
+
# Copyright (c) Remedy IT Expertise BV
|
11
|
+
#--------------------------------------------------------------------
|
12
|
+
|
13
|
+
require File.join(File.dirname(__FILE__), 'config.rb')
|
14
|
+
require File.join(File.dirname(__FILE__), 'ext_r2tao.rb')
|
15
|
+
|
16
|
+
module R2CORBA
|
17
|
+
|
18
|
+
module Ext
|
19
|
+
ACE_FILES = [
|
20
|
+
'ACE',
|
21
|
+
'TAO',
|
22
|
+
'TAO_TypeCodeFactory',
|
23
|
+
'TAO_IFR_Client',
|
24
|
+
'TAO_DynamicInterface',
|
25
|
+
'TAO_Messaging',
|
26
|
+
'TAO_PI',
|
27
|
+
'TAO_CodecFactory',
|
28
|
+
'TAO_Codeset',
|
29
|
+
'TAO_DynamicAny',
|
30
|
+
'TAO_Valuetype',
|
31
|
+
'TAO_PortableServer',
|
32
|
+
'TAO_AnyTypeCode',
|
33
|
+
'TAO_BiDirGIOP',
|
34
|
+
'TAO_IORTable',
|
35
|
+
'TAO_ImR_Client'
|
36
|
+
]
|
37
|
+
|
38
|
+
if get_config('with-ssl')
|
39
|
+
ACE_FILES << 'ACE_SSL'
|
40
|
+
ACE_FILES << 'TAO_Security'
|
41
|
+
ACE_FILES << 'TAO_SSLIOP'
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.platform_error
|
45
|
+
raise "Unsupported platform: #{RUBY_PLATFORM}."
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.is_win32
|
49
|
+
R2CORBA::Config.is_win32
|
50
|
+
end
|
51
|
+
def self.is_win64
|
52
|
+
R2CORBA::Config.is_win64
|
53
|
+
end
|
54
|
+
|
55
|
+
if is_win32
|
56
|
+
def self.sys_dlls
|
57
|
+
sysdlls = []
|
58
|
+
except_dll = R2CORBA::Config.is_win64 ? 'libgcc_s_seh-1.dll' : 'libgcc_s_dw2-1.dll'
|
59
|
+
ENV['PATH'].split(';').each do |p|
|
60
|
+
if File.exist?(File.join(p, except_dll)) && File.exist?(File.join(p, 'libstdc++-6.dll'))
|
61
|
+
sysdlls << File.join(p, except_dll)
|
62
|
+
sysdlls << File.join(p, 'libstdc++-6.dll')
|
63
|
+
break
|
64
|
+
end
|
65
|
+
end
|
66
|
+
sysdlls
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.so_ext
|
71
|
+
if R2CORBA::Config.is_win32
|
72
|
+
'.dll'
|
73
|
+
elsif R2CORBA::Config.is_osx
|
74
|
+
'.dylib'
|
75
|
+
else
|
76
|
+
'.so'
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def self.ace_shlibs(so_ext_ = nil, libdir = File.join(get_config('aceroot'), 'lib'))
|
81
|
+
so_ext_ ||= self.so_ext
|
82
|
+
ACE_FILES.collect { |fn| File.join(libdir, "lib#{fn}#{so_ext_}") }
|
83
|
+
end
|
84
|
+
|
85
|
+
def self.ace_config
|
86
|
+
case RUBY_PLATFORM
|
87
|
+
when /mingw/
|
88
|
+
%Q{
|
89
|
+
#define ACE_DISABLE_WIN32_ERROR_WINDOWS
|
90
|
+
#include "ace/config-win32.h"
|
91
|
+
}
|
92
|
+
when /linux/
|
93
|
+
%Q{
|
94
|
+
#include "ace/config-linux.h"
|
95
|
+
}
|
96
|
+
when /sparc-solaris/
|
97
|
+
%Q{
|
98
|
+
#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
|
99
|
+
#include "ace/config-sunos5.10.h"
|
100
|
+
#undef ACE_HAS_NEW_NOTHROW
|
101
|
+
}
|
102
|
+
when /darwin/
|
103
|
+
%Q{
|
104
|
+
#include "ace/config-macosx.h"
|
105
|
+
}
|
106
|
+
else
|
107
|
+
platform_error
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
def self.platform_macros
|
112
|
+
case RUBY_PLATFORM
|
113
|
+
when /mingw/
|
114
|
+
(is_win64 ? %Q{
|
115
|
+
TCPU:=generic
|
116
|
+
buildbits=64
|
117
|
+
} : '') + %Q{
|
118
|
+
threads=1
|
119
|
+
ssl=#{get_config('with-ssl') ? 1 : 0}
|
120
|
+
optimize=1
|
121
|
+
debug=#{get_config('with-debug') ? 1 : 0}
|
122
|
+
fl_reactor=0
|
123
|
+
tk_reactor=0
|
124
|
+
boost=0
|
125
|
+
inline=0
|
126
|
+
include $(ACE_ROOT)/include/makeinclude/platform_mingw32.GNU
|
127
|
+
}
|
128
|
+
when /linux/
|
129
|
+
%Q{
|
130
|
+
versioned_so=1
|
131
|
+
ssl=#{get_config('with-ssl') ? 1 : 0}
|
132
|
+
optimize=1
|
133
|
+
debug=#{get_config('with-debug') ? 1 : 0}
|
134
|
+
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
|
135
|
+
LDFLAGS += -Wl,-rpath,#{get_config('aceinstdir')}
|
136
|
+
}
|
137
|
+
when /sparc-solaris/
|
138
|
+
%Q{
|
139
|
+
threads=1
|
140
|
+
ssl=#{get_config('with-ssl') ? 1 : 0}
|
141
|
+
inline=0
|
142
|
+
optimize=0
|
143
|
+
debug=#{get_config('with-debug') ? 1 : 0}
|
144
|
+
fl_reactor=0
|
145
|
+
tk_reactor=0
|
146
|
+
no_hidden_visibility=1
|
147
|
+
#{ /^cc/i =~ RB_CONFIG['CC'] ? 'include $(ACE_ROOT)/include/makeinclude/platform_sunos5_sunc++.GNU' : 'include $(ACE_ROOT)/include/makeinclude/platform_sunos5_g++.GNU' }
|
148
|
+
LDFLAGS += #{RB_CONFIG['SOLIBS']} #{ /^cc/i =~ RB_CONFIG['CC'] ? '-lCrun -lCstd' : ''}
|
149
|
+
}
|
150
|
+
when /darwin/
|
151
|
+
%Q{
|
152
|
+
threads=1
|
153
|
+
ssl=#{get_config('with-ssl') ? 1 : 0}
|
154
|
+
optimize=1
|
155
|
+
debug=#{get_config('with-debug') ? 1 : 0}
|
156
|
+
fl_reactor=0
|
157
|
+
tk_reactor=0
|
158
|
+
boost=0
|
159
|
+
include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU
|
160
|
+
LDFLAGS += -Wl,-headerpad_max_install_names
|
161
|
+
FLAGS_C_CC += #{RB_CONFIG['ARCH_FLAG']}
|
162
|
+
LDFLAGS += #{RB_CONFIG['ARCH_FLAG']}
|
163
|
+
}
|
164
|
+
else
|
165
|
+
platform_error
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
def self.tao_mwc
|
170
|
+
%Q{
|
171
|
+
workspace {
|
172
|
+
$(ACE_ROOT)/ace
|
173
|
+
$(ACE_ROOT)/apps/gperf/src
|
174
|
+
$(TAO_ROOT)/TAO_IDL
|
175
|
+
$(TAO_ROOT)/tao
|
176
|
+
#{get_config('with-ssl') ? '$(TAO_ROOT)/orbsvcs/orbsvcs/Security.mpc' : ''}
|
177
|
+
#{get_config('with-ssl') ? '$(TAO_ROOT)/orbsvcs/orbsvcs/SSLIOP.mpc' : ''}
|
178
|
+
exclude {
|
179
|
+
bin
|
180
|
+
docs
|
181
|
+
etc
|
182
|
+
html
|
183
|
+
include
|
184
|
+
lib
|
185
|
+
m4
|
186
|
+
man
|
187
|
+
contrib
|
188
|
+
netsvcs
|
189
|
+
websvcs
|
190
|
+
protocols
|
191
|
+
tests
|
192
|
+
performance-tests
|
193
|
+
examples
|
194
|
+
Kokyu
|
195
|
+
ASNMP
|
196
|
+
ACEXML
|
197
|
+
}
|
198
|
+
}
|
199
|
+
}
|
200
|
+
end
|
201
|
+
|
202
|
+
def self.default_features
|
203
|
+
%Q{
|
204
|
+
qos=0
|
205
|
+
ssl=#{get_config('with-ssl') ? 1 : 0}
|
206
|
+
ipv6=#{get_config('with-ipv6') ? 1 : 0}
|
207
|
+
}
|
208
|
+
end
|
209
|
+
|
210
|
+
def self.ace_config_path
|
211
|
+
File.join(get_config('aceroot'), 'ace', 'config.h')
|
212
|
+
end
|
213
|
+
|
214
|
+
def self.platform_macros_path
|
215
|
+
File.join(get_config('aceroot'), 'include', 'makeinclude', 'platform_macros.GNU')
|
216
|
+
end
|
217
|
+
|
218
|
+
def self.default_features_path
|
219
|
+
File.join(get_config('aceroot'), 'bin', 'MakeProjectCreator', 'config', 'default.features')
|
220
|
+
end
|
221
|
+
|
222
|
+
def self.tao_mwc_path
|
223
|
+
File.join(get_config('aceroot'), 'TAO4Ruby.mwc')
|
224
|
+
end
|
225
|
+
|
226
|
+
def self.tao_makefile
|
227
|
+
File.join(get_config('aceroot'), 'GNUmakefile')
|
228
|
+
end
|
229
|
+
|
230
|
+
def self.ext_makefile
|
231
|
+
File.join('ext', 'GNUmakefile')
|
232
|
+
end
|
233
|
+
|
234
|
+
def self.post_build
|
235
|
+
# Do we handle ACE+TAO here?
|
236
|
+
if get_config('without-tao')
|
237
|
+
if R2CORBA::Config.is_osx
|
238
|
+
# configure dynamic library dependencies for Mac OSX
|
239
|
+
so_ext = '.dylib'
|
240
|
+
|
241
|
+
inst_extlibs = Dir.glob(File.join('ext', '*.bundle'))
|
242
|
+
inst_dylibs = inst_extlibs + ACE_FILES.collect {|dep| File.join(get_config('aceroot'), 'lib', 'lib' + dep + so_ext)}
|
243
|
+
# cross dependencies of ext dynamic libs on each other
|
244
|
+
# make sure they refer to *.bundle NOT *.dylib
|
245
|
+
inst_extlibs.each do |extlib|
|
246
|
+
inst_extlibs.each do |dep|
|
247
|
+
dep_org = File.basename(dep, '.bundle') + so_ext
|
248
|
+
sh("install_name_tool -change #{dep_org} @rpath/#{File.basename(dep)} #{extlib}")
|
249
|
+
end
|
250
|
+
# add install directory as rpath; first delete rpath ignoring errors, next add the rpath
|
251
|
+
sh("install_name_tool -delete_rpath #{get_config('siterubyverarch')} #{extlib} >/dev/null 2>&1")
|
252
|
+
sh("install_name_tool -add_rpath #{get_config('siterubyverarch')} #{extlib}")
|
253
|
+
end
|
254
|
+
# dependencies on ACE+TAO libs
|
255
|
+
inst_dylibs.each do |dylib|
|
256
|
+
ACE_FILES.each do |dep|
|
257
|
+
command("install_name_tool -change lib#{dep + so_ext} @rpath/lib#{dep + so_ext} #{dylib}")
|
258
|
+
end
|
259
|
+
# add current dir and install dir as rpath entries; first delete rpath ignoring errors, next add the rpath
|
260
|
+
sh("install_name_tool -delete_rpath . #{dylib} >/dev/null 2>&1")
|
261
|
+
sh("install_name_tool -add_rpath . #{dylib}")
|
262
|
+
sh("install_name_tool -delete_rpath #{get_config('aceinstdir')} #{dylib} >/dev/null 2>&1")
|
263
|
+
sh("install_name_tool -add_rpath #{get_config('aceinstdir')} #{dylib}")
|
264
|
+
end
|
265
|
+
elsif !is_win32
|
266
|
+
# create unversioned ACE+TAO lib symlinks
|
267
|
+
|
268
|
+
ACE_FILES.collect {|dep| File.join(get_config('aceroot'), 'lib', 'lib' + dep + '.so')}.each do |lib|
|
269
|
+
Dir.glob(lib + '.*').each {|verlib| File.symlink(verlib, lib) unless File.exist?(lib)}
|
270
|
+
end
|
271
|
+
end
|
272
|
+
end
|
273
|
+
end
|
274
|
+
|
275
|
+
end # Ext
|
276
|
+
|
277
|
+
end # R2CORBA
|
@@ -0,0 +1,208 @@
|
|
1
|
+
#--------------------------------------------------------------------
|
2
|
+
# ext_r2tao.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
|
+
#--------------------------------------------------------------------
|
12
|
+
|
13
|
+
require 'open-uri'
|
14
|
+
|
15
|
+
module R2CORBA
|
16
|
+
|
17
|
+
module Ext
|
18
|
+
|
19
|
+
if RUBY_PLATFORM =~ /mingw/
|
20
|
+
|
21
|
+
mpc_os_block = <<OS_DEP__
|
22
|
+
libs += #{File.basename(RB_CONFIG['LIBRUBY'], '.a').sub(/^lib/, '')}
|
23
|
+
libout = .
|
24
|
+
dllout = .
|
25
|
+
verbatim(gnuace, macros, 1) {
|
26
|
+
override SOEXT := #{RB_CONFIG['DLEXT']}
|
27
|
+
}
|
28
|
+
postbuild = <%cp%> lib<%sharedname%>.so ..<%slash%>
|
29
|
+
postclean = <%rm%> ..<%slash%>lib<%sharedname%>.so
|
30
|
+
OS_DEP__
|
31
|
+
|
32
|
+
elsif RUBY_PLATFORM =~ /darwin/
|
33
|
+
|
34
|
+
mpc_os_block = <<OS_DEP__
|
35
|
+
specific(gnuace) {
|
36
|
+
linkflags += "#{RB_CONFIG['LIBRUBYARG_SHARED']}"
|
37
|
+
}
|
38
|
+
libout = .
|
39
|
+
dllout = .
|
40
|
+
specific(gnuace) {
|
41
|
+
linkflags += -headerpad_max_install_names
|
42
|
+
}
|
43
|
+
postbuild = ln -s -f lib<%sharedname%>.dylib lib<%sharedname%>.bundle
|
44
|
+
postbuild += ln -s -f lib<%sharedname%>.dylib ..<%slash%>lib<%sharedname%>.bundle
|
45
|
+
postclean = <%rm%> lib<%sharedname%>.bundle
|
46
|
+
postclean += <%rm%> ..<%slash%>lib<%sharedname%>.bundle
|
47
|
+
OS_DEP__
|
48
|
+
|
49
|
+
else
|
50
|
+
|
51
|
+
mpc_os_block = <<OS_DEP__
|
52
|
+
specific(gnuace) {
|
53
|
+
linkflags += "#{RB_CONFIG['LIBRUBYARG_SHARED']}"
|
54
|
+
linkflags += -Wl,-rpath,#{get_config('aceinstdir')}
|
55
|
+
}
|
56
|
+
libout = .
|
57
|
+
dllout = ..
|
58
|
+
OS_DEP__
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
R2TAO_MPC = <<THE_END
|
63
|
+
project : taolib, portableserver, anytypecode, dynamicany, dynamicinterface, typecodefactory {
|
64
|
+
Source_Files {
|
65
|
+
required.cpp
|
66
|
+
object.cpp
|
67
|
+
orb.cpp
|
68
|
+
exception.cpp
|
69
|
+
typecode.cpp
|
70
|
+
any.cpp
|
71
|
+
longdouble.cpp
|
72
|
+
values.cpp
|
73
|
+
}
|
74
|
+
dynamicflags = R2TAO_BUILD_DLL
|
75
|
+
includes += "#{RB_CONFIG['rubyhdrdir'] || RB_CONFIG['archdir']}" \\
|
76
|
+
#{RB_CONFIG['rubyhdrdir'] ? '"' + File.join(RB_CONFIG['rubyhdrdir'], RB_CONFIG['arch']) + '"' : ''} \\
|
77
|
+
.
|
78
|
+
macros += RUBY_VER_MAJOR=#{Config.rb_ver_major} RUBY_VER_MINOR=#{Config.rb_ver_minor} RUBY_VER_RELEASE=#{Config.rb_ver_release}
|
79
|
+
sharedname = r2tao
|
80
|
+
libpaths += "#{RB_CONFIG['libdir']}"
|
81
|
+
#{mpc_os_block}
|
82
|
+
}
|
83
|
+
THE_END
|
84
|
+
|
85
|
+
RPOA_MPC = <<THE_END
|
86
|
+
project : taolib, portableserver, anytypecode, dynamicany, dynamicinterface, typecodefactory, iortable {
|
87
|
+
after += r2tao
|
88
|
+
Source_Files {
|
89
|
+
poa.cpp
|
90
|
+
servant.cpp
|
91
|
+
iortable.cpp
|
92
|
+
}
|
93
|
+
dynamicflags = R2TAO_POA_BUILD_DLL
|
94
|
+
libpaths += #{File.join('..', 'libr2tao')}
|
95
|
+
includes += "#{RB_CONFIG['rubyhdrdir'] || RB_CONFIG['archdir']}" \\
|
96
|
+
#{RB_CONFIG['rubyhdrdir'] ? '"' + File.join(RB_CONFIG['rubyhdrdir'], RB_CONFIG['arch']) + '"' : ''} \\
|
97
|
+
#{File.join('..', 'libr2tao')} \\
|
98
|
+
.
|
99
|
+
macros += RUBY_VER_MAJOR=#{Config.rb_ver_major} RUBY_VER_MINOR=#{Config.rb_ver_minor} RUBY_VER_RELEASE=#{Config.rb_ver_release}
|
100
|
+
sharedname = rpoa
|
101
|
+
libpaths += "#{RB_CONFIG['libdir']}"
|
102
|
+
#{mpc_os_block}
|
103
|
+
libs += r2tao#{Config.is_win32 ? '.' + RB_CONFIG['DLEXT'] : ''}
|
104
|
+
}
|
105
|
+
THE_END
|
106
|
+
|
107
|
+
RPOL_MPC = <<THE_END
|
108
|
+
project : taolib, portableserver, anytypecode, dynamicany, dynamicinterface, typecodefactory, bidir_giop {
|
109
|
+
after += r2tao rpoa
|
110
|
+
Source_Files {
|
111
|
+
policies.cpp
|
112
|
+
}
|
113
|
+
dynamicflags = R2TAO_POL_BUILD_DLL
|
114
|
+
libpaths += #{File.join('..', 'libr2tao')} #{File.join('..', 'librpoa')}
|
115
|
+
includes += "#{RB_CONFIG['rubyhdrdir'] || RB_CONFIG['archdir']}" \\
|
116
|
+
#{RB_CONFIG['rubyhdrdir'] ? '"' + File.join(RB_CONFIG['rubyhdrdir'], RB_CONFIG['arch']) + '"' : ''} \\
|
117
|
+
#{File.join('..', 'libr2tao')} \\
|
118
|
+
#{File.join('..', 'librpoa')} \\
|
119
|
+
.
|
120
|
+
macros += RUBY_VER_MAJOR=#{Config.rb_ver_major} RUBY_VER_MINOR=#{Config.rb_ver_minor} RUBY_VER_RELEASE=#{Config.rb_ver_release}
|
121
|
+
sharedname = rpol
|
122
|
+
libpaths += "#{RB_CONFIG['libdir']}"
|
123
|
+
#{mpc_os_block}
|
124
|
+
libs += r2tao#{Config.is_win32 ? '.' + RB_CONFIG['DLEXT'] : ''}
|
125
|
+
libs += rpoa#{Config.is_win32 ? '.' + RB_CONFIG['DLEXT'] : ''}
|
126
|
+
}
|
127
|
+
THE_END
|
128
|
+
|
129
|
+
|
130
|
+
def self.r2tao_mpc_file
|
131
|
+
File.join('ext', 'libr2tao', 'r2tao.mpc')
|
132
|
+
end
|
133
|
+
|
134
|
+
def self.rpoa_mpc_file
|
135
|
+
File.join('ext', 'librpoa', 'rpoa.mpc')
|
136
|
+
end
|
137
|
+
|
138
|
+
def self.rpol_mpc_file
|
139
|
+
File.join('ext', 'librpol', 'rpol.mpc')
|
140
|
+
end
|
141
|
+
|
142
|
+
def self.get_latest_ace_version
|
143
|
+
print 'Latest ACE release is '
|
144
|
+
_version = nil
|
145
|
+
open('https://raw.githubusercontent.com/DOCGroup/ACE_TAO/master/ACE/ace/Version.h') do |f|
|
146
|
+
f.each_line do |ln|
|
147
|
+
if /define\s+ACE_VERSION\s+\"(.*)\"/ =~ ln
|
148
|
+
_version = $1
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
152
|
+
puts _version
|
153
|
+
_version
|
154
|
+
end
|
155
|
+
|
156
|
+
# Downloading from github results in some http redirects which we first have to follow
|
157
|
+
def self.follow_url(uri_str, limit = 10)
|
158
|
+
raise ArgumentError, 'HTTP redirect too deep' if limit == 0
|
159
|
+
url = URI(uri_str)
|
160
|
+
req = Net::HTTP::Get.new(url)
|
161
|
+
response = Net::HTTP.start(url.host, url.port, use_ssl: true) { |http| http.request(req) }
|
162
|
+
case response
|
163
|
+
when Net::HTTPSuccess then uri_str
|
164
|
+
when Net::HTTPRedirection then follow_url(response['location'], limit - 1)
|
165
|
+
else
|
166
|
+
response.error!
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
def self.download_tao_source(version, targetdir)
|
171
|
+
version_dir = version.gsub('.', '_')
|
172
|
+
_url = "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-#{version_dir}/ACE+TAO-src-#{version}.tar.gz"
|
173
|
+
print(_msg = "Downloading ACE+TAO-src-#{version}.tar.gz from #{_url}")
|
174
|
+
_fnm = File.join(targetdir, "ACE+TAO-src-#{version}.tar.gz")
|
175
|
+
# First follow all http redirects
|
176
|
+
url = URI(follow_url(_url))
|
177
|
+
Net::HTTP.start(url.host, url.port, use_ssl: true) do |http|
|
178
|
+
_fout = File.open(_fnm, 'wb')
|
179
|
+
begin
|
180
|
+
http.request_get(url) do |resp|
|
181
|
+
_sndlen = resp.content_length
|
182
|
+
_reclen = 0
|
183
|
+
resp.read_body do |segment|
|
184
|
+
_fout.write(segment)
|
185
|
+
if _sndlen
|
186
|
+
_reclen += segment.size
|
187
|
+
print "\r#{_msg} #{_reclen * 100 / _sndlen}\%"
|
188
|
+
else
|
189
|
+
print '#'
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
193
|
+
ensure
|
194
|
+
_fout.close()
|
195
|
+
puts
|
196
|
+
end
|
197
|
+
end
|
198
|
+
FileUtils::Verbose.sh("rm -rf #{File.join(targetdir, 'ACE_wrappers')} && tar -xzf #{_fnm} -C #{targetdir}")
|
199
|
+
FileUtils::Verbose.sh("rm -f #{_fnm} && tar --format=gnu -czf #{_fnm} -C src ACE_wrappers")
|
200
|
+
end
|
201
|
+
|
202
|
+
def self.ext_shlibs
|
203
|
+
%w{libr2tao librpoa librpol}.collect {|lib| File.join('ext', lib + '.so') }
|
204
|
+
end
|
205
|
+
|
206
|
+
end
|
207
|
+
|
208
|
+
end
|