r2corba 1.4.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGES +159 -0
- data/LICENSE +59 -0
- data/README +62 -0
- data/THANKS +52 -0
- data/bin/r2corba +8 -0
- data/bin/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 +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/IORTableC.rb +117 -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/TAO_ExtC.rb +179 -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/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.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 +1 -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 +342 -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/ext.rake
ADDED
@@ -0,0 +1,242 @@
|
|
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
|
+
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
|
+
#--------------------------------------------------------------------
|
13
|
+
|
14
|
+
if defined?(JRUBY_VERSION)
|
15
|
+
|
16
|
+
namespace :r2corba do
|
17
|
+
namespace :ext do
|
18
|
+
task :build # noop
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
else # !JRUBY_VERSION
|
23
|
+
|
24
|
+
require File.join(File.dirname(__FILE__), 'ext.rb')
|
25
|
+
|
26
|
+
file R2CORBA::Ext.r2tao_mpc_file do |t|
|
27
|
+
File.open(t.name, 'w') {|f| f.puts R2CORBA::Ext::R2TAO_MPC }
|
28
|
+
end
|
29
|
+
|
30
|
+
file R2CORBA::Ext.rpoa_mpc_file do |t|
|
31
|
+
File.open(t.name, 'w') {|f| f.puts R2CORBA::Ext::RPOA_MPC }
|
32
|
+
end
|
33
|
+
|
34
|
+
file R2CORBA::Ext.rpol_mpc_file do |t|
|
35
|
+
File.open(t.name, 'w') {|f| f.puts R2CORBA::Ext::RPOL_MPC }
|
36
|
+
end
|
37
|
+
|
38
|
+
file R2CORBA::Ext.ext_makefile => [R2CORBA::BUILD_CFG,
|
39
|
+
R2CORBA::Ext.default_features_path,
|
40
|
+
R2CORBA::Ext.ace_config_path,
|
41
|
+
R2CORBA::Ext.platform_macros_path,
|
42
|
+
R2CORBA::Ext.r2tao_mpc_file,
|
43
|
+
R2CORBA::Ext.rpoa_mpc_file,
|
44
|
+
R2CORBA::Ext.rpol_mpc_file] do
|
45
|
+
# check availability of PERL
|
46
|
+
raise "PERL missing! A working version of PERL in the PATH is required." unless system('perl -v')
|
47
|
+
# configure R2TAO build
|
48
|
+
_mwc = File.join(get_config('aceroot'), 'bin', 'mwc.pl')
|
49
|
+
|
50
|
+
cur_dir = Dir.getwd
|
51
|
+
Dir.chdir 'ext'
|
52
|
+
begin
|
53
|
+
sh("perl #{_mwc} -type gnuace ext.mwc")
|
54
|
+
ensure
|
55
|
+
Dir.chdir cur_dir
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
CLOBBER.include [R2CORBA::Ext.ext_makefile, R2CORBA::Ext.r2tao_mpc_file, R2CORBA::Ext.rpoa_mpc_file, R2CORBA::Ext.rpol_mpc_file]
|
60
|
+
|
61
|
+
namespace :r2corba do
|
62
|
+
namespace :ext do
|
63
|
+
#desc 'Build extension libraries'
|
64
|
+
task :build => R2CORBA::Ext.ext_makefile do
|
65
|
+
cur_dir = Dir.getwd
|
66
|
+
Dir.chdir 'ext'
|
67
|
+
begin
|
68
|
+
sh("#{get_config('makeprog')}#{get_config('with-debug') ? ' debug=1' : ''}")
|
69
|
+
ensure
|
70
|
+
Dir.chdir cur_dir
|
71
|
+
end
|
72
|
+
R2CORBA::Ext.post_build
|
73
|
+
end
|
74
|
+
|
75
|
+
task :clobber do
|
76
|
+
cur_dir = Dir.getwd
|
77
|
+
Dir.chdir 'ext'
|
78
|
+
begin
|
79
|
+
sh("#{get_config('makeprog')} realclean") if File.exists?('GNUmakefile')
|
80
|
+
ensure
|
81
|
+
Dir.chdir cur_dir
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
Rake::Task['clobber'].enhance ['r2corba:ext:clobber']
|
88
|
+
|
89
|
+
if R2CORBA::Config.is_win32
|
90
|
+
|
91
|
+
file R2CORBA::Ext.extload_mpc_file do |t|
|
92
|
+
File.open(t.name, 'w') {|f| f.puts R2CORBA::Ext::EXTLOAD_MPC }
|
93
|
+
end
|
94
|
+
|
95
|
+
file R2CORBA::Ext.extload_makefile => [R2CORBA::BUILD_CFG,
|
96
|
+
R2CORBA::Ext.default_features_path,
|
97
|
+
R2CORBA::Ext.ace_config_path,
|
98
|
+
R2CORBA::Ext.platform_macros_path,
|
99
|
+
R2CORBA::Ext.extload_mpc_file] do
|
100
|
+
# check availability of PERL
|
101
|
+
raise "PERL missing! A working version of PERL in the PATH is required." unless system('perl -v')
|
102
|
+
# configure extload build
|
103
|
+
_mwc = File.join(get_config('aceroot'), 'bin', 'mwc.pl')
|
104
|
+
|
105
|
+
cur_dir = Dir.getwd
|
106
|
+
Dir.chdir File.join('ext', 'extload')
|
107
|
+
begin
|
108
|
+
sh("perl #{_mwc} -type gnuace")
|
109
|
+
ensure
|
110
|
+
Dir.chdir cur_dir
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
CLOBBER.include [R2CORBA::Ext.extload_makefile, R2CORBA::Ext.extload_mpc_file]
|
115
|
+
|
116
|
+
namespace :r2corba do
|
117
|
+
namespace :ext do
|
118
|
+
#desc 'Build extension loader'
|
119
|
+
task :build_extload => R2CORBA::Ext.extload_makefile do
|
120
|
+
cur_dir = Dir.getwd
|
121
|
+
Dir.chdir File.join('ext', 'extload')
|
122
|
+
begin
|
123
|
+
sh("#{get_config('makeprog')}#{get_config('with-debug') ? ' debug=1' : ''}")
|
124
|
+
ensure
|
125
|
+
Dir.chdir cur_dir
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
task :clobber_extload do
|
130
|
+
cur_dir = Dir.getwd
|
131
|
+
Dir.chdir File.join('ext', 'extload')
|
132
|
+
begin
|
133
|
+
sh("#{get_config('makeprog')} realclean") if File.exists?('GNUmakefile')
|
134
|
+
ensure
|
135
|
+
Dir.chdir cur_dir
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
Rake::Task['r2corba:ext:build'].enhance ['r2corba:ext:build_extload']
|
142
|
+
Rake::Task['clobber'].enhance ['r2corba:ext:clobber_extload']
|
143
|
+
|
144
|
+
end
|
145
|
+
|
146
|
+
# Do we handle ACE+TAO here?
|
147
|
+
unless get_config('without-tao')
|
148
|
+
|
149
|
+
file R2CORBA::Ext.ace_config_path => R2CORBA::BUILD_CFG do |t|
|
150
|
+
File.open(t.name, "w") {|f|
|
151
|
+
f.puts R2CORBA::Ext.ace_config
|
152
|
+
}
|
153
|
+
end
|
154
|
+
|
155
|
+
CLOBBER.include R2CORBA::Ext.ace_config_path
|
156
|
+
|
157
|
+
file R2CORBA::Ext.platform_macros_path => R2CORBA::BUILD_CFG do |t|
|
158
|
+
File.open(t.name, "w") {|f|
|
159
|
+
f.puts R2CORBA::Ext.platform_macros
|
160
|
+
}
|
161
|
+
end
|
162
|
+
|
163
|
+
CLOBBER.include R2CORBA::Ext.platform_macros_path
|
164
|
+
|
165
|
+
file R2CORBA::Ext.default_features_path => R2CORBA::BUILD_CFG do |t|
|
166
|
+
File.open(t.name, "w") do |f|
|
167
|
+
f.puts R2CORBA::Ext.default_features
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
CLOBBER.include R2CORBA::Ext.default_features_path
|
172
|
+
|
173
|
+
file R2CORBA::Ext.tao_mwc_path => R2CORBA::BUILD_CFG do |t|
|
174
|
+
File.open(t.name, "w") do |f|
|
175
|
+
f.puts R2CORBA::Ext.tao_mwc
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
CLOBBER.include R2CORBA::Ext.tao_mwc_path
|
180
|
+
|
181
|
+
file R2CORBA::Ext.tao_makefile => [R2CORBA::Ext.ace_config_path,
|
182
|
+
R2CORBA::Ext.platform_macros_path,
|
183
|
+
R2CORBA::Ext.default_features_path,
|
184
|
+
R2CORBA::Ext.tao_mwc_path] do
|
185
|
+
# check availability of PERL
|
186
|
+
raise "PERL missing! A working version of PERL in the PATH is required." unless system('perl -v')
|
187
|
+
# generate ACE+TAO makefile
|
188
|
+
cur_dir = Dir.getwd
|
189
|
+
Dir.chdir File.expand_path(get_config('aceroot'))
|
190
|
+
begin
|
191
|
+
sh("perl bin/mwc.pl -type gnuautobuild TAO4Ruby.mwc")
|
192
|
+
ensure
|
193
|
+
Dir.chdir cur_dir
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
CLOBBER.include R2CORBA::Ext.tao_makefile
|
198
|
+
|
199
|
+
namespace :r2corba do
|
200
|
+
namespace :ext do
|
201
|
+
task :build_tao
|
202
|
+
|
203
|
+
R2CORBA::Ext::ace_shlibs.each do |acelib|
|
204
|
+
file acelib => R2CORBA::Ext.tao_makefile do
|
205
|
+
# build ACE+TAO
|
206
|
+
cur_dir = Dir.getwd
|
207
|
+
Dir.chdir File.expand_path(get_config('aceroot'))
|
208
|
+
begin
|
209
|
+
if R2CORBA::Config.is_linux && R2CORBA::Config.cpu_cores > 2
|
210
|
+
sh("#{get_config('makeprog')} -j#{R2CORBA::Config.cpu_cores - 2} #{get_config('with-debug') ? ' debug=1' : ''}")
|
211
|
+
else
|
212
|
+
sh("#{get_config('makeprog')}#{get_config('with-debug') ? ' debug=1' : ''}")
|
213
|
+
end
|
214
|
+
ensure
|
215
|
+
Dir.chdir cur_dir
|
216
|
+
end
|
217
|
+
# touch all libraries to cover the case that the timestamps do not match
|
218
|
+
# the makefile but make triggers not rebuild as no sources have changed
|
219
|
+
touch(R2CORBA::Ext::ace_shlibs)
|
220
|
+
end
|
221
|
+
Rake::Task['r2corba:ext:build_tao'].enhance [acelib]
|
222
|
+
end
|
223
|
+
|
224
|
+
task :clobber_tao do
|
225
|
+
# clean ACE+TAO
|
226
|
+
cur_dir = Dir.getwd
|
227
|
+
Dir.chdir File.expand_path(get_config('aceroot'))
|
228
|
+
begin
|
229
|
+
sh("#{get_config('makeprog')} realclean") if File.exists?('GNUmakefile')
|
230
|
+
ensure
|
231
|
+
Dir.chdir cur_dir
|
232
|
+
end
|
233
|
+
end
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
Rake::Task['r2corba:ext:build'].enhance ['r2corba:ext:build_tao']
|
238
|
+
Rake::Task['r2corba:ext:clobber'].enhance ['r2corba:ext:clobber_tao']
|
239
|
+
|
240
|
+
end # !without-tao
|
241
|
+
|
242
|
+
end # defined?(JRUBY_VERSION)
|