r2corba 1.4.1-universal-java-1.7
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.
- data/CHANGES +159 -0
- data/LICENSE +59 -0
- data/LICENSE.jacorb +660 -0
- data/README +62 -0
- data/THANKS +52 -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/jacorb/lib/antlr-2.7.2.jar +0 -0
- data/jacorb/lib/jacorb-services.jar +0 -0
- data/jacorb/lib/jacorb.jar +0 -0
- data/jacorb/lib/slf4j-api-1.6.4.jar +0 -0
- data/jacorb/lib/slf4j-jdk14-1.6.4.jar +0 -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/BiDirPolicyC.rb +63 -0
- data/lib/corba/idl/CosNamingC.rb +461 -0
- data/lib/corba/idl/CosNamingS.rb +309 -0
- data/lib/corba/idl/IDL.rb +21 -0
- data/lib/corba/idl/IORTable.pidl +62 -0
- data/lib/corba/idl/MessagingC.rb +904 -0
- data/lib/corba/idl/POAC.rb +930 -0
- data/lib/corba/idl/TAO_Ext.pidl +46 -0
- data/lib/corba/idl/r2c_orb.rb +572 -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/orb.pidlc +0 -0
- data/lib/ridlbe/ruby/require.rb +16 -0
- data/lib/ridlbe/ruby/walker.rb +1582 -0
- data/mkrf_conf_bingem.rb +101 -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/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.ior +1 -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/ins.ior +1 -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/corbaname.ior +1 -0
- data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -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/ins.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +0 -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.ior +1 -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/Multiple_ORB/server0.ior +1 -0
- data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -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.ior +1 -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.ior +1 -0
- data/test/Multi_Threading/Threads/server.rb +119 -0
- data/test/Multi_Threading/Threads/watchdog.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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.ior +1 -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 +352 -0
data/rakelib/config.rb
ADDED
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
#--------------------------------------------------------------------
|
|
2
|
+
# config.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 'rbconfig'
|
|
15
|
+
require 'yaml'
|
|
16
|
+
require 'optparse'
|
|
17
|
+
|
|
18
|
+
require 'rake/clean'
|
|
19
|
+
|
|
20
|
+
require File.join(File.dirname(__FILE__), '../lib/corba/common/version')
|
|
21
|
+
|
|
22
|
+
=begin
|
|
23
|
+
|
|
24
|
+
Generic keys defaulted to RB_CONFIG value
|
|
25
|
+
================================================
|
|
26
|
+
bindir
|
|
27
|
+
libdir
|
|
28
|
+
datadir
|
|
29
|
+
mandir
|
|
30
|
+
sysconfdir
|
|
31
|
+
localstatedir
|
|
32
|
+
|
|
33
|
+
custom keys
|
|
34
|
+
===========
|
|
35
|
+
Generic
|
|
36
|
+
|
|
37
|
+
key default
|
|
38
|
+
--- ------
|
|
39
|
+
prefix nil
|
|
40
|
+
libruby File.join(RB_CONFIG['libdir'], 'ruby'),
|
|
41
|
+
librubyver RB_CONFIG['rubylibdir'],
|
|
42
|
+
librubyverarch RB_CONFIG['archdir'],
|
|
43
|
+
siteruby RB_CONFIG['sitedir'],
|
|
44
|
+
siterubyver RB_CONFIG['sitelibdir'],
|
|
45
|
+
siterubyverarch RB_CONFIG['sitearchdir'],
|
|
46
|
+
rbdir RB_CONFIG['siterubyver']
|
|
47
|
+
sodir RB_CONFIG['siterubyverarch']
|
|
48
|
+
|
|
49
|
+
MRI
|
|
50
|
+
|
|
51
|
+
key default
|
|
52
|
+
--- ------
|
|
53
|
+
makeprog 'make'
|
|
54
|
+
without-tao 'no'
|
|
55
|
+
aceroot nil
|
|
56
|
+
taoroot nil
|
|
57
|
+
mpcroot nil
|
|
58
|
+
aceinstdir $ACE_ROOT/lib || get_config[:sodir]
|
|
59
|
+
with-ipv6 'no'
|
|
60
|
+
with-ssl 'no'
|
|
61
|
+
sslroot '/usr'
|
|
62
|
+
with-debug 'no'
|
|
63
|
+
|
|
64
|
+
Java
|
|
65
|
+
|
|
66
|
+
key default
|
|
67
|
+
--- ------
|
|
68
|
+
without-jacorb false
|
|
69
|
+
jacorb_home ENV['JACORB_HOME']
|
|
70
|
+
=end
|
|
71
|
+
|
|
72
|
+
module R2CORBA
|
|
73
|
+
|
|
74
|
+
if defined? ::RbConfig
|
|
75
|
+
RB_CONFIG = ::RbConfig::CONFIG
|
|
76
|
+
else
|
|
77
|
+
RB_CONFIG = ::Config::CONFIG
|
|
78
|
+
end unless defined? RB_CONFIG
|
|
79
|
+
|
|
80
|
+
CFGKEYS = %w{prefix
|
|
81
|
+
bindir
|
|
82
|
+
libdir
|
|
83
|
+
datadir
|
|
84
|
+
mandir
|
|
85
|
+
sysconfdir
|
|
86
|
+
localstatedir
|
|
87
|
+
libruby
|
|
88
|
+
librubyver
|
|
89
|
+
librubyverarch
|
|
90
|
+
siteruby
|
|
91
|
+
siterubyver
|
|
92
|
+
siterubyverarch
|
|
93
|
+
rbdir
|
|
94
|
+
sodir}
|
|
95
|
+
|
|
96
|
+
RBDEFAULTS = %w{bindir
|
|
97
|
+
libdir
|
|
98
|
+
datadir
|
|
99
|
+
mandir
|
|
100
|
+
sysconfdir
|
|
101
|
+
localstatedir}
|
|
102
|
+
|
|
103
|
+
CONFIG = {
|
|
104
|
+
:libruby => File.join(RB_CONFIG['libdir'], 'ruby'),
|
|
105
|
+
:librubyver => RB_CONFIG['rubylibdir'],
|
|
106
|
+
:librubyverarch => RB_CONFIG['archdir'],
|
|
107
|
+
:siteruby => RB_CONFIG['sitedir'],
|
|
108
|
+
:siterubyver => RB_CONFIG['sitelibdir'],
|
|
109
|
+
:siterubyverarch => RB_CONFIG['sitearchdir'],
|
|
110
|
+
:rbdir => :siterubyver,
|
|
111
|
+
:sodir => :siterubyverarch,
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if defined?(JRUBY_VERSION)
|
|
115
|
+
CFGKEYS.concat(%w{without-jacorb jacorb_home})
|
|
116
|
+
CONFIG.merge!({
|
|
117
|
+
:'without-jacorb' => false,
|
|
118
|
+
:jacorb_home => ENV['JACORB_HOME'] || ''
|
|
119
|
+
})
|
|
120
|
+
BUILD_CFG = '.jrconfig'
|
|
121
|
+
else
|
|
122
|
+
CFGKEYS.concat(%w{makeprog without-tao aceroot taoroot mpcroot aceinstdir with-ipv6 with-ssl sslroot with-debug})
|
|
123
|
+
CONFIG.merge!({
|
|
124
|
+
:makeprog => 'make',
|
|
125
|
+
:'without-tao' => false,
|
|
126
|
+
:aceroot => ENV['ACE_ROOT'] || '',
|
|
127
|
+
:taoroot => ENV['TAO_ROOT'] || '',
|
|
128
|
+
:mpcroot => ENV['MPC_ROOT'] || '',
|
|
129
|
+
:aceinstdir => '',
|
|
130
|
+
:'with-ipv6' => false,
|
|
131
|
+
:'with-ssl' => false,
|
|
132
|
+
:sslroot => ENV['SSL_ROOT'] || (RUBY_PLATFORM =~ /mingw32/ ? '' : '/usr'),
|
|
133
|
+
:'with-debug' => false,
|
|
134
|
+
})
|
|
135
|
+
BUILD_CFG = '.rconfig'
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
module AccessMethods
|
|
139
|
+
def get_config(key)
|
|
140
|
+
v = R2CORBA::CONFIG.has_key?(key.to_sym) ? R2CORBA::CONFIG[key.to_sym] : (RBDEFAULTS.include?(key.to_s) ? RB_CONFIG[key.to_s] : nil)
|
|
141
|
+
v = R2CORBA::CONFIG[v] while Symbol === v && R2CORBA::CONFIG.has_key?(v)
|
|
142
|
+
v
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
def set_config(key, val)
|
|
146
|
+
R2CORBA::CONFIG[key.to_sym] = val
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
module Config
|
|
151
|
+
|
|
152
|
+
@@ruby_ver = RUBY_VERSION.split('.').collect {|n| n.to_i}
|
|
153
|
+
|
|
154
|
+
def self.rb_ver_major
|
|
155
|
+
@@ruby_ver[0]
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def self.rb_ver_minor
|
|
159
|
+
@@ruby_ver[1]
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
def self.rb_ver_release
|
|
163
|
+
@@ruby_ver[2]
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
@@is_win32 = RUBY_PLATFORM =~ /mingw32/ ? true : false
|
|
167
|
+
@@is_win64 = (@@is_win32 && (RUBY_PLATFORM =~ /x64/)) ? true : false
|
|
168
|
+
@@is_linux = RB_CONFIG['target_os'] =~ /linux/ ? true : false
|
|
169
|
+
@@is_osx = RUBY_PLATFORM =~ /darwin/ ? true : false
|
|
170
|
+
|
|
171
|
+
def self.is_win32
|
|
172
|
+
@@is_win32
|
|
173
|
+
end
|
|
174
|
+
def self.is_win64
|
|
175
|
+
@@is_win64
|
|
176
|
+
end
|
|
177
|
+
def self.is_linux
|
|
178
|
+
@@is_linux
|
|
179
|
+
end
|
|
180
|
+
def self.is_osx
|
|
181
|
+
@@is_osx
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
@@cpu_cores = (@@is_linux ? `cat /proc/cpuinfo | grep processor | wc -l`.to_i : 1)
|
|
185
|
+
|
|
186
|
+
def self.cpu_cores
|
|
187
|
+
@@cpu_cores
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
@@ridl_local = nil
|
|
191
|
+
@@ridlc = nil
|
|
192
|
+
|
|
193
|
+
def self.ridl_is_local?
|
|
194
|
+
@@ridl_local
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
def self.ridlc
|
|
198
|
+
@@ridlc.dup
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
@@rpath_patch = nil
|
|
202
|
+
|
|
203
|
+
def self.rpath_patch
|
|
204
|
+
@@rpath_patch
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
def self.init
|
|
208
|
+
if defined?(JRUBY_VERSION)
|
|
209
|
+
# check/set environment settings for JacORB
|
|
210
|
+
ENV['JACORB_HOME'] ||= get_config('jacorb_home')
|
|
211
|
+
else
|
|
212
|
+
|
|
213
|
+
if Dir[File.join('ext', 'libACE.*')].empty? # Don't check for ACE/TAO installation when executed for binary gem install
|
|
214
|
+
|
|
215
|
+
# check/set environment settings for ACE+TAO
|
|
216
|
+
ENV['ACE_ROOT'] = get_config('aceroot')
|
|
217
|
+
ENV['TAO_ROOT'] = get_config('taoroot')
|
|
218
|
+
ENV['MPC_ROOT'] = get_config('mpcroot')
|
|
219
|
+
|
|
220
|
+
if is_win32
|
|
221
|
+
ENV['PATH'] = "#{File.join(ENV['ACE_ROOT'],'lib')}#{';'}#{ENV['PATH']}"
|
|
222
|
+
ENV['SSL_ROOT'] = get_config('sslroot') if get_config('with-ssl')
|
|
223
|
+
elsif RUBY_PLATFORM =~ /darwin/
|
|
224
|
+
ENV['DYLD_LIBRARY_PATH'] = "#{File.join(ENV['ACE_ROOT'],'lib')}#{File::PATH_SEPARATOR}#{ENV['DYLD_LIBRARY_PATH'] || ""}"
|
|
225
|
+
ENV['SSL_ROOT'] = get_config('sslroot') if get_config('with-ssl') && get_config('sslroot')!='/usr'
|
|
226
|
+
else
|
|
227
|
+
ENV['LD_LIBRARY_PATH'] = "#{File.join(ENV['ACE_ROOT'],'lib')}#{File::PATH_SEPARATOR}#{ENV['LD_LIBRARY_PATH'] || ""}"
|
|
228
|
+
ENV['SSL_ROOT'] = get_config('sslroot') if get_config('with-ssl') && get_config('sslroot')!='/usr'
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
else
|
|
232
|
+
|
|
233
|
+
unless is_win32
|
|
234
|
+
# check for required tools to patch RPATH setting of shared libs
|
|
235
|
+
if is_osx
|
|
236
|
+
if system('which install_name_tool > /dev/null 2>&1')
|
|
237
|
+
@@rpath_patch = 'install_name_tool'
|
|
238
|
+
else
|
|
239
|
+
raise 'Installation of binary gem requires an installed version of the install_name_tool utility.'
|
|
240
|
+
end
|
|
241
|
+
else
|
|
242
|
+
if system('which patchelf > /dev/null 2>&1')
|
|
243
|
+
@@rpath_patch = 'patchelf --set-rpath'
|
|
244
|
+
elsif system('which chrpath > /dev/null 2>&1')
|
|
245
|
+
@@rpath_patch = 'chrpath --replace'
|
|
246
|
+
else
|
|
247
|
+
raise 'Installation of binary gem requires an installed version of either the patchelf OR chrpath utility.'
|
|
248
|
+
end
|
|
249
|
+
end
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
@@ridlc = File.join('bin', 'ridlc')
|
|
257
|
+
|
|
258
|
+
# check availability of RIDL; either as gem or in subdir
|
|
259
|
+
if (@@ridl_local = File.exists?(File.join('ridl', 'lib', 'ridl', 'ridl.rb')))
|
|
260
|
+
incdirs = [
|
|
261
|
+
File.expand_path(File.join('ridl', 'lib')),
|
|
262
|
+
File.expand_path('lib'),
|
|
263
|
+
ENV['RUBYLIB']
|
|
264
|
+
].compact
|
|
265
|
+
ENV['RUBYLIB'] = incdirs.join(File::PATH_SEPARATOR)
|
|
266
|
+
else # RIDL probably installed as gem
|
|
267
|
+
incdirs = [
|
|
268
|
+
File.expand_path('lib'),
|
|
269
|
+
ENV['RUBYLIB']
|
|
270
|
+
].compact
|
|
271
|
+
ENV['RUBYLIB'] = incdirs.join(File::PATH_SEPARATOR)
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
def self.define
|
|
277
|
+
OptionParser.new do |opts|
|
|
278
|
+
opts.banner = "Usage: rake [rake options] -- configure [options]"
|
|
279
|
+
|
|
280
|
+
opts.separator ""
|
|
281
|
+
|
|
282
|
+
opts.on('--prefix=path',
|
|
283
|
+
"path prefix of target environment [#{get_config(:prefix)}]") {|v| set_config(:prefix, File.expand_path(v))}
|
|
284
|
+
opts.on('--bindir=path',
|
|
285
|
+
"the directory for commands [#{RB_CONFIG['bindir']}]") {|v| CONFIG[:bindir] = v}
|
|
286
|
+
opts.on('--libdir=path',
|
|
287
|
+
"the directory for libraries [#{RB_CONFIG['libdir']}]") {|v| CONFIG[:libdir] = v}
|
|
288
|
+
opts.on('--datadir=path',
|
|
289
|
+
"the directory for shared data [#{RB_CONFIG['datadir']}]") {|v| CONFIG[:datadir] = v}
|
|
290
|
+
opts.on('--mandir=path',
|
|
291
|
+
"the directory for man pages [#{RB_CONFIG['mandir']}]") {|v| CONFIG[:mandir] = v}
|
|
292
|
+
opts.on('--sysconfdir=path',
|
|
293
|
+
"the directory for system configuration files [#{RB_CONFIG['sysconfdir']}]") {|v| CONFIG[:sysconfdir] = v}
|
|
294
|
+
opts.on('--localstatedir=path',
|
|
295
|
+
"the directory for local state data [#{RB_CONFIG['localstatedir']}]") {|v| CONFIG[:localstatedir] = v}
|
|
296
|
+
opts.on('--libruby=path',
|
|
297
|
+
"the directory for ruby libraries [#{get_config('libruby')}]") {|v| CONFIG[:libruby] = v}
|
|
298
|
+
opts.on('--librubyver=path',
|
|
299
|
+
"the directory for standard ruby libraries [#{get_config('librubyver')}]") {|v| CONFIG[:librubyver] = v}
|
|
300
|
+
opts.on('--librubyverarch=path',
|
|
301
|
+
"the directory for standard ruby extensions [#{get_config('librubyverarch')}]") {|v| CONFIG[:librubyverarch] = v}
|
|
302
|
+
opts.on('--siteruby=path',
|
|
303
|
+
"the directory for version-independent aux ruby libraries [#{get_config('siteruby')}]") {|v| CONFIG[:siteruby] = v}
|
|
304
|
+
opts.on('--siterubyver=path',
|
|
305
|
+
"the directory for aux ruby libraries [#{get_config('siterubyver')}]") {|v| CONFIG[:siterubyver] = v}
|
|
306
|
+
opts.on('--siterubyverarch=path',
|
|
307
|
+
"the directory for aux ruby binaries [#{get_config('siterubyverarch')}]") {|v| CONFIG[:siterubyverarch] = v}
|
|
308
|
+
opts.on('--rbdir=path',
|
|
309
|
+
"the directory for ruby scripts [#{get_config(:rbdir)}]") {|v| CONFIG[:rbdir] = v}
|
|
310
|
+
opts.on('--sodir=path',
|
|
311
|
+
"the directory for ruby extentions [#{get_config(:sodir)}]") {|v| CONFIG[:sodir] = v}
|
|
312
|
+
if defined?(JRUBY_VERSION)
|
|
313
|
+
opts.on('--without-jacorb',
|
|
314
|
+
"do *not* install JacORB JAR files with R2CORBA [#{get_config('without-jacorb')}]") {|v| CONFIG[:'without-jacorb'] = true}
|
|
315
|
+
opts.on('--jacorb-home=path',
|
|
316
|
+
"the path to the root directory of JacORB [#{get_config(:jacorb_home)}]") {|v| CONFIG[:jacorb_home] = v}
|
|
317
|
+
else
|
|
318
|
+
opts.on('--makeprog=name',
|
|
319
|
+
"the make program to compile ruby extentions [#{get_config(:makeprog)}]") {|v| CONFIG[:makeprog] = v}
|
|
320
|
+
opts.on('--without-tao',
|
|
321
|
+
"do *not* configure/build/clean the ACE+TAO libraries [#{get_config('without-tao')}]") {|v| CONFIG[:'without-tao'] = true}
|
|
322
|
+
opts.on('--aceroot=path',
|
|
323
|
+
"the path to the root directory of ACE [#{get_config(:aceroot)}]") {|v| CONFIG[:aceroot] = v}
|
|
324
|
+
opts.on('--taoroot=path',
|
|
325
|
+
"the path to the root directory of TAO [#{get_config(:taoroot)}]") {|v| CONFIG[:taoroot] = v}
|
|
326
|
+
opts.on('--mpcroot=path',
|
|
327
|
+
"the path to the root directory of MPC [#{get_config(:mpcroot)}]") {|v| CONFIG[:mpcroot] = v}
|
|
328
|
+
opts.on('--aceinstdir=path',
|
|
329
|
+
"the directory where the ACE+TAO dlls are installed (automatically determined if not specified) [#{get_config(:aceinstdir)}]") {|v| CONFIG[:aceinstdir] = v}
|
|
330
|
+
opts.on('--with-ipv6',
|
|
331
|
+
"build ACE+TAO libraries with IPv6 support enabled [#{get_config('with-ipv6')}]") {|v| CONFIG[:'with-ipv6'] = true}
|
|
332
|
+
opts.on('--with-ssl',
|
|
333
|
+
"build ACE+TAO libraries with SSL support enabled (autodetected with prebuilt ACE/TAO) [#{get_config('with-ssl')}]") {|v| CONFIG[:'with-ssl'] = true}
|
|
334
|
+
opts.on('--sslroot=path',
|
|
335
|
+
"the root path where SSL includes and libraries can be found [#{get_config(:sslroot)}]") {|v| CONFIG[:sslroot] = v}
|
|
336
|
+
opts.on('--with-debug',
|
|
337
|
+
"build with debugger support [#{get_config('with-debug')}]") {|v| CONFIG[:'with-debug'] = true}
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
opts.separator ""
|
|
341
|
+
|
|
342
|
+
opts.on('--help', 'Show this help message') { puts opts; puts; exit }
|
|
343
|
+
end.parse!(ARGV)
|
|
344
|
+
end
|
|
345
|
+
|
|
346
|
+
def self.check
|
|
347
|
+
if defined?(JRUBY_VERSION)
|
|
348
|
+
# check availability of JacORB
|
|
349
|
+
if get_config('jacorb_home')=='' && File.directory?('jacorb')
|
|
350
|
+
set_config('jacorb_home', File.expand_path('jacorb'))
|
|
351
|
+
end
|
|
352
|
+
raise "Cannot find JacORB. Missing JACORB_HOME configuration!" if get_config('jacorb_home').empty?
|
|
353
|
+
else
|
|
354
|
+
if Dir[File.join('ext', 'libACE.*')].empty? # Don't check for ACE/TAO installation when executed for binary gem install
|
|
355
|
+
|
|
356
|
+
if get_config('without-tao') && !(File.directory?(File.join('ACE','ACE_wrappers')) || File.directory?(File.join('ACE','ACE')))
|
|
357
|
+
|
|
358
|
+
# check if a user defined ACE/TAO location is specified or we're using a system standard install
|
|
359
|
+
if get_config('aceroot').empty?
|
|
360
|
+
# assume system standard install; will be checked below
|
|
361
|
+
set_config('aceroot', '/usr/include')
|
|
362
|
+
set_config('taoroot', '/usr/include')
|
|
363
|
+
set_config('mpcroot', '/usr/share/mpc')
|
|
364
|
+
set_config('aceinstdir', get_config('libdir')) if get_config('aceinstdir').empty?
|
|
365
|
+
else
|
|
366
|
+
set_config('aceinstdir', File.join(get_config('aceroot'), 'lib')) if get_config('aceinstdir').empty?
|
|
367
|
+
end
|
|
368
|
+
|
|
369
|
+
else
|
|
370
|
+
# check availability of ACE/TAO
|
|
371
|
+
if get_config('aceroot').empty? && (File.directory?(File.join('ACE','ACE_wrappers')) || File.directory?(File.join('ACE','ACE')))
|
|
372
|
+
set_config('aceroot', File.directory?(File.join('ACE','ACE_wrappers')) ? File.expand_path(File.join('ACE','ACE_wrappers')) : File.expand_path(File.join('ACE','ACE')))
|
|
373
|
+
end
|
|
374
|
+
if get_config('taoroot').empty? && (File.directory?(File.join(get_config('aceroot'),'TAO')) || File.directory?(File.join('ACE','TAO')))
|
|
375
|
+
set_config('taoroot', File.directory?(File.join(get_config('aceroot'),'TAO')) ? File.expand_path(File.join(get_config('aceroot'),'TAO')) : File.expand_path(File.join('ACE','TAO')))
|
|
376
|
+
end
|
|
377
|
+
if get_config('mpcroot').empty? && (File.directory?(File.join(get_config('aceroot'),'MPC')) || File.directory?(File.join('ACE','MPC')))
|
|
378
|
+
set_config('mpcroot', File.directory?(File.join(get_config('aceroot'),'MPC')) ? File.expand_path(File.join(get_config('aceroot'),'MPC')) : File.expand_path(File.join('ACE','MPC')))
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
set_config('aceinstdir', get_config('sodir')) if get_config('aceinstdir').empty?
|
|
382
|
+
end
|
|
383
|
+
|
|
384
|
+
raise 'Cannot find ACE+TAO. Missing ACE_ROOT configuration!' if get_config('aceroot').empty? || !File.directory?(File.join(get_config('aceroot'), 'ace'))
|
|
385
|
+
raise 'Cannot find ACE+TAO. Missing TAO_ROOT configuration!' if get_config('taoroot').empty? || !File.directory?(File.join(get_config('taoroot'), 'tao'))
|
|
386
|
+
raise 'Cannot find MPC. Missing MPC_ROOT configuration!' if get_config('mpcroot').empty? || !File.file?(File.join(get_config('mpcroot'), 'mpc.pl'))
|
|
387
|
+
|
|
388
|
+
unless get_config('without-tao') || get_config('with-ssl')
|
|
389
|
+
set_config('with-ssl', Dir.glob(File.join(get_config('aceroot'), 'lib', '*ACE_SLL.*')).empty?() ? false : true)
|
|
390
|
+
end
|
|
391
|
+
|
|
392
|
+
if is_osx
|
|
393
|
+
if system('which install_name_tool > /dev/null 2>&1')
|
|
394
|
+
@@rpath_patch = 'install_name_tool'
|
|
395
|
+
else
|
|
396
|
+
raise 'Building R2CORBA requires an installed version of the install_name_tool utility.'
|
|
397
|
+
end
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
else
|
|
401
|
+
|
|
402
|
+
unless is_win32
|
|
403
|
+
# check for required tools to patch RPATH setting of shared libs
|
|
404
|
+
if is_osx
|
|
405
|
+
if system('which install_name_tool > /dev/null 2>&1')
|
|
406
|
+
@@rpath_patch = 'install_name_tool'
|
|
407
|
+
else
|
|
408
|
+
raise 'Installation of binary gem requires an installed version of the install_name_tool utility.'
|
|
409
|
+
end
|
|
410
|
+
else
|
|
411
|
+
if system('which patchelf > /dev/null 2>&1')
|
|
412
|
+
@@rpath_patch = 'patchelf --set-rpath'
|
|
413
|
+
elsif system('which chrpath > /dev/null 2>&1')
|
|
414
|
+
@@rpath_patch = 'chrpath --replace'
|
|
415
|
+
else
|
|
416
|
+
raise 'Installation of binary gem requires an installed version of either the patchelf OR chrpath utility.'
|
|
417
|
+
end
|
|
418
|
+
end
|
|
419
|
+
end
|
|
420
|
+
|
|
421
|
+
end
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
# check availability of RIDL; either as gem or in subdir
|
|
425
|
+
unless File.exists?(File.join('ridl', 'lib', 'ridl', 'ridl.rb')) || (`gem search -i -q ridl`.strip) == 'true'
|
|
426
|
+
raise "Missing RIDL installation. R2CORBA requires RIDL installed either as gem or in subdirectory ridl."
|
|
427
|
+
end
|
|
428
|
+
end
|
|
429
|
+
|
|
430
|
+
def self.save
|
|
431
|
+
File.open(BUILD_CFG, 'w') do |f|
|
|
432
|
+
f << YAML.dump(CONFIG)
|
|
433
|
+
end
|
|
434
|
+
end
|
|
435
|
+
|
|
436
|
+
def self.load
|
|
437
|
+
if File.file?(BUILD_CFG)
|
|
438
|
+
File.open(BUILD_CFG, 'r') do |f|
|
|
439
|
+
CONFIG.merge!(YAML.load(f.read))
|
|
440
|
+
end
|
|
441
|
+
init
|
|
442
|
+
end
|
|
443
|
+
end
|
|
444
|
+
end
|
|
445
|
+
end
|
|
446
|
+
|
|
447
|
+
include R2CORBA::AccessMethods
|
|
448
|
+
|
|
449
|
+
# load current config (if any)
|
|
450
|
+
R2CORBA::Config.load
|
data/rakelib/gem.rake
ADDED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
#--------------------------------------------------------------------
|
|
2
|
+
# gem.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__), 'gem.rb')
|
|
15
|
+
|
|
16
|
+
namespace :r2corba do
|
|
17
|
+
namespace :gem do
|
|
18
|
+
task :srcgem => ['r2corba:bin:build', File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION)}.gem")]
|
|
19
|
+
|
|
20
|
+
task :bingem => ['r2corba:build', File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION, :bin)}.gem")]
|
|
21
|
+
|
|
22
|
+
task :extbingem => ['r2corba:build', File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION, :extbin)}.gem")]
|
|
23
|
+
|
|
24
|
+
task :srcbuild => 'r2corba:build' do
|
|
25
|
+
ext_dir = File.expand_path('ext')
|
|
26
|
+
unless defined?(JRUBY_VERSION) || get_config('without-tao')
|
|
27
|
+
# install ACE+TAO dlls
|
|
28
|
+
R2CORBA::Ext.ace_shlibs.each do |acelib|
|
|
29
|
+
libmask = R2CORBA::Config.is_linux ? acelib+'.*' : acelib
|
|
30
|
+
path = Dir.glob(libmask).first
|
|
31
|
+
raise "Cannot find ACE+TAO library #{File.basename(acelib)}." unless path
|
|
32
|
+
FileUtils.install(path, ext_dir, :mode => 0555, :verbose => Rake.verbose)
|
|
33
|
+
# create unversioned symlink
|
|
34
|
+
ln_s(File.join(ext_dir, File.basename(path)), File.join(ext_dir, File.basename(acelib)), :force => true) if R2CORBA::Config.is_linux
|
|
35
|
+
end
|
|
36
|
+
# clean up (uninstall) taosource gem
|
|
37
|
+
require 'rubygems/uninstaller'
|
|
38
|
+
Gem::Uninstaller.new('taosource', :all => true).uninstall
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
task :binbuild => ['r2corba:bin:build', 'r2corba:build_idl'] do
|
|
43
|
+
if R2CORBA::Config.is_linux
|
|
44
|
+
# create unversioned ACE/TAO lib symlinks
|
|
45
|
+
R2CORBA::Ext.ace_shlibs('.so', 'ext').each do |acelib|
|
|
46
|
+
acelib_ver = File.expand_path(Dir[acelib+'.*'].first)
|
|
47
|
+
ln_s(acelib_ver, acelib)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
unless defined?(JRUBY_VERSION) || R2CORBA::Config.is_win32
|
|
51
|
+
# patch RPATH setting of shared libs
|
|
52
|
+
R2CORBA::Gem.patch_extlib_rpath
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
unless defined?(JRUBY_VERSION)
|
|
57
|
+
task :taogem do
|
|
58
|
+
# get version of latest ACE release from internet
|
|
59
|
+
_ace_ver = R2CORBA::Ext.get_latest_ace_version
|
|
60
|
+
# make sure download target dir exists
|
|
61
|
+
Rake.mkdir_p('src')
|
|
62
|
+
# download latest TAO source archive from internet
|
|
63
|
+
R2CORBA::Ext.download_tao_source(_ace_ver, 'src')
|
|
64
|
+
# build gem
|
|
65
|
+
gemspec = R2CORBA::Gem.define_spec('taosource', _ace_ver) do |gem|
|
|
66
|
+
gem.summary = %Q{TAO sourcecode for building R2CORBA}
|
|
67
|
+
gem.description = %Q{TAO sourcecode for building R2CORBA.}
|
|
68
|
+
gem.email = 'mcorino@remedy.nl'
|
|
69
|
+
gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
|
|
70
|
+
gem.authors = ['Martin Corino']
|
|
71
|
+
gem.files = Dir['lib/taosource/**/*']
|
|
72
|
+
gem.files.concat(Dir["src/ACE+TAO-src-#{_ace_ver}.tar.gz"])
|
|
73
|
+
gem.files << 'mkrf_conf_taogem.rb'
|
|
74
|
+
gem.extensions = ['mkrf_conf_taogem.rb']
|
|
75
|
+
gem.require_paths = %w{lib}
|
|
76
|
+
gem.executables = []
|
|
77
|
+
gem.required_ruby_version = '>= 1.8.6'
|
|
78
|
+
gem.licenses = ['ACE']
|
|
79
|
+
end
|
|
80
|
+
R2CORBA::Gem.build_gem(gemspec)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# source gem file
|
|
87
|
+
t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION)}.gem") => R2CORBA::Gem.manifest do
|
|
88
|
+
gemspec = R2CORBA::Gem.define_spec('r2corba', R2CORBA::R2CORBA_VERSION) do |gem|
|
|
89
|
+
gem.summary = %Q{CORBA language mapping implementation for Ruby}
|
|
90
|
+
gem.description = %Q{OMG CORBA v. 3.3 compliant CORBA language mapping implementation for Ruby. Depends on ridl gem for providing native Ruby IDL compiler. }
|
|
91
|
+
gem.email = 'mcorino@remedy.nl'
|
|
92
|
+
gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
|
|
93
|
+
gem.authors = ['Martin Corino']
|
|
94
|
+
gem.files = R2CORBA::Gem.manifest
|
|
95
|
+
gem.extensions = ['mkrf_conf_srcgem.rb']
|
|
96
|
+
gem.require_paths = %w{lib}
|
|
97
|
+
gem.executables = %w{ridlc rins r2corba}
|
|
98
|
+
gem.required_ruby_version = '>= 1.8.6'
|
|
99
|
+
gem.licenses = ['R2CORBA', 'ACE', 'GPL']
|
|
100
|
+
gem.require_paths << 'ext'
|
|
101
|
+
gem.add_dependency 'ridl', '>= 2.2.2'
|
|
102
|
+
gem.add_dependency 'rake', '>= 10.0.1'
|
|
103
|
+
gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so' << '--exclude=\\.pidlc'
|
|
104
|
+
end
|
|
105
|
+
R2CORBA::Gem.build_gem(gemspec)
|
|
106
|
+
end
|
|
107
|
+
t_.enhance ['mkrf_conf_srcgem.rb']
|
|
108
|
+
|
|
109
|
+
# Extension binaries gem file
|
|
110
|
+
t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION, :extbin)}.gem") => R2CORBA::Gem.manifest(:extbin, true) do
|
|
111
|
+
unless defined?(JRUBY_VERSION)
|
|
112
|
+
# prepare required shared libs for ext libs
|
|
113
|
+
if R2CORBA::Config.is_win32
|
|
114
|
+
ext_deplibs = R2CORBA::Ext.ace_shlibs + R2CORBA::Ext.sys_dlls
|
|
115
|
+
elsif R2CORBA::Config.is_linux
|
|
116
|
+
ext_deplibs = R2CORBA::Ext.ace_shlibs('.so.*').collect {|acelib| Dir.glob(acelib).first }
|
|
117
|
+
else
|
|
118
|
+
ext_deplibs = R2CORBA::Ext.ace_shlibs
|
|
119
|
+
end
|
|
120
|
+
ext_deplibs.each {|deplib| cp(deplib, File.join('ext', File.basename(deplib)), :verbose => false) }
|
|
121
|
+
end
|
|
122
|
+
begin
|
|
123
|
+
gemspec = R2CORBA::Gem.define_spec('r2corba', R2CORBA::R2CORBA_VERSION, :extbin) do |gem|
|
|
124
|
+
gem.summary = %Q{CORBA language mapping implementation for Ruby (extension binaries)}
|
|
125
|
+
gem.description = %Q{OMG CORBA v. 3.3 compliant CORBA language mapping implementation for Ruby. Depends on ridl gem for providing native Ruby IDL compiler. (extension binaries)}
|
|
126
|
+
gem.email = 'mcorino@remedy.nl'
|
|
127
|
+
gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
|
|
128
|
+
gem.authors = ['Martin Corino']
|
|
129
|
+
gem.files = R2CORBA::Gem.manifest(:extbin)
|
|
130
|
+
gem.extensions = []
|
|
131
|
+
gem.require_paths = %w{ext}
|
|
132
|
+
gem.executables = []
|
|
133
|
+
if R2CORBA::Config.rb_ver_major < 2
|
|
134
|
+
if R2CORBA::Config.rb_ver_minor > 8
|
|
135
|
+
gem.required_ruby_version = '>= 1.9.1'
|
|
136
|
+
else
|
|
137
|
+
gem.required_ruby_version = '>= 1.8.6'
|
|
138
|
+
end
|
|
139
|
+
else
|
|
140
|
+
gem.required_ruby_version = '>= 2.0.0'
|
|
141
|
+
end
|
|
142
|
+
gem.licenses = ['R2CORBA', 'ACE']
|
|
143
|
+
gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so' << '--exclude=\\.pidlc'
|
|
144
|
+
end
|
|
145
|
+
R2CORBA::Gem.build_gem(gemspec)
|
|
146
|
+
ensure
|
|
147
|
+
ext_deplibs.each {|deplib| rm_f(File.join('ext', File.basename(deplib)), :verbose => false) } unless defined?(JRUBY_VERSION)
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# binary gem file
|
|
152
|
+
t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION, :bin)}.gem") => R2CORBA::Gem.manifest(:bin, true) do
|
|
153
|
+
unless defined?(JRUBY_VERSION)
|
|
154
|
+
if ENV['FULL_BINGEM']
|
|
155
|
+
# prepare required shared libs for ext libs
|
|
156
|
+
if R2CORBA::Config.is_win32
|
|
157
|
+
ext_deplibs = R2CORBA::Ext.ace_shlibs + R2CORBA::Ext.sys_dlls
|
|
158
|
+
elsif R2CORBA::Config.is_linux
|
|
159
|
+
ext_deplibs = R2CORBA::Ext.ace_shlibs('.so.*').collect {|acelib| Dir.glob(acelib).first }
|
|
160
|
+
else
|
|
161
|
+
ext_deplibs = R2CORBA::Ext.ace_shlibs
|
|
162
|
+
end
|
|
163
|
+
ext_deplibs.each {|deplib| cp(deplib, File.join('ext', File.basename(deplib)), :verbose => false) }
|
|
164
|
+
else
|
|
165
|
+
touch(File.join('ext', '.keep'))
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
begin
|
|
169
|
+
# create gemspec
|
|
170
|
+
gemspec = R2CORBA::Gem.define_spec('r2corba', R2CORBA::R2CORBA_VERSION, :bin) do |gem|
|
|
171
|
+
gem.summary = %Q{CORBA language mapping implementation for Ruby}
|
|
172
|
+
gem.description = %Q{OMG CORBA v. 3.3 compliant CORBA language mapping implementation for Ruby. Depends on ridl gem for providing native Ruby IDL compiler. }
|
|
173
|
+
gem.email = 'mcorino@remedy.nl'
|
|
174
|
+
gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
|
|
175
|
+
gem.authors = ['Martin Corino']
|
|
176
|
+
gem.files = R2CORBA::Gem.manifest(:bin)
|
|
177
|
+
gem.require_paths = %w{lib}
|
|
178
|
+
gem.executables = %w{ridlc rins r2corba}
|
|
179
|
+
gem.extensions = ['mkrf_conf_bingem.rb']
|
|
180
|
+
if defined?(JRUBY_VERSION)
|
|
181
|
+
gem.require_paths << 'jacorb/lib'
|
|
182
|
+
gem.required_ruby_version = '>= 1.5.0'
|
|
183
|
+
gem.licenses = ['R2CORBA', 'JacORB']
|
|
184
|
+
else
|
|
185
|
+
gem.files << File.join('ext', '.keep') unless ENV['FULL_BINGEM'] # to force installation of ext folder if libs are left out
|
|
186
|
+
gem.required_ruby_version = '>= 1.8.6'
|
|
187
|
+
gem.licenses = ['R2CORBA', 'ACE', 'GPL']
|
|
188
|
+
gem.require_paths << 'ext'
|
|
189
|
+
end
|
|
190
|
+
gem.add_dependency 'ridl', '>= 2.2.2'
|
|
191
|
+
gem.add_dependency 'rake', '>= 10.0.1'
|
|
192
|
+
gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so'
|
|
193
|
+
end
|
|
194
|
+
R2CORBA::Gem.build_gem(gemspec)
|
|
195
|
+
ensure
|
|
196
|
+
if ENV['FULL_BINGEM']
|
|
197
|
+
ext_deplibs.each {|deplib| rm_f(File.join('ext', File.basename(deplib)), :verbose => false) } unless defined?(JRUBY_VERSION)
|
|
198
|
+
else
|
|
199
|
+
rm_f(File.join('ext', '.keep')) unless defined?(JRUBY_VERSION)
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
end
|
|
203
|
+
t_.enhance ['mkrf_conf_bingem.rb']
|
|
204
|
+
|
|
205
|
+
desc 'Build R2CORBA gem'
|
|
206
|
+
if defined?(JRUBY_VERSION)
|
|
207
|
+
task :gem => 'r2corba:gem:bingem'
|
|
208
|
+
elsif R2CORBA::Config.is_win32
|
|
209
|
+
task :gem => 'r2corba:gem:bingem'
|
|
210
|
+
else
|
|
211
|
+
task :gem => 'r2corba:gem:srcgem'
|
|
212
|
+
end
|