zeroc-ice 3.6.0 → 3.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/ice/cpp/include/Ice/BuiltinSequences.h +2 -2
- data/ext/ice/cpp/include/Ice/Communicator.h +2 -2
- data/ext/ice/cpp/include/Ice/CommunicatorF.h +2 -2
- data/ext/ice/cpp/include/Ice/Connection.h +5 -9
- data/ext/ice/cpp/include/Ice/ConnectionF.h +2 -2
- data/ext/ice/cpp/include/Ice/Current.h +2 -2
- data/ext/ice/cpp/include/Ice/Endpoint.h +6 -11
- data/ext/ice/cpp/include/Ice/EndpointF.h +2 -2
- data/ext/ice/cpp/include/Ice/EndpointTypes.h +2 -2
- data/ext/ice/cpp/include/Ice/FacetMap.h +2 -2
- data/ext/ice/cpp/include/Ice/Ice.h +1 -0
- data/ext/ice/cpp/include/Ice/Identity.h +2 -2
- data/ext/ice/cpp/include/Ice/ImplicitContext.h +2 -2
- data/ext/ice/cpp/include/Ice/ImplicitContextF.h +2 -2
- data/ext/ice/cpp/include/Ice/Instrumentation.h +2 -2
- data/ext/ice/cpp/include/Ice/InstrumentationF.h +2 -2
- data/ext/ice/cpp/include/Ice/LocalException.h +2 -2
- data/ext/ice/cpp/include/Ice/Locator.h +2 -2
- data/ext/ice/cpp/include/Ice/LocatorF.h +2 -2
- data/ext/ice/cpp/include/Ice/Logger.h +2 -2
- data/ext/ice/cpp/include/Ice/LoggerF.h +2 -2
- data/ext/ice/cpp/include/Ice/Metrics.h +7 -14
- data/ext/ice/cpp/include/Ice/ObjectAdapter.h +2 -2
- data/ext/ice/cpp/include/Ice/ObjectAdapterF.h +2 -2
- data/ext/ice/cpp/include/Ice/ObjectFactory.h +2 -2
- data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +2 -2
- data/ext/ice/cpp/include/Ice/Plugin.h +2 -2
- data/ext/ice/cpp/include/Ice/PluginF.h +2 -2
- data/ext/ice/cpp/include/Ice/Process.h +2 -2
- data/ext/ice/cpp/include/Ice/ProcessF.h +2 -2
- data/ext/ice/cpp/include/Ice/Properties.h +2 -2
- data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +2 -2
- data/ext/ice/cpp/include/Ice/PropertiesF.h +2 -2
- data/ext/ice/cpp/include/Ice/RegisterPlugins.h +55 -0
- data/ext/ice/cpp/include/Ice/RemoteLogger.h +2 -2
- data/ext/ice/cpp/include/Ice/Router.h +2 -2
- data/ext/ice/cpp/include/Ice/RouterF.h +2 -2
- data/ext/ice/cpp/include/Ice/ServantLocator.h +2 -2
- data/ext/ice/cpp/include/Ice/ServantLocatorF.h +2 -2
- data/ext/ice/cpp/include/Ice/SliceChecksumDict.h +2 -2
- data/ext/ice/cpp/include/Ice/Version.h +2 -2
- data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +4 -6
- data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +3 -5
- data/ext/ice/cpp/include/IceUtil/Config.h +5 -5
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -1
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +12 -17
- data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +33 -4
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +8 -0
- data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -1
- data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +2 -0
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
- data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -2
- data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Initialize.cpp +25 -30
- data/ext/ice/cpp/src/Ice/Instance.cpp +1 -3
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LocalException.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Locator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +6 -6
- data/ext/ice/cpp/src/Ice/LocatorInfo.h +9 -8
- data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Metrics.cpp +10 -2
- data/ext/ice/cpp/src/Ice/Network.h +10 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +68 -143
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +1 -2
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Outgoing.cpp +0 -1
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1
- data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +6 -7
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesI.cpp +17 -18
- data/ext/ice/cpp/src/Ice/Reference.cpp +1 -1
- data/ext/ice/cpp/src/Ice/{RegisterPlugins.cpp → RegisterPluginsInit.cpp} +1 -1
- data/ext/ice/cpp/src/Ice/{RegisterPlugins.h → RegisterPluginsInit.h} +2 -2
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
- data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Selector.cpp +51 -45
- data/ext/ice/cpp/src/Ice/Selector.h +4 -4
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +7 -2
- data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +15 -3
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -2
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +46 -47
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +28 -8
- data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +26 -2
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +2 -2
- data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +11 -0
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +2 -2
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +11 -0
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +1 -3
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +11 -0
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +7 -0
- data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +0 -1
- data/ext/ice/cpp/src/IceUtil/Exception.cpp +2 -1
- data/ext/ice/cpp/src/Slice/FileTracker.cpp +3 -2
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -1
- data/ext/ice/cpp/src/Slice/Parser.cpp +35 -9
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +10 -11
- data/ext/ice/cpp/src/Slice/Python.cpp +54 -36
- data/ext/ice/mcpp/Makefile +10 -0
- data/ext/ice/mcpp/Makefile.mak +23 -15
- data/ice.gemspec +1 -2
- data/lib/Glacier2/Metrics.rb +1 -1
- data/lib/Glacier2/PermissionsVerifier.rb +1 -1
- data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
- data/lib/Glacier2/Router.rb +1 -1
- data/lib/Glacier2/RouterF.rb +1 -1
- data/lib/Glacier2/SSLInfo.rb +1 -1
- data/lib/Glacier2/Session.rb +1 -1
- data/lib/Ice.rb +1 -0
- data/lib/Ice/BuiltinSequences.rb +1 -1
- data/lib/Ice/Communicator.rb +1 -1
- data/lib/Ice/CommunicatorF.rb +1 -1
- data/lib/Ice/Connection.rb +1 -1
- data/lib/Ice/ConnectionF.rb +1 -1
- data/lib/Ice/Current.rb +1 -1
- data/lib/Ice/Endpoint.rb +1 -1
- data/lib/Ice/EndpointF.rb +1 -1
- data/lib/Ice/EndpointTypes.rb +1 -1
- data/lib/Ice/FacetMap.rb +1 -1
- data/lib/Ice/Identity.rb +1 -1
- data/lib/Ice/ImplicitContext.rb +1 -1
- data/lib/Ice/ImplicitContextF.rb +1 -1
- data/lib/Ice/Instrumentation.rb +1 -1
- data/lib/Ice/InstrumentationF.rb +1 -1
- data/lib/Ice/LocalException.rb +1 -1
- data/lib/Ice/Locator.rb +1 -1
- data/lib/Ice/LocatorF.rb +1 -1
- data/lib/Ice/Logger.rb +1 -1
- data/lib/Ice/LoggerF.rb +1 -1
- data/lib/Ice/Metrics.rb +1 -1
- data/lib/Ice/ObjectAdapterF.rb +1 -1
- data/lib/Ice/ObjectFactory.rb +1 -1
- data/lib/Ice/ObjectFactoryF.rb +1 -1
- data/lib/Ice/Plugin.rb +1 -1
- data/lib/Ice/PluginF.rb +1 -1
- data/lib/Ice/Process.rb +1 -1
- data/lib/Ice/ProcessF.rb +1 -1
- data/lib/Ice/Properties.rb +1 -1
- data/lib/Ice/PropertiesAdmin.rb +1 -1
- data/lib/Ice/PropertiesF.rb +1 -1
- data/lib/Ice/RemoteLogger.rb +292 -0
- data/lib/Ice/Router.rb +1 -1
- data/lib/Ice/RouterF.rb +1 -1
- data/lib/Ice/SliceChecksumDict.rb +1 -1
- data/lib/Ice/Version.rb +1 -1
- data/lib/IceBox/IceBox.rb +1 -1
- data/lib/IceGrid/Admin.rb +1 -1
- data/lib/IceGrid/Descriptor.rb +1 -1
- data/lib/IceGrid/Exception.rb +1 -1
- data/lib/IceGrid/FileParser.rb +1 -1
- data/lib/IceGrid/Locator.rb +1 -1
- data/lib/IceGrid/Observer.rb +1 -1
- data/lib/IceGrid/Query.rb +1 -1
- data/lib/IceGrid/Registry.rb +1 -1
- data/lib/IceGrid/Session.rb +1 -1
- data/lib/IceGrid/UserAccountMapper.rb +1 -1
- data/lib/IcePatch2/FileInfo.rb +1 -1
- data/lib/IcePatch2/FileServer.rb +1 -1
- data/lib/IceStorm/IceStorm.rb +1 -1
- data/lib/IceStorm/Metrics.rb +1 -1
- data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +4 -0
- metadata +6 -4
@@ -1178,6 +1178,14 @@ Slice::Container::lookupType(const string& scoped, bool printError)
|
|
1178
1178
|
return lookupTypeNoBuiltin(scoped, printError);
|
1179
1179
|
}
|
1180
1180
|
|
1181
|
+
//
|
1182
|
+
// TODO: Hack to keep binary compatibility with Ice 3.6.0, fix properly in Ice 3.7
|
1183
|
+
//
|
1184
|
+
namespace
|
1185
|
+
{
|
1186
|
+
bool ignoreUndefined = false;
|
1187
|
+
}
|
1188
|
+
|
1181
1189
|
TypeList
|
1182
1190
|
Slice::Container::lookupTypeNoBuiltin(const string& scoped, bool printError)
|
1183
1191
|
{
|
@@ -1200,6 +1208,8 @@ Slice::Container::lookupTypeNoBuiltin(const string& scoped, bool printError)
|
|
1200
1208
|
}
|
1201
1209
|
|
1202
1210
|
TypeList results;
|
1211
|
+
bool typeError = false;
|
1212
|
+
vector<string> errors;
|
1203
1213
|
if(sc.rfind('*') == sc.length() - 1)
|
1204
1214
|
{
|
1205
1215
|
//
|
@@ -1256,10 +1266,9 @@ Slice::Container::lookupTypeNoBuiltin(const string& scoped, bool printError)
|
|
1256
1266
|
string msg = (*p)->kindOf() + " name `" + scoped;
|
1257
1267
|
msg += "' is capitalized inconsistently with its previous name: `";
|
1258
1268
|
msg += matches.front()->scoped() + "'";
|
1259
|
-
|
1269
|
+
errors.push_back(msg);
|
1260
1270
|
}
|
1261
1271
|
|
1262
|
-
|
1263
1272
|
ExceptionPtr ex = ExceptionPtr::dynamicCast(*p);
|
1264
1273
|
if(ex)
|
1265
1274
|
{
|
@@ -1276,14 +1285,15 @@ Slice::Container::lookupTypeNoBuiltin(const string& scoped, bool printError)
|
|
1276
1285
|
TypePtr type = TypePtr::dynamicCast(*p);
|
1277
1286
|
if(!type)
|
1278
1287
|
{
|
1288
|
+
typeError = true;
|
1279
1289
|
if(printError)
|
1280
1290
|
{
|
1281
1291
|
string msg = "`";
|
1282
1292
|
msg += sc;
|
1283
1293
|
msg += "' is not a type";
|
1284
|
-
|
1294
|
+
errors.push_back(msg);
|
1285
1295
|
}
|
1286
|
-
|
1296
|
+
break; // Possible that correct match is higher in scope
|
1287
1297
|
}
|
1288
1298
|
results.push_back(type);
|
1289
1299
|
}
|
@@ -1292,9 +1302,18 @@ Slice::Container::lookupTypeNoBuiltin(const string& scoped, bool printError)
|
|
1292
1302
|
if(results.empty())
|
1293
1303
|
{
|
1294
1304
|
ContainedPtr contained = ContainedPtr::dynamicCast(this);
|
1295
|
-
if(
|
1305
|
+
if(contained)
|
1296
1306
|
{
|
1297
|
-
if(
|
1307
|
+
if(typeError)
|
1308
|
+
{
|
1309
|
+
ignoreUndefined = true;
|
1310
|
+
}
|
1311
|
+
results = contained->container()->lookupTypeNoBuiltin(sc, printError);
|
1312
|
+
ignoreUndefined = false;
|
1313
|
+
}
|
1314
|
+
else if(!typeError)
|
1315
|
+
{
|
1316
|
+
if(printError && !ignoreUndefined)
|
1298
1317
|
{
|
1299
1318
|
string msg = "`";
|
1300
1319
|
msg += sc;
|
@@ -1303,12 +1322,19 @@ Slice::Container::lookupTypeNoBuiltin(const string& scoped, bool printError)
|
|
1303
1322
|
}
|
1304
1323
|
return TypeList();
|
1305
1324
|
}
|
1306
|
-
return contained->container()->lookupTypeNoBuiltin(sc, printError);
|
1307
1325
|
}
|
1308
|
-
|
1326
|
+
|
1327
|
+
//
|
1328
|
+
// Do not emit errors if there was a type error but a match was found in a higher scope.
|
1329
|
+
//
|
1330
|
+
if(printError && !(typeError && !results.empty()))
|
1309
1331
|
{
|
1310
|
-
|
1332
|
+
for(vector<string>::const_iterator p = errors.begin(); p != errors.end(); ++p)
|
1333
|
+
{
|
1334
|
+
_unit->error(*p);
|
1335
|
+
}
|
1311
1336
|
}
|
1337
|
+
return results;
|
1312
1338
|
}
|
1313
1339
|
|
1314
1340
|
ContainedList
|
@@ -7,7 +7,6 @@
|
|
7
7
|
//
|
8
8
|
// **********************************************************************
|
9
9
|
|
10
|
-
#include <IceUtil/DisableWarnings.h>
|
11
10
|
#include <Slice/Preprocessor.h>
|
12
11
|
#include <Slice/Util.h>
|
13
12
|
#include <IceUtil/StringUtil.h>
|
@@ -123,7 +122,7 @@ Slice::Preprocessor::normalizeIncludePath(const string& path)
|
|
123
122
|
result.replace(pos, 2, "/");
|
124
123
|
}
|
125
124
|
|
126
|
-
if(result == "/" || (result.size() == 3 && IceUtilInternal::isAlpha(result[0]) && result[1] == ':' &&
|
125
|
+
if(result == "/" || (result.size() == 3 && IceUtilInternal::isAlpha(result[0]) && result[1] == ':' &&
|
127
126
|
result[2] == '/'))
|
128
127
|
{
|
129
128
|
return result;
|
@@ -149,7 +148,7 @@ baseArgs(vector<string> args, bool keepComments, const string& extraArgs, const
|
|
149
148
|
}
|
150
149
|
args.push_back("-e");
|
151
150
|
args.push_back("en_us.utf8");
|
152
|
-
|
151
|
+
|
153
152
|
//
|
154
153
|
// Define version macros __ICE_VERSION__ is preferred. We keep
|
155
154
|
// ICE_VERSION for backward compatibility with 3.5.0.
|
@@ -161,7 +160,7 @@ baseArgs(vector<string> args, bool keepComments, const string& extraArgs, const
|
|
161
160
|
os << "-D" << version[i] << "=" << ICE_INT_VERSION;
|
162
161
|
args.push_back(os.str());
|
163
162
|
}
|
164
|
-
|
163
|
+
|
165
164
|
if(!extraArgs.empty())
|
166
165
|
{
|
167
166
|
args.push_back(extraArgs);
|
@@ -234,9 +233,9 @@ Slice::Preprocessor::preprocess(bool keepComments, const string& extraArgs)
|
|
234
233
|
// We use an unique id as the tmp file name prefix to avoid
|
235
234
|
// problems with this code being called concurrently from
|
236
235
|
// several processes, otherwise there is a change that two
|
237
|
-
// process call _tempnam before any of them call fopen and
|
236
|
+
// process call _tempnam before any of them call fopen and
|
238
237
|
// they will end up using the same tmp file.
|
239
|
-
//
|
238
|
+
//
|
240
239
|
char* name = _tempnam(0, ("slice-" + IceUtil::generateUUID()).c_str());
|
241
240
|
if(name)
|
242
241
|
{
|
@@ -295,7 +294,7 @@ Slice::Preprocessor::printMakefileDependencies(ostream& out, Language lang, cons
|
|
295
294
|
{
|
296
295
|
return false;
|
297
296
|
}
|
298
|
-
|
297
|
+
|
299
298
|
string cppHeaderExt;
|
300
299
|
string pyPrefix;
|
301
300
|
if(lang == CPlusPlus)
|
@@ -313,7 +312,7 @@ Slice::Preprocessor::printMakefileDependencies(ostream& out, Language lang, cons
|
|
313
312
|
vector<string> args = _args;
|
314
313
|
args.push_back("-M");
|
315
314
|
args = baseArgs(args, false, extraArgs, _fileName);
|
316
|
-
|
315
|
+
|
317
316
|
const char** argv = new const char*[args.size() + 1];
|
318
317
|
for(unsigned int i = 0; i < args.size(); ++i)
|
319
318
|
{
|
@@ -399,10 +398,10 @@ Slice::Preprocessor::printMakefileDependencies(ostream& out, Language lang, cons
|
|
399
398
|
//
|
400
399
|
// Process each dependency.
|
401
400
|
//
|
402
|
-
|
401
|
+
|
403
402
|
string sourceFile;
|
404
403
|
vector<string> dependencies;
|
405
|
-
|
404
|
+
|
406
405
|
string::size_type end;
|
407
406
|
while((end = unprocessed.find(".ice", pos)) != string::npos)
|
408
407
|
{
|
@@ -497,7 +496,7 @@ Slice::Preprocessor::printMakefileDependencies(ostream& out, Language lang, cons
|
|
497
496
|
result += ",";
|
498
497
|
}
|
499
498
|
}
|
500
|
-
|
499
|
+
|
501
500
|
string::size_type pos = 0;
|
502
501
|
while((pos = result.find("\\", pos + 1)) != string::npos)
|
503
502
|
{
|
@@ -434,6 +434,7 @@ Slice::Python::compile(int argc, char* argv[])
|
|
434
434
|
opts.addOpt("", "underscore");
|
435
435
|
opts.addOpt("", "all");
|
436
436
|
opts.addOpt("", "no-package");
|
437
|
+
opts.addOpt("", "build-package");
|
437
438
|
opts.addOpt("", "checksum");
|
438
439
|
opts.addOpt("", "prefix", IceUtilInternal::Options::NeedArg);
|
439
440
|
|
@@ -500,6 +501,8 @@ Slice::Python::compile(int argc, char* argv[])
|
|
500
501
|
|
501
502
|
bool noPackage = opts.isSet("no-package");
|
502
503
|
|
504
|
+
bool buildPackage = opts.isSet("build-package");
|
505
|
+
|
503
506
|
bool checksum = opts.isSet("checksum");
|
504
507
|
|
505
508
|
string prefix = opts.optArg("prefix");
|
@@ -518,6 +521,13 @@ Slice::Python::compile(int argc, char* argv[])
|
|
518
521
|
return EXIT_FAILURE;
|
519
522
|
}
|
520
523
|
|
524
|
+
if(noPackage && buildPackage)
|
525
|
+
{
|
526
|
+
getErrorStream() << argv[0] << ": error: cannot specify both --no-package and --build-package" << endl;
|
527
|
+
usage(argv[0]);
|
528
|
+
return EXIT_FAILURE;
|
529
|
+
}
|
530
|
+
|
521
531
|
int status = EXIT_SUCCESS;
|
522
532
|
|
523
533
|
IceUtil::CtrlCHandler ctrlCHandler;
|
@@ -563,8 +573,8 @@ Slice::Python::compile(int argc, char* argv[])
|
|
563
573
|
return EXIT_FAILURE;
|
564
574
|
}
|
565
575
|
|
566
|
-
if(!icecpp->printMakefileDependencies(out.os(), depend ? Preprocessor::Python : Preprocessor::SliceXML,
|
567
|
-
"-D__SLICE2PY__", "", prefix))
|
576
|
+
if(!icecpp->printMakefileDependencies(out.os(), depend ? Preprocessor::Python : Preprocessor::SliceXML,
|
577
|
+
includePaths, "-D__SLICE2PY__", "", prefix))
|
568
578
|
{
|
569
579
|
out.cleanup();
|
570
580
|
return EXIT_FAILURE;
|
@@ -618,45 +628,52 @@ Slice::Python::compile(int argc, char* argv[])
|
|
618
628
|
}
|
619
629
|
else
|
620
630
|
{
|
621
|
-
string base = icecpp->getBaseName();
|
622
|
-
string::size_type pos = base.find_last_of("/\\");
|
623
|
-
if(pos != string::npos)
|
624
|
-
{
|
625
|
-
base.erase(0, pos + 1);
|
626
|
-
}
|
627
|
-
|
628
|
-
//
|
629
|
-
// Append the suffix "_ice" to the filename in order to avoid any conflicts
|
630
|
-
// with Slice module names. For example, if the file Test.ice defines a
|
631
|
-
// Slice module named "Test", then we couldn't create a Python package named
|
632
|
-
// "Test" and also call the generated file "Test.py".
|
633
|
-
//
|
634
|
-
string file = prefix + base + "_ice.py";
|
635
|
-
if(!output.empty())
|
636
|
-
{
|
637
|
-
file = output + '/' + file;
|
638
|
-
}
|
639
|
-
|
640
631
|
try
|
641
632
|
{
|
642
|
-
|
643
|
-
|
644
|
-
if(
|
633
|
+
string base = icecpp->getBaseName();
|
634
|
+
string::size_type pos = base.find_last_of("/\\");
|
635
|
+
if(pos != string::npos)
|
645
636
|
{
|
646
|
-
|
647
|
-
os << "cannot open`" << file << "': " << strerror(errno);
|
648
|
-
throw FileException(__FILE__, __LINE__, os.str());
|
637
|
+
base.erase(0, pos + 1);
|
649
638
|
}
|
650
|
-
FileTracker::instance()->addFile(file);
|
651
639
|
|
652
|
-
printHeader(out);
|
653
|
-
printGeneratedHeader(out, base + ".ice", "#");
|
654
640
|
//
|
655
|
-
//
|
641
|
+
// If --build-package is specified, we don't generate any code and simply
|
642
|
+
// update the __init__.py files.
|
656
643
|
//
|
657
|
-
|
658
|
-
|
659
|
-
|
644
|
+
if(!buildPackage)
|
645
|
+
{
|
646
|
+
//
|
647
|
+
// Append the suffix "_ice" to the filename in order to avoid any conflicts
|
648
|
+
// with Slice module names. For example, if the file Test.ice defines a
|
649
|
+
// Slice module named "Test", then we couldn't create a Python package named
|
650
|
+
// "Test" and also call the generated file "Test.py".
|
651
|
+
//
|
652
|
+
string file = prefix + base + "_ice.py";
|
653
|
+
if(!output.empty())
|
654
|
+
{
|
655
|
+
file = output + '/' + file;
|
656
|
+
}
|
657
|
+
|
658
|
+
IceUtilInternal::Output out;
|
659
|
+
out.open(file.c_str());
|
660
|
+
if(!out)
|
661
|
+
{
|
662
|
+
ostringstream os;
|
663
|
+
os << "cannot open`" << file << "': " << strerror(errno);
|
664
|
+
throw FileException(__FILE__, __LINE__, os.str());
|
665
|
+
}
|
666
|
+
FileTracker::instance()->addFile(file);
|
667
|
+
|
668
|
+
printHeader(out);
|
669
|
+
printGeneratedHeader(out, base + ".ice", "#");
|
670
|
+
//
|
671
|
+
// Generate the Python mapping.
|
672
|
+
//
|
673
|
+
generate(u, all, checksum, includePaths, out);
|
674
|
+
|
675
|
+
out.close();
|
676
|
+
}
|
660
677
|
|
661
678
|
//
|
662
679
|
// Create or update the Python package hierarchy.
|
@@ -668,8 +685,9 @@ Slice::Python::compile(int argc, char* argv[])
|
|
668
685
|
}
|
669
686
|
catch(const Slice::FileException& ex)
|
670
687
|
{
|
671
|
-
//
|
672
|
-
// created files.
|
688
|
+
//
|
689
|
+
// If a file could not be created, then clean up any created files.
|
690
|
+
//
|
673
691
|
FileTracker::instance()->cleanup();
|
674
692
|
u->destroy();
|
675
693
|
getErrorStream() << argv[0] << ": error: " << ex.reason() << endl;
|
data/ext/ice/mcpp/Makefile
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
#
|
5
5
|
# **********************************************************************
|
6
6
|
|
7
|
+
PREFIX = /opt/mcpp-2.7.2
|
8
|
+
|
7
9
|
CFLAGS += -O -w
|
8
10
|
|
9
11
|
UNAME = $(shell uname)
|
@@ -54,6 +56,14 @@ $(LIBDIR)/libmcpp.a: $(OBJS)
|
|
54
56
|
ar rcs $(LIBDIR)/libmcpp.a $(OBJS)
|
55
57
|
ranlib $(LIBDIR)/libmcpp.a
|
56
58
|
|
59
|
+
install: $(LIBDIR)/libmcpp.a
|
60
|
+
ifneq ($(findstring MINGW,$(UNAME)),)
|
61
|
+
cp $(LIBDIR)/libmcpp.a $(PREFIX)
|
62
|
+
else
|
63
|
+
@mkdir -p $(PREFIX)/lib
|
64
|
+
cp $(LIBDIR)/libmcpp.a $(PREFIX)/lib
|
65
|
+
endif
|
66
|
+
|
57
67
|
clean:
|
58
68
|
rm -f $(OBJS)
|
59
69
|
rm -rf $(LIBDIR)
|
data/ext/ice/mcpp/Makefile.mak
CHANGED
@@ -4,21 +4,23 @@
|
|
4
4
|
#
|
5
5
|
# **********************************************************************
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
7
|
+
PREFIX = C:\mcpp-2.7.2
|
8
|
+
|
9
|
+
RELEASE_OBJS = Release\directive.obj \
|
10
|
+
Release\eval.obj \
|
11
|
+
Release\expand.obj \
|
12
|
+
Release\main.obj \
|
13
|
+
Release\mbchar.obj \
|
14
|
+
Release\support.obj \
|
15
|
+
Release\system.obj
|
16
|
+
|
17
|
+
DEBUG_OBJS = Debug\directive.obj \
|
18
|
+
Debug\eval.obj \
|
19
|
+
Debug\expand.obj \
|
20
|
+
Debug\main.obj \
|
21
|
+
Debug\mbchar.obj \
|
22
|
+
Debug\support.obj \
|
23
|
+
Debug\system.obj
|
22
24
|
|
23
25
|
{.\}.c{Debug}.obj::
|
24
26
|
$(CC) /MDd /Od /c /FoDebug\ $<
|
@@ -38,6 +40,12 @@ mcpp.lib: $(RELEASE_OBJS)
|
|
38
40
|
mcppd.lib: $(DEBUG_OBJS)
|
39
41
|
lib /nologo /out:mcppd.lib $(DEBUG_OBJS)
|
40
42
|
|
43
|
+
install: mcpp.lib mcppd.lib
|
44
|
+
@if not exist "$(PREFIX)\Release" mkdir "$(PREFIX)\Release"
|
45
|
+
copy mcpp.lib $(PREFIX)\Release\mcpp.lib
|
46
|
+
@if not exist "$(PREFIX)\Debug" mkdir "$(PREFIX)\Debug"
|
47
|
+
copy mcppd.lib $(PREFIX)\Debug\mcppd.lib
|
48
|
+
|
41
49
|
clean:
|
42
50
|
del /q $(RELEASE_OBJS)
|
43
51
|
del /q $(DEBUG_OBJS)
|
data/ice.gemspec
CHANGED
@@ -9,8 +9,7 @@
|
|
9
9
|
|
10
10
|
Gem::Specification.new do |s|
|
11
11
|
s.name = 'zeroc-ice'
|
12
|
-
s.version = '3.6.
|
13
|
-
s.date = '2015-01-16'
|
12
|
+
s.version = '3.6.1'
|
14
13
|
s.summary = "ZeroC Ice for Ruby"
|
15
14
|
s.description = <<-eos
|
16
15
|
The Internet Communications Engine (Ice) provides a robust, proven
|
data/lib/Glacier2/Metrics.rb
CHANGED
data/lib/Glacier2/Router.rb
CHANGED