summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Freeze/BackgroundSaveEvictorI.cpp12
-rw-r--r--cpp/src/Freeze/EvictorI.h6
-rw-r--r--cpp/src/Freeze/Makefile.mak10
-rw-r--r--cpp/src/Freeze/ObjectStore.h7
-rw-r--r--cpp/src/Freeze/TransactionalEvictorI.cpp5
-rw-r--r--cpp/src/FreezeScript/Makefile.mak18
-rw-r--r--cpp/src/Glacier2/Makefile.mak16
-rw-r--r--cpp/src/Glacier2/SessionRouterI.cpp270
-rw-r--r--cpp/src/Ice/ConnectionRequestHandler.cpp14
-rw-r--r--cpp/src/Ice/EventHandler.cpp2
-rw-r--r--cpp/src/Ice/LocatorInfo.cpp132
-rw-r--r--cpp/src/Ice/Makefile.mak9
-rw-r--r--cpp/src/Ice/Network.cpp8
-rw-r--r--cpp/src/Ice/SelectorThread.cpp2
-rw-r--r--cpp/src/Ice/ServantManager.cpp2
-rw-r--r--cpp/src/Ice/ThreadPool.cpp2
-rw-r--r--cpp/src/Ice/TraceLevels.cpp2
-rw-r--r--cpp/src/IceBox/Makefile.mak22
-rw-r--r--cpp/src/IceGrid/Makefile.mak25
-rw-r--r--cpp/src/IceGrid/NodeServerAdminRouter.cpp1
-rw-r--r--cpp/src/IceGrid/SessionServantManager.cpp4
-rw-r--r--cpp/src/IceGridLib/Makefile.mak10
-rw-r--r--cpp/src/IcePatch2/Makefile.mak30
-rw-r--r--cpp/src/IceSSL/Makefile.mak12
-rw-r--r--cpp/src/IceStorm/Makefile.mak22
-rw-r--r--cpp/src/IceStorm/Observers.cpp12
-rw-r--r--cpp/src/IceStorm/Service.cpp1
-rw-r--r--cpp/src/IceStorm/TopicI.cpp1
-rw-r--r--cpp/src/IceStorm/TopicManagerI.cpp1
-rw-r--r--cpp/src/IceStorm/TransientTopicManagerI.cpp1
-rw-r--r--cpp/src/IceUtil/Makefile.mak10
-rw-r--r--cpp/src/IceXML/Makefile.mak10
-rw-r--r--cpp/src/Slice/Makefile.mak10
-rw-r--r--cpp/src/Slice/Util.cpp4
-rwxr-xr-xcpp/src/iceserviceinstall/Install.cpp2
-rwxr-xr-xcpp/src/iceserviceinstall/Makefile.mak10
-rw-r--r--cpp/src/slice2cpp/Makefile.mak12
-rw-r--r--cpp/src/slice2cppe/Makefile.mak12
-rwxr-xr-xcpp/src/slice2cs/Gen.cpp12
-rw-r--r--cpp/src/slice2cs/Makefile.mak12
-rw-r--r--cpp/src/slice2docbook/Makefile.mak12
-rw-r--r--cpp/src/slice2freeze/Makefile.mak12
-rw-r--r--cpp/src/slice2freezej/Makefile.mak12
-rw-r--r--cpp/src/slice2html/Makefile.mak12
-rw-r--r--cpp/src/slice2java/Makefile.mak12
-rw-r--r--cpp/src/slice2javae/Makefile.mak12
-rw-r--r--cpp/src/slice2py/Makefile.mak12
-rwxr-xr-xcpp/src/slice2rb/Makefile.mak12
-rwxr-xr-xcpp/src/slice2sl/Gen.cpp12
-rw-r--r--cpp/src/slice2sl/Makefile.mak12
50 files changed, 559 insertions, 314 deletions
diff --git a/cpp/src/Freeze/BackgroundSaveEvictorI.cpp b/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
index 49ac2a48b05..b4b318b2ce6 100644
--- a/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
+++ b/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
@@ -13,6 +13,10 @@
#include <IceUtil/StringUtil.h>
#include <Freeze/Util.h>
+#include <Freeze/ObjectStore.h>
+
+
+
#include <typeinfo>
using namespace std;
@@ -1399,12 +1403,12 @@ Freeze::BackgroundSaveEvictorElement::~BackgroundSaveEvictorElement()
{
}
+// COMPILERFIX: Required to build with C++ Builder 2007
+typedef ObjectStore<BackgroundSaveEvictorElement>::Position BackgroundSaveEvictorElementPosition;
+
void
-Freeze::BackgroundSaveEvictorElement::init(ObjectStore<BackgroundSaveEvictorElement>::Position p)
+Freeze::BackgroundSaveEvictorElement::init(BackgroundSaveEvictorElementPosition p)
{
stale = false;
cachePosition = p;
}
-
-
-
diff --git a/cpp/src/Freeze/EvictorI.h b/cpp/src/Freeze/EvictorI.h
index c25f88feed3..9eff024a02f 100644
--- a/cpp/src/Freeze/EvictorI.h
+++ b/cpp/src/Freeze/EvictorI.h
@@ -220,7 +220,7 @@ protected:
}
ObjectStore<T>* store = new ObjectStore<T>(facet, facetType,_createDb, this, storeIndices, populateEmptyIndices);
-#if defined(_MSC_VER) && (_MSC_VER < 1300)
+#if defined(__BCPLUSPLUS__) || (defined(_MSC_VER) && (_MSC_VER < 1300))
_storeMap.insert(StoreMap::value_type(facet, store));
#else
_storeMap.insert(typename StoreMap::value_type(facet, store));
@@ -235,7 +235,7 @@ protected:
{
facet = "";
}
-#if defined(_MSC_VER) && (_MSC_VER < 1300)
+#if defined(__BCPLUSPLUS__) || (defined(_MSC_VER) && (_MSC_VER < 1300))
std::pair<StoreMap::iterator, bool> ir =
_storeMap.insert(StoreMap::value_type(facet, 0));
#else
@@ -278,7 +278,7 @@ protected:
}
os = new ObjectStore<T>(facet, facetType, true, this);
-#if defined(_MSC_VER) && (_MSC_VER < 1300)
+#if defined(__BCPLUSPLUS__) || (defined(_MSC_VER) && (_MSC_VER < 1300))
_storeMap.insert(StoreMap::value_type(facet, os));
#else
_storeMap.insert(typename StoreMap::value_type(facet, os));
diff --git a/cpp/src/Freeze/Makefile.mak b/cpp/src/Freeze/Makefile.mak
index 014163eccf6..fb1c80d2b1b 100644
--- a/cpp/src/Freeze/Makefile.mak
+++ b/cpp/src/Freeze/Makefile.mak
@@ -59,10 +59,16 @@ LINKWITH = $(LIBS) $(DB_LIBS)
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Freeze.res
+!else
+RES_FILE = Freeze.res
+!endif
+
$(LIBNAME): $(DLLNAME)
$(DLLNAME): $(OBJS) Freeze.res
- $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) Freeze.res $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
+ $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@@ -111,7 +117,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/Freeze/ObjectStore.h b/cpp/src/Freeze/ObjectStore.h
index d24a7c487cd..1f9f389035a 100644
--- a/cpp/src/Freeze/ObjectStore.h
+++ b/cpp/src/Freeze/ObjectStore.h
@@ -94,7 +94,14 @@ class ObjectStore : public ObjectStoreBase, public IceUtil::Cache<Ice::Identity,
{
}
+#ifdef __BCPLUSPLUS__
+ bool load(const Ice::Identity& ident, const TransactionIPtr& trans, ObjectRecord& rec)
+ {
+ return ObjectStoreBase::load(ident, trans, rec);
+ }
+#else
using ObjectStoreBase::load;
+#endif
typedef IceUtil::Cache<Ice::Identity, T> Cache;
diff --git a/cpp/src/Freeze/TransactionalEvictorI.cpp b/cpp/src/Freeze/TransactionalEvictorI.cpp
index db6ee0f8421..e2798be89da 100644
--- a/cpp/src/Freeze/TransactionalEvictorI.cpp
+++ b/cpp/src/Freeze/TransactionalEvictorI.cpp
@@ -827,8 +827,11 @@ Freeze::TransactionalEvictorElement::~TransactionalEvictorElement()
{
}
+// COMPILERFIX: Required to build with C++ Builder 2007
+typedef ObjectStore<TransactionalEvictorElement>::Position TransactionalEvictorElementPosition;
+
void
-Freeze::TransactionalEvictorElement::init(ObjectStore<TransactionalEvictorElement>::Position p)
+Freeze::TransactionalEvictorElement::init(TransactionalEvictorElementPosition p)
{
_stale = false;
_cachePosition = p;
diff --git a/cpp/src/FreezeScript/Makefile.mak b/cpp/src/FreezeScript/Makefile.mak
index a3ead3e7fa4..127f1b822f8 100644
--- a/cpp/src/FreezeScript/Makefile.mak
+++ b/cpp/src/FreezeScript/Makefile.mak
@@ -47,15 +47,23 @@ TPDBFLAGS = /pdb:$(TRANSFORMDB:.exe=.pdb)
DPDBFLAGS = /pdb:$(DUMPDB:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+TRES_FILE = ,, TransformDB.res
+DRES_FILE = ,, DumpDB.res
+!else
+TRES_FILE = TransformDB.res
+DRES_FILE = DumpDB.res
+!endif
+
$(TRANSFORMDB): $(TRANSFORM_OBJS) $(COMMON_OBJS) TransformDB.res
- $(LINK) $(LD_EXEFLAGS) $(TPDBFLAGS) $(TRANSFORM_OBJS) $(COMMON_OBJS) TransformDB.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)$(LINKWITH)
+ $(LINK) $(LD_EXEFLAGS) $(TPDBFLAGS) $(TRANSFORM_OBJS) $(COMMON_OBJS) $(SETARGV) $(PREOUT)$@ \
+ $(PRELIBS)$(LINKWITH) $(TRES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(DUMPDB): $(DUMP_OBJS) $(COMMON_OBJS) DumpDB.res
- $(LINK) $(LD_EXEFLAGS) $(DPDBFLAGS) $(DUMP_OBJS) $(COMMON_OBJS) DumpDB.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)$(LINKWITH)
+ $(LINK) $(LD_EXEFLAGS) $(DPDBFLAGS) $(DUMP_OBJS) $(COMMON_OBJS) $(SETARGV) $(PREOUT)$@ \
+ $(PRELIBS)$(LINKWITH) $(DRES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -92,7 +100,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(TRANSFORMDB:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/Glacier2/Makefile.mak b/cpp/src/Glacier2/Makefile.mak
index ef41b9387ef..29629cf3d66 100644
--- a/cpp/src/Glacier2/Makefile.mak
+++ b/cpp/src/Glacier2/Makefile.mak
@@ -55,7 +55,7 @@ SDIR = $(slicedir)\Glacier2
CPPFLAGS = -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) $(OPENSSL_LIBS) glacier2$(LIBSUFFIX).lib icessl$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006"
+!if "$(CPP_COMPILER)" != "BCC2007"
LINKWITH = $(LINKWITH) ws2_32.lib
!endif
@@ -70,19 +70,27 @@ PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
RPDBFLAGS = /pdb:$(ROUTER:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Glacier2.res
+RRES_FILE = ,, Glacier2Router.res
+!else
+RES_FILE = Glacier2.res
+RRES_FILE = Glacier2Router.res
+!endif
+
SLICE2CPPFLAGS = --include-dir Glacier2 --dll-export GLACIER2_API $(SLICE2CPPFLAGS)
$(LIBNAME): $(DLLNAME)
$(DLLNAME): $(OBJS) Glacier2.res
- $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) Glacier2.res $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@if exist $(DLLNAME:.dll=.exp) del /q $(DLLNAME:.dll=.exp)
$(ROUTER): $(ROBJS) Glacier2Router.res
- $(LINK) $(LD_EXEFLAGS) $(RPDBFLAGS) $(ROBJS) Glacier2Router.res $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
+ $(LINK) $(LD_EXEFLAGS) $(RPDBFLAGS) $(ROBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) $(RRES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -113,7 +121,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/Glacier2/SessionRouterI.cpp b/cpp/src/Glacier2/SessionRouterI.cpp
index eca720d7e31..229a0a51a05 100644
--- a/cpp/src/Glacier2/SessionRouterI.cpp
+++ b/cpp/src/Glacier2/SessionRouterI.cpp
@@ -146,52 +146,52 @@ public:
{
}
- virtual void
- authorize()
+ class CheckPermissionsCB : public AMI_PermissionsVerifier_checkPermissions
{
- assert(_sessionRouter->_verifier);
+ public:
- class CheckPermissionsCB : public AMI_PermissionsVerifier_checkPermissions
+ CheckPermissionsCB(const UserPasswordCreateSessionPtr& session, bool hasSessionManager) :
+ _session(session),
+ _hasSessionManager(hasSessionManager)
{
- public:
+ }
- CheckPermissionsCB(const UserPasswordCreateSessionPtr& session, bool hasSessionManager) :
- _session(session),
- _hasSessionManager(hasSessionManager)
+ virtual void
+ ice_response(bool ok, const string& reason)
+ {
+ if(ok)
{
+ _session->authorized(_hasSessionManager);
}
-
- virtual void
- ice_response(bool ok, const string& reason)
+ else
{
- if(ok)
- {
- _session->authorized(_hasSessionManager);
- }
- else
- {
- _session->exception(PermissionDeniedException(reason.empty() ? "permission denied" : reason));
- }
+ _session->exception(PermissionDeniedException(reason.empty() ? string("permission denied") : reason));
}
+ }
- virtual void
- ice_exception(const Ice::Exception& ex)
+ virtual void
+ ice_exception(const Ice::Exception& ex)
+ {
+ if(dynamic_cast<const CollocationOptimizationException*>(&ex))
{
- if(dynamic_cast<const CollocationOptimizationException*>(&ex))
- {
- _session->authorizeCollocated();
- }
- else
- {
- _session->unexpectedAuthorizeException(ex);
- }
+ _session->authorizeCollocated();
}
+ else
+ {
+ _session->unexpectedAuthorizeException(ex);
+ }
+ }
- private:
+ private:
- const UserPasswordCreateSessionPtr _session;
- const bool _hasSessionManager;
- };
+ const UserPasswordCreateSessionPtr _session;
+ const bool _hasSessionManager;
+ };
+
+ virtual void
+ authorize()
+ {
+ assert(_sessionRouter->_verifier);
AMI_PermissionsVerifier_checkPermissionsPtr cb = new CheckPermissionsCB(this, _sessionRouter->_sessionManager);
_sessionRouter->_verifier->checkPermissions_async(cb, _user, _password, _current.ctx);
@@ -209,7 +209,7 @@ public:
}
else
{
- exception(PermissionDeniedException(reason.empty() ? "permission denied" : reason));
+ exception(PermissionDeniedException(reason.empty() ? string("permission denied") : reason));
}
}
catch(const Ice::Exception& ex)
@@ -224,44 +224,45 @@ public:
return FilterManager::create(_instance, _user, true);
}
- virtual void
- createSession()
+ class CreateCB : public AMI_SessionManager_create
{
- class CreateCB : public AMI_SessionManager_create
+ public:
+
+ CreateCB(const CreateSessionPtr& session) : _session(session)
{
- public:
-
- CreateCB(const CreateSessionPtr& session) : _session(session)
+ }
+
+ virtual void
+ ice_response(const SessionPrx& session)
+ {
+ _session->sessionCreated(session);
+ }
+
+ virtual void
+ ice_exception(const Ice::Exception& ex)
+ {
+ try
{
+ ex.ice_throw();
}
-
- virtual void
- ice_response(const SessionPrx& session)
+ catch(const CannotCreateSessionException& ex)
{
- _session->sessionCreated(session);
+ _session->exception(ex);
}
-
- virtual void
- ice_exception(const Ice::Exception& ex)
+ catch(const Ice::Exception& ex)
{
- try
- {
- ex.ice_throw();
- }
- catch(const CannotCreateSessionException& ex)
- {
- _session->exception(ex);
- }
- catch(const Ice::Exception& ex)
- {
- _session->unexpectedCreateSessionException(ex);
- }
+ _session->unexpectedCreateSessionException(ex);
}
+ }
- private:
-
- const CreateSessionPtr _session;
- };
+ private:
+
+ const CreateSessionPtr _session;
+ };
+
+ virtual void
+ createSession()
+ {
_sessionRouter->_sessionManager->create_async(new CreateCB(this), _user, _control, _current.ctx);
}
@@ -296,52 +297,53 @@ public:
{
}
- virtual void
- authorize()
+ class AuthorizeCB : public AMI_SSLPermissionsVerifier_authorize
{
- assert(_sessionRouter->_verifier);
+ public:
- class AuthorizeCB : public AMI_SSLPermissionsVerifier_authorize
+ AuthorizeCB(const SSLCreateSessionPtr& session, bool hasSessionManager) :
+ _session(session),
+ _hasSessionManager(hasSessionManager)
{
- public:
+ }
- AuthorizeCB(const SSLCreateSessionPtr& session, bool hasSessionManager) :
- _session(session),
- _hasSessionManager(hasSessionManager)
+ virtual void
+ ice_response(bool ok, const string& reason)
+ {
+ if(ok)
{
+ _session->authorized(_hasSessionManager);
}
-
- virtual void
- ice_response(bool ok, const string& reason)
+ else
{
- if(ok)
- {
- _session->authorized(_hasSessionManager);
- }
- else
- {
- _session->exception(PermissionDeniedException(reason.empty() ? "permission denied" : reason));
- }
+ _session->exception(PermissionDeniedException(reason.empty() ? string("permission denied")
+ : reason));
}
+ }
- virtual void
- ice_exception(const Ice::Exception& ex)
+ virtual void
+ ice_exception(const Ice::Exception& ex)
+ {
+ if(dynamic_cast<const CollocationOptimizationException*>(&ex))
{
- if(dynamic_cast<const CollocationOptimizationException*>(&ex))
- {
- _session->authorizeCollocated();
- }
- else
- {
- _session->unexpectedAuthorizeException(ex);
- }
+ _session->authorizeCollocated();
+ }
+ else
+ {
+ _session->unexpectedAuthorizeException(ex);
}
+ }
- private:
+ private:
- const SSLCreateSessionPtr _session;
- const bool _hasSessionManager;
- };
+ const SSLCreateSessionPtr _session;
+ const bool _hasSessionManager;
+ };
+
+ virtual void
+ authorize()
+ {
+ assert(_sessionRouter->_verifier);
AMI_SSLPermissionsVerifier_authorizePtr cb = new AuthorizeCB(this, _sessionRouter->_sessionManager);
_sessionRouter->_sslVerifier->authorize_async(cb, _sslInfo, _current.ctx);
@@ -359,7 +361,7 @@ public:
}
else
{
- exception(PermissionDeniedException(reason.empty() ? "permission denied" : reason));
+ exception(PermissionDeniedException(reason.empty() ? string("permission denied") : reason));
}
}
catch(const Ice::Exception& ex)
@@ -374,44 +376,45 @@ public:
return FilterManager::create(_instance, _user, false);
}
- virtual void
- createSession()
+ class CreateCB : public AMI_SSLSessionManager_create
{
- class CreateCB : public AMI_SSLSessionManager_create
+ public:
+
+ CreateCB(const CreateSessionPtr& session) : _session(session)
{
- public:
-
- CreateCB(const CreateSessionPtr& session) : _session(session)
+ }
+
+ virtual void
+ ice_response(const SessionPrx& session)
+ {
+ _session->sessionCreated(session);
+ }
+
+ virtual void
+ ice_exception(const Ice::Exception& ex)
+ {
+ try
{
+ ex.ice_throw();
}
-
- virtual void
- ice_response(const SessionPrx& session)
+ catch(const CannotCreateSessionException& ex)
{
- _session->sessionCreated(session);
+ _session->exception(ex);
}
-
- virtual void
- ice_exception(const Ice::Exception& ex)
+ catch(const Ice::Exception& ex)
{
- try
- {
- ex.ice_throw();
- }
- catch(const CannotCreateSessionException& ex)
- {
- _session->exception(ex);
- }
- catch(const Ice::Exception& ex)
- {
- _session->unexpectedCreateSessionException(ex);
- }
+ _session->unexpectedCreateSessionException(ex);
}
+ }
- private:
-
- const CreateSessionPtr _session;
- };
+ private:
+
+ const CreateSessionPtr _session;
+ };
+
+ virtual void
+ createSession()
+ {
_sessionRouter->_sslSessionManager->create_async(new CreateCB(this), _sslInfo, _control, _current.ctx);
}
@@ -437,9 +440,12 @@ class DestroyCB : public AMI_Session_destroy
{
public:
- DestroyCB(int traceLevel, const LoggerPtr& logger) :
- _logger(traceLevel > 0 ? logger : LoggerPtr())
+ DestroyCB(int traceLevel, const LoggerPtr& logger)
{
+ if(traceLevel > 0)
+ {
+ _logger = logger;
+ }
}
virtual void
@@ -545,8 +551,12 @@ Glacier2::CreateSession::sessionCreated(const SessionPrx& session)
RouterIPtr router;
try
{
- router = new RouterI(_instance, _current.con, _user, session,
- _control ? _control->ice_getIdentity() : Ice::Identity(), _filterManager, _sslContext);
+ Ice::Identity ident;
+ if(_control)
+ {
+ ident = _control->ice_getIdentity();
+ }
+ router = new RouterI(_instance, _current.con, _user, session, ident, _filterManager, _sslContext);
}
catch(const Ice::Exception& ex)
{
diff --git a/cpp/src/Ice/ConnectionRequestHandler.cpp b/cpp/src/Ice/ConnectionRequestHandler.cpp
index d65e9fd449c..44d004fd2da 100644
--- a/cpp/src/Ice/ConnectionRequestHandler.cpp
+++ b/cpp/src/Ice/ConnectionRequestHandler.cpp
@@ -21,7 +21,19 @@ using namespace IceInternal;
ConnectionRequestHandler::ConnectionRequestHandler(const ReferencePtr& reference, const Ice::ObjectPrx& proxy) :
RequestHandler(reference)
{
- _connection = _reference->getConnection(_compress);
+// COMPILERFIX: Without the catch/rethrow C++Builder 2007 can get access violations.
+#ifdef __BCPLUSPLUS__
+ try
+ {
+#endif
+ _connection = _reference->getConnection(_compress);
+#ifdef __BCPLUSPLUS__
+ }
+ catch(const Ice::LocalException&)
+ {
+ throw;
+ }
+#endif
RouterInfoPtr ri = reference->getRouterInfo();
if(ri)
{
diff --git a/cpp/src/Ice/EventHandler.cpp b/cpp/src/Ice/EventHandler.cpp
index 43b39ee7844..3f91732ac6e 100644
--- a/cpp/src/Ice/EventHandler.cpp
+++ b/cpp/src/Ice/EventHandler.cpp
@@ -15,7 +15,7 @@ using namespace Ice;
using namespace IceInternal;
IceUtil::Shared* IceInternal::upCast(EventHandler* p) { return p; }
-IceUtil::Shared* IceInternal::upCast(ThreadPoolWorkItem* p) { return p; }
+ICE_API IceUtil::Shared* IceInternal::upCast(ThreadPoolWorkItem* p) { return p; }
InstancePtr
IceInternal::EventHandler::instance() const
diff --git a/cpp/src/Ice/LocatorInfo.cpp b/cpp/src/Ice/LocatorInfo.cpp
index 3e8b70df196..027261900aa 100644
--- a/cpp/src/Ice/LocatorInfo.cpp
+++ b/cpp/src/Ice/LocatorInfo.cpp
@@ -384,6 +384,73 @@ IceInternal::LocatorInfo::getEndpoints(const ReferencePtr& ref, int ttl, bool& c
return endpoints;
}
+namespace IceInternal
+{
+
+class findAdapterByIdCallback : public AMI_Locator_findAdapterById
+{
+public:
+
+ virtual void
+ ice_response(const Ice::ObjectPrx& object)
+ {
+ vector<EndpointIPtr> endpoints;
+ if(object)
+ {
+ endpoints = object->__reference()->getEndpoints();
+ if(!endpoints.empty())
+ {
+ _table->addAdapterEndpoints(_reference->getAdapterId(), endpoints);
+ }
+ }
+
+ if(_reference->getInstance()->traceLevels()->location >= 1)
+ {
+ _locatorInfo->getEndpointsTrace(_reference, endpoints, false);
+ }
+
+ _callback->setEndpoints(endpoints, false);
+ }
+
+ virtual void
+ ice_exception(const Ice::Exception& ex)
+ {
+ if(dynamic_cast<const Ice::CollocationOptimizationException*>(&ex))
+ {
+ try
+ {
+ bool cached;
+ vector<EndpointIPtr> endpoints = _locatorInfo->getEndpoints(_reference, _ttl, cached);
+ _callback->setEndpoints(endpoints, cached);
+ }
+ catch(const Ice::LocalException& e)
+ {
+ _callback->setException(e);
+ }
+ }
+ else
+ {
+ _locatorInfo->getEndpointsException(_reference, ex, _callback);
+ }
+ }
+
+ findAdapterByIdCallback(const LocatorInfoPtr& locatorInfo, const LocatorTablePtr& table,
+ const ReferencePtr& reference, int ttl, const LocatorInfo::GetEndpointsCallbackPtr& callback) :
+ _locatorInfo(locatorInfo), _table(table), _reference(reference), _ttl(ttl), _callback(callback)
+ {
+ }
+
+private:
+
+ const LocatorInfoPtr _locatorInfo;
+ const LocatorTablePtr _table;
+ const ReferencePtr _reference;
+ const int _ttl;
+ const LocatorInfo::GetEndpointsCallbackPtr _callback;
+};
+
+};
+
void
IceInternal::LocatorInfo::getEndpoints(const ReferencePtr& ref, int ttl, const GetEndpointsCallbackPtr& callback)
{
@@ -403,73 +470,12 @@ IceInternal::LocatorInfo::getEndpoints(const ReferencePtr& ref, int ttl, const G
out << "searching for adapter by id" << "\nadapter = " << adapterId;
}
- class Callback : public AMI_Locator_findAdapterById
- {
- public:
-
- virtual void
- ice_response(const Ice::ObjectPrx& object)
- {
- vector<EndpointIPtr> endpoints;
- if(object)
- {
- endpoints = object->__reference()->getEndpoints();
- if(!endpoints.empty())
- {
- _table->addAdapterEndpoints(_reference->getAdapterId(), endpoints);
- }
- }
-
- if(_reference->getInstance()->traceLevels()->location >= 1)
- {
- _locatorInfo->getEndpointsTrace(_reference, endpoints, false);
- }
-
- _callback->setEndpoints(endpoints, false);
- }
-
- virtual void
- ice_exception(const Ice::Exception& ex)
- {
- if(dynamic_cast<const Ice::CollocationOptimizationException*>(&ex))
- {
- try
- {
- bool cached;
- vector<EndpointIPtr> endpoints = _locatorInfo->getEndpoints(_reference, _ttl, cached);
- _callback->setEndpoints(endpoints, cached);
- }
- catch(const Ice::LocalException& e)
- {
- _callback->setException(e);
- }
- }
- else
- {
- _locatorInfo->getEndpointsException(_reference, ex, _callback);
- }
- }
-
- Callback(const LocatorInfoPtr& locatorInfo, const LocatorTablePtr& table,
- const ReferencePtr& reference, int ttl, const GetEndpointsCallbackPtr& callback) :
- _locatorInfo(locatorInfo), _table(table), _reference(reference), _ttl(ttl), _callback(callback)
- {
- }
-
- private:
-
- const LocatorInfoPtr _locatorInfo;
- const LocatorTablePtr _table;
- const ReferencePtr _reference;
- const int _ttl;
- const GetEndpointsCallbackPtr _callback;
- };
-
//
// Search the adapter in the location service if we didn't
// find it in the cache.
//
- _locator->findAdapterById_async(new Callback(this, _table, ref, ttl, callback), adapterId);
+ _locator->findAdapterById_async(
+ new IceInternal::findAdapterByIdCallback(this, _table, ref, ttl, callback), adapterId);
return;
}
else
diff --git a/cpp/src/Ice/Makefile.mak b/cpp/src/Ice/Makefile.mak
index 5906305ad26..78d6c50a6bd 100644
--- a/cpp/src/Ice/Makefile.mak
+++ b/cpp/src/Ice/Makefile.mak
@@ -116,9 +116,12 @@ SDIR = $(slicedir)\Ice
CPPFLAGS = -I.. $(CPPFLAGS) -DICE_API_EXPORTS -DFD_SETSIZE=1024 -DWIN32_LEAN_AND_MEAN
SLICE2CPPFLAGS = --ice --include-dir Ice --dll-export ICE_API $(SLICE2CPPFLAGS)
-LINKWITH = $(BASELIBS) $(BZIP2_LIBS) $(ICE_OS_LIBS) ws2_32.lib Iphlpapi.lib
+LINKWITH = $(BASELIBS) $(BZIP2_LIBS) $(ICE_OS_LIBS) ws2_32.lib
+!if "$(CPP_COMPILER)" != "BCC2007"
+LINKWITH = $(LINKWITH) Iphlpapi.lib
+!endif
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
RES_FILE = ,, Ice.res
!else
!if "$(GENERATE_PDB)" == "yes"
@@ -194,7 +197,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp
index 4ca5b0babbd..b2665c3e67b 100644
--- a/cpp/src/Ice/Network.cpp
+++ b/cpp/src/Ice/Network.cpp
@@ -403,6 +403,8 @@ getInterfaceIndex(const string& name)
{
int index = 0;
#ifdef _WIN32
+
+#ifndef __BCPLUSPLUS__
IP_ADAPTER_ADDRESSES addrs;
ULONG buflen = 0;
if(::GetAdaptersAddresses(AF_INET6, 0, 0, &addrs, &buflen) == ERROR_BUFFER_OVERFLOW)
@@ -424,6 +426,8 @@ getInterfaceIndex(const string& name)
}
delete[] buf;
}
+#endif
+
#elif !defined(__hpux)
index = if_nametoindex(name.c_str());
#endif
@@ -436,6 +440,8 @@ getInterfaceAddress(const string& name)
struct in_addr addr;
addr.s_addr = INADDR_ANY;
#ifdef _WIN32
+
+#ifndef __BCPLUSPLUS__
IP_ADAPTER_ADDRESSES addrs;
ULONG buflen = 0;
if(::GetAdaptersAddresses(AF_INET, 0, 0, &addrs, &buflen) == ERROR_BUFFER_OVERFLOW)
@@ -460,6 +466,8 @@ getInterfaceAddress(const string& name)
}
delete[] buf;
}
+#endif
+
#else
ifreq if_address;
strcpy(if_address.ifr_name, name.c_str());
diff --git a/cpp/src/Ice/SelectorThread.cpp b/cpp/src/Ice/SelectorThread.cpp
index 8bde6307e5f..d7f2f679a96 100644
--- a/cpp/src/Ice/SelectorThread.cpp
+++ b/cpp/src/Ice/SelectorThread.cpp
@@ -17,7 +17,7 @@ using namespace std;
using namespace Ice;
using namespace IceInternal;
-IceUtil::Shared* IceInternal::upCast(SelectorThread* p) { return p; }
+ICE_API IceUtil::Shared* IceInternal::upCast(SelectorThread* p) { return p; }
IceInternal::SelectorThread::SelectorThread(const InstancePtr& instance) :
_instance(instance),
diff --git a/cpp/src/Ice/ServantManager.cpp b/cpp/src/Ice/ServantManager.cpp
index a573c89bc7f..8dfcc0d2c66 100644
--- a/cpp/src/Ice/ServantManager.cpp
+++ b/cpp/src/Ice/ServantManager.cpp
@@ -18,7 +18,7 @@ using namespace std;
using namespace Ice;
using namespace IceInternal;
-IceUtil::Shared* IceInternal::upCast(ServantManager* p) { return p; }
+ICE_API IceUtil::Shared* IceInternal::upCast(ServantManager* p) { return p; }
void
IceInternal::ServantManager::addServant(const ObjectPtr& object, const Identity& ident, const string& facet)
diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp
index 07d7b08492e..85c284e886f 100644
--- a/cpp/src/Ice/ThreadPool.cpp
+++ b/cpp/src/Ice/ThreadPool.cpp
@@ -23,7 +23,7 @@ using namespace std;
using namespace Ice;
using namespace IceInternal;
-IceUtil::Shared* IceInternal::upCast(ThreadPool* p) { return p; }
+ICE_API IceUtil::Shared* IceInternal::upCast(ThreadPool* p) { return p; }
IceInternal::ThreadPool::ThreadPool(const InstancePtr& instance, const string& prefix, int timeout) :
_instance(instance),
diff --git a/cpp/src/Ice/TraceLevels.cpp b/cpp/src/Ice/TraceLevels.cpp
index 028450d5df4..86135ee575c 100644
--- a/cpp/src/Ice/TraceLevels.cpp
+++ b/cpp/src/Ice/TraceLevels.cpp
@@ -14,7 +14,7 @@ using namespace std;
using namespace Ice;
using namespace IceInternal;
-IceUtil::Shared* IceInternal::upCast(TraceLevels* p) { return p; }
+ICE_API IceUtil::Shared* IceInternal::upCast(TraceLevels* p) { return p; }
IceInternal::TraceLevels::TraceLevels(const PropertiesPtr& properties) :
network(0),
diff --git a/cpp/src/IceBox/Makefile.mak b/cpp/src/IceBox/Makefile.mak
index 082d5a5a042..7adf4abbfe1 100644
--- a/cpp/src/IceBox/Makefile.mak
+++ b/cpp/src/IceBox/Makefile.mak
@@ -60,24 +60,34 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
APDBFLAGS = /pdb:$(ADMIN:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, IceBox.res
+SRES_FILE = ,, IceBoxExe.res
+ARES_FILE = ,, IceBoxAdmin.res
+!else
+RES_FILE = IceBox.res
+SRES_FILE = IceBoxExe.res
+ARES_FILE = IceBoxAdmin.res
+!endif
+
$(LIBNAME): $(DLLNAME)
$(DLLNAME): $(OBJS) IceBox.res
- $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) IceBox.res $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@if exist $(DLLNAME:.dll=.exp) del /q $(DLLNAME:.dll=.exp)
$(SERVER): $(SOBJS) IceBoxExe.res
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SOBJS) IceBoxExe.res $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icebox$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SOBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
+ icebox$(LIBSUFFIX).lib $(SRES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(ADMIN): $(AOBJS) IceBoxAdmin.res
- $(LINK) $(LD_EXEFLAGS) $(APDBFLAGS) $(AOBJS) IceBoxAdmin.res $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icebox$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(APDBFLAGS) $(AOBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
+ icebox$(LIBSUFFIX).lib $(ARES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -107,7 +117,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/IceGrid/Makefile.mak b/cpp/src/IceGrid/Makefile.mak
index 81c8f3b7ecd..c7c97cd8ead 100644
--- a/cpp/src/IceGrid/Makefile.mak
+++ b/cpp/src/IceGrid/Makefile.mak
@@ -101,13 +101,13 @@ ALINKWITH = $(LINKWITH) icegrid$(LIBSUFFIX).lib icexml$(LIBSUFFIX).lib icepatch
icebox$(LIBSUFFIX).lib
NLINKWITH = $(ALINKWITH) icestorm$(LIBSUFFIX).lib freeze$(LIBSUFFIX).lib icebox$(LIBSUFFIX).lib \
icessl$(LIBSUFFIX).lib icestormservice$(LIBSUFFIX).lib $(OPENSSL_LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006"
+!if "$(CPP_COMPILER)" != "BCC2007"
NLINKWITH = $(NLINKWITH) pdh.lib ws2_32.lib
!endif
SLICE2CPPFLAGS = --checksum --ice --include-dir IceGrid $(SLICE2CPPFLAGS)
CPPFLAGS = -I. -I.. -Idummyinclude $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006"
+!if "$(CPP_COMPILER)" != "BCC2007"
CPPFLAGS = $(CPPFLAGS) -Zm200
!endif
@@ -117,20 +117,29 @@ RPDBFLAGS = /pdb:$(REGISTRY_SERVER:.exe=.pdb)
NPDBFLAGS = /pdb:$(NODE_SERVER:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+ARES_FILE = ,, IceGridAdmin.res
+RRES_FILE = ,, IceGridRegistry.res
+NRES_FILE = ,, IceGridNode.res
+!else
+ARES_FILE = IceGridAdmin.res
+RRES_FILE = IceGridRegistry.res
+NRES_FILE = IceGridNode.res
+!endif
+
$(ADMIN): $(ADMIN_OBJS) IceGridAdmin.res
- $(LINK) $(LD_EXEFLAGS) $(APDBFLAGS) $(ADMIN_OBJS) IceGridAdmin.res $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(ALINKWITH)
+ $(LINK) $(LD_EXEFLAGS) $(APDBFLAGS) $(ADMIN_OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(ALINKWITH) $(ARES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) &&\
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(REGISTRY_SERVER): $(REGISTRY_SVR_OBJS) IceGridRegistry.res
- $(LINK) $(LD_EXEFLAGS) $(RPDBFLAGS) $(REGISTRY_SVR_OBJS) IceGridRegistry.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)$(NLINKWITH)
+ $(LINK) $(LD_EXEFLAGS) $(RPDBFLAGS) $(REGISTRY_SVR_OBJS) $(SETARGV) $(PREOUT)$@ \
+ $(PRELIBS)$(NLINKWITH) $(RRES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(NODE_SERVER): $(NODE_SVR_OBJS) IceGridNode.res
- $(LINK) $(LD_EXEFLAGS) $(NPDBFLAGS) $(NODE_SVR_OBJS) IceGridNode.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)$(NLINKWITH)
+ $(LINK) $(LD_EXEFLAGS) $(NPDBFLAGS) $(NODE_SVR_OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(NLINKWITH) $(NRES_FILE)
@if exist $@.manifest \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -196,7 +205,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(ADMIN:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/IceGrid/NodeServerAdminRouter.cpp b/cpp/src/IceGrid/NodeServerAdminRouter.cpp
index f54d2634f60..3e30aef52bb 100644
--- a/cpp/src/IceGrid/NodeServerAdminRouter.cpp
+++ b/cpp/src/IceGrid/NodeServerAdminRouter.cpp
@@ -10,6 +10,7 @@
#include <IceGrid/NodeServerAdminRouter.h>
#include <Ice/Ice.h>
#include <IceGrid/ServerI.h>
+#include <IceGrid/ServerAdapterI.h>
using namespace IceGrid;
using namespace Ice;
diff --git a/cpp/src/IceGrid/SessionServantManager.cpp b/cpp/src/IceGrid/SessionServantManager.cpp
index d6b5469ffd1..6f19761a880 100644
--- a/cpp/src/IceGrid/SessionServantManager.cpp
+++ b/cpp/src/IceGrid/SessionServantManager.cpp
@@ -12,6 +12,10 @@
#include <Ice/ObjectAdapter.h>
#include <IceGrid/SessionServantManager.h>
+#if defined(__BCPLUSPLUS__)
+# include <iterator>
+#endif
+
using namespace std;
using namespace IceGrid;
diff --git a/cpp/src/IceGridLib/Makefile.mak b/cpp/src/IceGridLib/Makefile.mak
index 4f147f79784..f69930f4692 100644
--- a/cpp/src/IceGridLib/Makefile.mak
+++ b/cpp/src/IceGridLib/Makefile.mak
@@ -41,10 +41,16 @@ CPPFLAGS = -I.. -DICE_GRID_API_EXPORTS $(CPPFLAGS)
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, IceGrid.res
+!else
+RES_FILE = IceGrid.res
+!endif
+
$(LIBNAME): $(DLLNAME)
$(DLLNAME): $(LIB_OBJS) IceGrid.res
- $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(LIB_OBJS) IceGrid.res $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
+ $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(LIB_OBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@@ -71,7 +77,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/IcePatch2/Makefile.mak b/cpp/src/IcePatch2/Makefile.mak
index 58b9773179b..410223fd6e0 100644
--- a/cpp/src/IcePatch2/Makefile.mak
+++ b/cpp/src/IcePatch2/Makefile.mak
@@ -68,31 +68,43 @@ CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
CAPDBFLAGS = /pdb:$(CALC:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, IcePatch2.res
+SRES_FILE = ,, IcePatch2Server.res
+CRES_FILE = ,, IcePatch2Client.res
+CARES_FILE = ,, IcePatch2Calc.res
+!else
+RES_FILE = IcePatch2.res
+SRES_FILE = IcePatch2Server.res
+CRES_FILE = IcePatch2Client.res
+CARES_FILE = IcePatch2Calc.res
+!endif
+
$(LIBNAME): $(DLLNAME)
$(DLLNAME): $(OBJS) IcePatch2.res
- $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) IcePatch2.res $(PREOUT)$@ $(PRELIBS)$(LIBS) $(BZIP2_LIBS) \
- $(OPENSSL_LIBS)
+ $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) $(BZIP2_LIBS) \
+ $(OPENSSL_LIBS) $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest security.manifest -outputresource:$@;#2 && del /q $@.manifest
@if exist $(DLLNAME:.dll=.exp) del /q $(DLLNAME:.dll=.exp)
$(SERVER): $(SOBJS) IcePatch2Server.res
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) IcePatch2Server.res $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icepatch2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
+ icepatch2$(LIBSUFFIX).lib $(SRES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest security.manifest -outputresource:$@;#1 && del /q $@.manifest
$(CLIENT): $(COBJS) IcePatch2Client.res
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) IcePatch2Client.res $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icepatch2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
+ icepatch2$(LIBSUFFIX).lib $(CRES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest security.manifest -outputresource:$@;#1 && del /q $@.manifest
$(CALC): $(CALCOBJS) IcePatch2Calc.res
- $(LINK) $(LD_EXEFLAGS) $(CAPDBFLAGS) $(SETARGV) $(CALCOBJS) IcePatch2Calc.res $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icepatch2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CAPDBFLAGS) $(SETARGV) $(CALCOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
+ icepatch2$(LIBSUFFIX).lib $(CARES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest security.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -128,7 +140,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/IceSSL/Makefile.mak b/cpp/src/IceSSL/Makefile.mak
index 9bf80c9ef01..dd1d23986a3 100644
--- a/cpp/src/IceSSL/Makefile.mak
+++ b/cpp/src/IceSSL/Makefile.mak
@@ -34,7 +34,7 @@ HDIR = $(includedir)\IceSSL
CPPFLAGS = -I.. $(CPPFLAGS) -DICE_SSL_API_EXPORTS -DFD_SETSIZE=1024 -DWIN32_LEAN_AND_MEAN
LINKWITH = $(OPENSSL_LIBS) $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006"
+!if "$(CPP_COMPILER)" != "BCC2007"
LINKWITH = $(LINKWITH) ws2_32.lib
!endif
@@ -42,10 +42,16 @@ LINKWITH = $(LINKWITH) ws2_32.lib
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, IceSSL.res
+!else
+RES_FILE = IceSSL.res
+!endif
+
$(LIBNAME): $(DLLNAME)
$(DLLNAME): $(OBJS) IceSSL.res
- $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) IceSSL.res $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
+ $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@@ -64,7 +70,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/IceStorm/Makefile.mak b/cpp/src/IceStorm/Makefile.mak
index 1aef50b17ad..43b60e6fd3a 100644
--- a/cpp/src/IceStorm/Makefile.mak
+++ b/cpp/src/IceStorm/Makefile.mak
@@ -101,10 +101,22 @@ APDBFLAGS = /pdb:$(ADMIN:.exe=.pdb)
MPDBFLAGS = /pdb:$(MIGRATE:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, IceStorm.res
+SRES_FILE = ,, IceStormService.res
+ARES_FILE = ,, IceStormAdmin.res
+MRES_FILE = ,, IceStormMigrate.res
+!else
+RES_FILE = IceStorm.res
+SRES_FILE = IceStormService.res
+ARES_FILE = IceStormAdmin.res
+MRES_FILE = IceStormMigrate.res
+!endif
+
$(LIBNAME): $(DLLNAME)
$(DLLNAME): $(OBJS) IceStorm.res
- $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) IceStorm.res $(PREOUT)$@ $(PRELIBS)$(LIBS)
+ $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@@ -113,19 +125,19 @@ $(DLLNAME): $(OBJS) IceStorm.res
$(SVCLIBNAME): $(SVCDLLNAME)
$(SVCDLLNAME): $(SERVICE_OBJS) IceStormService.res
- $(LINK) $(LD_DLLFLAGS) $(SPDBFLAGS) $(SERVICE_OBJS) IceStormService.res $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
+ $(LINK) $(LD_DLLFLAGS) $(SPDBFLAGS) $(SERVICE_OBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) $(SRES_FILE)
move $(SVCDLLNAME:.dll=.lib) $(SVCLIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@if exist $(SVCDLLNAME:.dll=.exp) del /q $(SVCDLLNAME:.dll=.exp)
$(ADMIN): $(AOBJS) IceStormAdmin.res
- $(LINK) $(LD_EXEFLAGS) $(APDBFLAGS) $(AOBJS) IceStormAdmin.res $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(ALINKWITH)
+ $(LINK) $(LD_EXEFLAGS) $(APDBFLAGS) $(AOBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(ALINKWITH) $(ARES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(MIGRATE): $(MOBJS) IceStormMigrate.res
- $(LINK) $(LD_EXEFLAGS) $(MPDBFLAGS) $(MOBJS) IceStormMigrate.res $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(MLINKWITH)
+ $(LINK) $(LD_EXEFLAGS) $(MPDBFLAGS) $(MOBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(MLINKWITH) $(MRES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -230,7 +242,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/IceStorm/Observers.cpp b/cpp/src/IceStorm/Observers.cpp
index 8240a555c3a..5cafa770133 100644
--- a/cpp/src/IceStorm/Observers.cpp
+++ b/cpp/src/IceStorm/Observers.cpp
@@ -125,8 +125,12 @@ Observers::check()
}
int id = p->id;
p = _observers.erase(p);
- IceUtil::Mutex::Lock sync(_reapedMutex);
+
+ // COMPILERFIX: Just using following causes double unlock with C++Builder 2007
+ //IceUtil::Mutex::Lock sync(_reapedMutex);
+ _reapedMutex.lock();
_reaped.push_back(id);
+ _reapedMutex.unlock();
continue;
}
++p;
@@ -256,8 +260,12 @@ Observers::wait(const string& op)
}
int id = p->id;
p = _observers.erase(p);
- IceUtil::Mutex::Lock sync(_reapedMutex);
+
+ // COMPILERFIX: Just using following causes double unlock with C++Builder 2007
+ //IceUtil::Mutex::Lock sync(_reapedMutex);
+ _reapedMutex.lock();
_reaped.push_back(id);
+ _reapedMutex.unlock();
continue;
}
++p;
diff --git a/cpp/src/IceStorm/Service.cpp b/cpp/src/IceStorm/Service.cpp
index 44cbd5bf24a..a8664970cfa 100644
--- a/cpp/src/IceStorm/Service.cpp
+++ b/cpp/src/IceStorm/Service.cpp
@@ -18,6 +18,7 @@
#include <IceUtil/StringUtil.h>
#include <IceStorm/NodeI.h>
+#include <IceStorm/TransientTopicI.h>
#include <IceGrid/Locator.h>
#include <IceGrid/Query.h>
diff --git a/cpp/src/IceStorm/TopicI.cpp b/cpp/src/IceStorm/TopicI.cpp
index a391ab306de..a2ac604b93a 100644
--- a/cpp/src/IceStorm/TopicI.cpp
+++ b/cpp/src/IceStorm/TopicI.cpp
@@ -473,7 +473,6 @@ TopicImpl::TopicImpl(
{
Ice::Warning out(traceLevels->logger);
out << _name << " recreate " << _instance->communicator()->identityToString(id) << " failed: " << ex;
- continue;
}
}
}
diff --git a/cpp/src/IceStorm/TopicManagerI.cpp b/cpp/src/IceStorm/TopicManagerI.cpp
index 077a77e0f2a..06b29b61c78 100644
--- a/cpp/src/IceStorm/TopicManagerI.cpp
+++ b/cpp/src/IceStorm/TopicManagerI.cpp
@@ -16,6 +16,7 @@
#include <IceStorm/NodeI.h>
#include <IceStorm/Observers.h>
+#include <IceStorm/Subscriber.h>
#include <Ice/SliceChecksums.h>
diff --git a/cpp/src/IceStorm/TransientTopicManagerI.cpp b/cpp/src/IceStorm/TransientTopicManagerI.cpp
index a928007c975..8ee99bbde7c 100644
--- a/cpp/src/IceStorm/TransientTopicManagerI.cpp
+++ b/cpp/src/IceStorm/TransientTopicManagerI.cpp
@@ -12,6 +12,7 @@
#include <IceStorm/TransientTopicI.h>
#include <IceStorm/TraceLevels.h>
#include <IceStorm/Instance.h>
+#include <IceStorm/Subscriber.h>
#include <Ice/Ice.h>
diff --git a/cpp/src/IceUtil/Makefile.mak b/cpp/src/IceUtil/Makefile.mak
index d3dabd7269d..8a40fd66062 100644
--- a/cpp/src/IceUtil/Makefile.mak
+++ b/cpp/src/IceUtil/Makefile.mak
@@ -46,6 +46,12 @@ CPPFLAGS = $(CPPFLAGS) -DICE_UTIL_API_EXPORTS -I.. -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, IceUtil.res
+!else
+RES_FILE = IceUtil.res
+!endif
+
!if "$(STATICLIBS)" == "yes"
$(DLLNAME):
@@ -58,7 +64,7 @@ $(LIBNAME): $(OBJS)
$(LIBNAME): $(DLLNAME)
$(DLLNAME): $(OBJS) IceUtil.res
- $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) IceUtil.res $(PREOUT)$@ $(PRELIBS)$(ICE_OS_LIBS)
+ $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(ICE_OS_LIBS) $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@@ -79,7 +85,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/IceXML/Makefile.mak b/cpp/src/IceXML/Makefile.mak
index ab41e476cfb..9252cce8113 100644
--- a/cpp/src/IceXML/Makefile.mak
+++ b/cpp/src/IceXML/Makefile.mak
@@ -28,10 +28,16 @@ LINKWITH = $(EXPAT_LIBS) $(BASELIBS)
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, IceXML.res
+!else
+RES_FILE = IceXML.res
+!endif
+
$(LIBNAME): $(DLLNAME)
$(DLLNAME): $(OBJS) IceXML.res
- $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) IceXML.res $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
+ $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@@ -50,7 +56,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/Slice/Makefile.mak b/cpp/src/Slice/Makefile.mak
index 0b361d34eae..fe7f6db304d 100644
--- a/cpp/src/Slice/Makefile.mak
+++ b/cpp/src/Slice/Makefile.mak
@@ -40,6 +40,12 @@ CPPFLAGS = -I.. -Idummyinclude $(CPPFLAGS) -DSLICE_API_EXPORTS -DWIN32_LEAN_AND
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice.res
+!else
+RES_FILE = Slice.res
+!endif
+
!if "$(STATICLIBS)" == "yes"
$(DLLNAME):
@@ -52,7 +58,7 @@ $(LIBNAME): $(OBJS)
$(LIBNAME): $(DLLNAME)
$(DLLNAME): $(OBJS) Slice.res
- $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) Slice.res $(PREOUT)$@ $(PRELIBS)$(BASELIBS) mcpp$(LIBSUFFIX).lib
+ $(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(BASELIBS) $(MCPP_LIBS) $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@@ -89,7 +95,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(DLLNAME:.dll=.tds) $(install_bindir)
diff --git a/cpp/src/Slice/Util.cpp b/cpp/src/Slice/Util.cpp
index 470821a68b3..c4cb197e655 100644
--- a/cpp/src/Slice/Util.cpp
+++ b/cpp/src/Slice/Util.cpp
@@ -15,6 +15,10 @@
# include <unistd.h>
#endif
+#ifdef __BCPLUSPLUS__
+# include <dir.h>
+#endif
+
using namespace std;
using namespace Slice;
diff --git a/cpp/src/iceserviceinstall/Install.cpp b/cpp/src/iceserviceinstall/Install.cpp
index c1e11015280..0c46d3a35e2 100755
--- a/cpp/src/iceserviceinstall/Install.cpp
+++ b/cpp/src/iceserviceinstall/Install.cpp
@@ -67,7 +67,7 @@ Install::run(int argc, char* argv[])
vector<string> commands;
try
{
- commands = opts.parse(argc, argv);
+ commands = opts.parse(argc, (const char**)argv);
}
catch(const IceUtilInternal::BadOptException& e)
{
diff --git a/cpp/src/iceserviceinstall/Makefile.mak b/cpp/src/iceserviceinstall/Makefile.mak
index b54ab80710a..a97200a38f0 100755
--- a/cpp/src/iceserviceinstall/Makefile.mak
+++ b/cpp/src/iceserviceinstall/Makefile.mak
@@ -33,8 +33,14 @@ EXTRA_MANIFEST = security.manifest
PDBFLAGS = /pdb:$(TOOL:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, IceServiceInstall.res
+!else
+RES_FILE = IceServiceInstall.res
+!endif
+
$(TOOL): $(OBJS) IceServiceInstall.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) IceServiceInstall.res $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest $(EXTRA_MANIFEST) -outputresource:$@;#1 && del /q $@.manifest
@@ -51,7 +57,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(TOOL:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2cpp/Makefile.mak b/cpp/src/slice2cpp/Makefile.mak
index 433bcac6e89..cbcf0fd0368 100644
--- a/cpp/src/slice2cpp/Makefile.mak
+++ b/cpp/src/slice2cpp/Makefile.mak
@@ -26,9 +26,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2Cpp.res
+!else
+RES_FILE = Slice2Cpp.res
+!endif
+
$(NAME): $(OBJS) Slice2Cpp.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2Cpp.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -44,7 +50,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2cppe/Makefile.mak b/cpp/src/slice2cppe/Makefile.mak
index 956d83bd492..3680bd5b7d1 100644
--- a/cpp/src/slice2cppe/Makefile.mak
+++ b/cpp/src/slice2cppe/Makefile.mak
@@ -26,9 +26,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2CppE.res
+!else
+RES_FILE = Slice2CppE.res
+!endif
+
$(NAME): $(OBJS) Slice2CppE.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2CppE.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -44,7 +50,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp
index a4e0baee242..e16e3f67600 100755
--- a/cpp/src/slice2cs/Gen.cpp
+++ b/cpp/src/slice2cs/Gen.cpp
@@ -735,7 +735,7 @@ Slice::CsVisitor::writeDispatchAndMarshalling(const ClassDefPtr& p, bool stream)
string memberType = typeToString((*d)->type());
_out << nl << "_instance." << memberName << " = (" << memberType << ")v;";
ContainedPtr contained = ContainedPtr::dynamicCast((*d)->type());
- string sliceId = contained ? contained->scoped() : "::Ice::Object";
+ string sliceId = contained ? contained->scoped() : string("::Ice::Object");
_out << nl << "_typeId = \"" << sliceId << "\";";
if(allClassMembers.size() > 1)
{
@@ -2029,7 +2029,7 @@ Slice::Gen::TypesVisitor::visitExceptionEnd(const ExceptionPtr& p)
string memberType = typeToString((*q)->type());
_out << nl << "_instance." << memberName << " = (" << memberType << ")v;";
ContainedPtr contained = ContainedPtr::dynamicCast((*q)->type());
- string sliceId = contained ? contained->scoped() : "::Ice::Object";
+ string sliceId = contained ? contained->scoped() : string("::Ice::Object");
_out << nl << "_typeId = \"" << sliceId << "\";";
if(allClassMembers.size() > 1)
{
@@ -2387,7 +2387,7 @@ Slice::Gen::TypesVisitor::visitStructEnd(const StructPtr& p)
string memberName = fixId((*q)->name(), isClass ? DotNet::ICloneable : 0);
_out << nl << "_instance." << memberName << " = (" << memberType << ")v;";
ContainedPtr contained = ContainedPtr::dynamicCast((*q)->type());
- string sliceId = contained ? contained->scoped() : "::Ice::Object";
+ string sliceId = contained ? contained->scoped() : string("::Ice::Object");
_out << nl << "_typeId = \"" << sliceId << "\";";
if(classMembers.size() > 1)
{
@@ -3643,9 +3643,9 @@ Slice::Gen::HelperVisitor::visitDictionary(const DictionaryPtr& p)
}
_out << " e__ in v__)";
_out << sb;
- string keyArg = isNewMapping ? "e__.Key" : "((" + keyS + ")e__.Key)";
+ string keyArg = isNewMapping ? string("e__.Key") : "((" + keyS + ")e__.Key)";
writeMarshalUnmarshalCode(_out, key, keyArg, true, false, false);
- string valueArg = isNewMapping ? "e__.Value" : "((" + valueS + ")e__.Value)";
+ string valueArg = isNewMapping ? string("e__.Value") : "((" + valueS + ")e__.Value)";
writeMarshalUnmarshalCode(_out, value, valueArg, true, false, false);
_out << eb;
_out << eb;
@@ -4053,7 +4053,7 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p)
{
_out << nl << retS << " ret__;";
ContainedPtr contained = ContainedPtr::dynamicCast(ret);
- string sliceId = contained ? contained->scoped() : "::Ice::Object";
+ string sliceId = contained ? contained->scoped() : string("::Ice::Object");
_out << nl << "IceInternal.ParamPatcher<" << retS << "> ret___PP = new IceInternal.ParamPatcher<"
<< retS << ">(\"" << sliceId << "\");";
_out << nl << "is__.readObject(ret___PP);";
diff --git a/cpp/src/slice2cs/Makefile.mak b/cpp/src/slice2cs/Makefile.mak
index 02d60d3f5a7..bbb884c5022 100644
--- a/cpp/src/slice2cs/Makefile.mak
+++ b/cpp/src/slice2cs/Makefile.mak
@@ -26,9 +26,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2Cs.res
+!else
+RES_FILE = Slice2Cs.res
+!endif
+
$(NAME): $(OBJS) Slice2Cs.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2Cs.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -44,7 +50,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2docbook/Makefile.mak b/cpp/src/slice2docbook/Makefile.mak
index b810365c1cf..4bffe9bc0c7 100644
--- a/cpp/src/slice2docbook/Makefile.mak
+++ b/cpp/src/slice2docbook/Makefile.mak
@@ -26,9 +26,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2Docbook.res
+!else
+RES_FILE = Slice2Docbook.res
+!endif
+
$(NAME): $(OBJS) Slice2Docbook.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2Docbook.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -44,7 +50,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2freeze/Makefile.mak b/cpp/src/slice2freeze/Makefile.mak
index 642e5eb78c1..93b43afba3b 100644
--- a/cpp/src/slice2freeze/Makefile.mak
+++ b/cpp/src/slice2freeze/Makefile.mak
@@ -25,9 +25,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2Freeze.res
+!else
+RES_FILE = Slice2Freeze.res
+!endif
+
$(NAME): $(OBJS) Slice2Freeze.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2Freeze.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -43,7 +49,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2freezej/Makefile.mak b/cpp/src/slice2freezej/Makefile.mak
index 30539e60fb5..c5d2fef472a 100644
--- a/cpp/src/slice2freezej/Makefile.mak
+++ b/cpp/src/slice2freezej/Makefile.mak
@@ -25,9 +25,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2FreezeJ.res
+!else
+RES_FILE = Slice2FreezeJ.res
+!endif
+
$(NAME): $(OBJS) Slice2FreezeJ.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2FreezeJ.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -43,7 +49,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2html/Makefile.mak b/cpp/src/slice2html/Makefile.mak
index a3110b9790f..75f9a0e680e 100644
--- a/cpp/src/slice2html/Makefile.mak
+++ b/cpp/src/slice2html/Makefile.mak
@@ -26,9 +26,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2Html.res
+!else
+RES_FILE = Slice2Html.res
+!endif
+
$(NAME): $(OBJS) Slice2Html.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2Html.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -44,7 +50,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2java/Makefile.mak b/cpp/src/slice2java/Makefile.mak
index cee1a3e638f..f4530ae60ce 100644
--- a/cpp/src/slice2java/Makefile.mak
+++ b/cpp/src/slice2java/Makefile.mak
@@ -26,9 +26,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2Java.res
+!else
+RES_FILE = Slice2Java.res
+!endif
+
$(NAME): $(OBJS) Slice2Java.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2Java.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -44,7 +50,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2javae/Makefile.mak b/cpp/src/slice2javae/Makefile.mak
index c74e55bb3e2..c2674b76c01 100644
--- a/cpp/src/slice2javae/Makefile.mak
+++ b/cpp/src/slice2javae/Makefile.mak
@@ -26,9 +26,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2JavaE.res
+!else
+RES_FILE = Slice2JavaE.res
+!endif
+
$(NAME): $(OBJS) Slice2JavaE.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2JavaE.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -44,7 +50,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2py/Makefile.mak b/cpp/src/slice2py/Makefile.mak
index 9acdec7cd7e..e0658311397 100644
--- a/cpp/src/slice2py/Makefile.mak
+++ b/cpp/src/slice2py/Makefile.mak
@@ -25,9 +25,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2Py.res
+!else
+RES_FILE = Slice2Py.res
+!endif
+
$(NAME): $(OBJS) Slice2Py.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2Py.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -43,7 +49,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2rb/Makefile.mak b/cpp/src/slice2rb/Makefile.mak
index 854f3d66d01..da25cbde75f 100755
--- a/cpp/src/slice2rb/Makefile.mak
+++ b/cpp/src/slice2rb/Makefile.mak
@@ -25,9 +25,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2Rb.res
+!else
+RES_FILE = Slice2Rb.res
+!endif
+
$(NAME): $(OBJS) Slice2Rb.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2Rb.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -43,7 +49,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)
diff --git a/cpp/src/slice2sl/Gen.cpp b/cpp/src/slice2sl/Gen.cpp
index f9f3538e32b..928c019f67d 100755
--- a/cpp/src/slice2sl/Gen.cpp
+++ b/cpp/src/slice2sl/Gen.cpp
@@ -281,7 +281,7 @@ Slice::CsVisitor::writeDispatchAndMarshalling(const ClassDefPtr& p)
string memberType = typeToString((*d)->type());
_out << nl << "_instance." << memberName << " = (" << memberType << ")v;";
ContainedPtr contained = ContainedPtr::dynamicCast((*d)->type());
- string sliceId = contained ? contained->scoped() : "::Ice::Object";
+ string sliceId = contained ? contained->scoped() : string("::Ice::Object");
_out << nl << "_typeId = \"" << sliceId << "\";";
if(allClassMembers.size() > 1)
{
@@ -1461,7 +1461,7 @@ Slice::Gen::TypesVisitor::visitExceptionEnd(const ExceptionPtr& p)
string memberType = typeToString((*q)->type());
_out << nl << "_instance." << memberName << " = (" << memberType << ")v;";
ContainedPtr contained = ContainedPtr::dynamicCast((*q)->type());
- string sliceId = contained ? contained->scoped() : "::Ice::Object";
+ string sliceId = contained ? contained->scoped() : string("::Ice::Object");
_out << nl << "_typeId = \"" << sliceId << "\";";
if(allClassMembers.size() > 1)
{
@@ -1731,7 +1731,7 @@ Slice::Gen::TypesVisitor::visitStructEnd(const StructPtr& p)
string memberName = fixId((*q)->name(), isClass ? DotNet::ICloneable : 0);
_out << nl << "_instance." << memberName << " = (" << memberType << ")v;";
ContainedPtr contained = ContainedPtr::dynamicCast((*q)->type());
- string sliceId = contained ? contained->scoped() : "::Ice::Object";
+ string sliceId = contained ? contained->scoped() : string("::Ice::Object");
_out << nl << "_typeId = \"" << sliceId << "\";";
if(classMembers.size() > 1)
{
@@ -2621,7 +2621,7 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p)
{
_out << nl << retS << " ret__;";
ContainedPtr contained = ContainedPtr::dynamicCast(ret);
- string sliceId = contained ? contained->scoped() : "::Ice::Object";
+ string sliceId = contained ? contained->scoped() : string("::Ice::Object");
_out << nl << "IceInternal.ParamPatcher<" << retS << "> ret___PP = new IceInternal.ParamPatcher<"
<< retS << ">(\"" << sliceId << "\");";
_out << nl << "is__.readObject(ret___PP);";
@@ -3051,9 +3051,9 @@ Slice::Gen::HelperVisitor::visitDictionary(const DictionaryPtr& p)
}
_out << " e__ in v__)";
_out << sb;
- string keyArg = isNewMapping ? "e__.Key" : "((" + keyS + ")e__.Key)";
+ string keyArg = isNewMapping ? string("e__.Key") : "((" + keyS + ")e__.Key)";
writeMarshalUnmarshalCode(_out, key, keyArg, true, false, false);
- string valueArg = isNewMapping ? "e__.Value" : "((" + valueS + ")e__.Value)";
+ string valueArg = isNewMapping ? string("e__.Value") : "((" + valueS + ")e__.Value)";
writeMarshalUnmarshalCode(_out, value, valueArg, true, false, false);
_out << eb;
_out << eb;
diff --git a/cpp/src/slice2sl/Makefile.mak b/cpp/src/slice2sl/Makefile.mak
index 0d016eba517..7a8ec7a873e 100644
--- a/cpp/src/slice2sl/Makefile.mak
+++ b/cpp/src/slice2sl/Makefile.mak
@@ -26,9 +26,15 @@ CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif
+!if "$(CPP_COMPILER)" == "BCC2007"
+RES_FILE = ,, Slice2Sl.res
+!else
+RES_FILE = Slice2Sl.res
+!endif
+
$(NAME): $(OBJS) Slice2Sl.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) Slice2Sl.res $(SETARGV) $(PREOUT)$@ \
- $(PRELIBS)slice$(LIBSUFFIX).lib $(BASELIBS)
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
@@ -44,7 +50,7 @@ install:: all
!if "$(OPTIMIZE)" != "yes"
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
install:: all
copy $(NAME:.exe=.tds) $(install_bindir)