summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpp/INSTALL.WINDOWS9
-rw-r--r--cpp/config/Make.rules.bcc3
-rwxr-xr-xcpp/config/Make.rules.mak14
-rwxr-xr-xcpp/config/Make.rules.msvc1
-rwxr-xr-xcpp/demo/Database/Oracle/occi/Makefile.mak2
-rwxr-xr-xcpp/demo/Database/Oracle/proc/Makefile.mak2
-rwxr-xr-xcpp/demo/Freeze/backup/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/bench/Client.cpp2
-rw-r--r--cpp/demo/Freeze/bench/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/casino/BankI.h2
-rw-r--r--cpp/demo/Freeze/casino/BetResolver.h2
-rw-r--r--cpp/demo/Freeze/casino/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/casino/PlayerI.cpp2
-rw-r--r--cpp/demo/Freeze/casino/Server.cpp2
-rwxr-xr-xcpp/demo/Freeze/customEvictor/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/library/Client.cpp2
-rw-r--r--cpp/demo/Freeze/library/Collocated.cpp2
-rw-r--r--cpp/demo/Freeze/library/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/phonebook/Client.cpp2
-rw-r--r--cpp/demo/Freeze/phonebook/Collocated.cpp2
-rw-r--r--cpp/demo/Freeze/phonebook/Makefile.mak2
-rwxr-xr-xcpp/demo/Freeze/transform/Makefile.mak2
-rw-r--r--cpp/demo/Glacier2/callback/Client.cpp2
-rw-r--r--cpp/demo/Glacier2/callback/Makefile.mak2
-rwxr-xr-xcpp/demo/Glacier2/chat/Client.cpp2
-rw-r--r--cpp/demo/Glacier2/chat/Makefile.mak2
-rwxr-xr-xcpp/demo/Ice/MFC/client/Makefile.mak2
-rwxr-xr-xcpp/demo/Ice/MFC/server/Makefile.mak2
-rw-r--r--cpp/demo/Ice/Makefile.mak2
-rw-r--r--cpp/demo/Ice/async/Client.cpp2
-rw-r--r--cpp/demo/Ice/async/Makefile.mak2
-rw-r--r--cpp/demo/Ice/bidir/Makefile.mak2
-rw-r--r--cpp/demo/Ice/callback/Client.cpp2
-rw-r--r--cpp/demo/Ice/callback/Makefile.mak2
-rw-r--r--cpp/demo/Ice/converter/Makefile.mak2
-rw-r--r--cpp/demo/Ice/hello/Client.cpp2
-rw-r--r--cpp/demo/Ice/hello/Makefile.mak2
-rw-r--r--cpp/demo/Ice/invoke/Client.cpp2
-rw-r--r--cpp/demo/Ice/invoke/Makefile.mak2
-rw-r--r--cpp/demo/Ice/latency/Makefile.mak2
-rw-r--r--cpp/demo/Ice/minimal/Makefile.mak2
-rw-r--r--cpp/demo/Ice/multicast/Makefile.mak2
-rw-r--r--cpp/demo/Ice/nested/Client.cpp2
-rw-r--r--cpp/demo/Ice/nested/Makefile.mak2
-rwxr-xr-xcpp/demo/Ice/session/Client.cpp2
-rw-r--r--cpp/demo/Ice/session/Makefile.mak2
-rw-r--r--cpp/demo/Ice/throughput/Client.cpp2
-rw-r--r--cpp/demo/Ice/throughput/Makefile.mak2
-rw-r--r--cpp/demo/Ice/value/Client.cpp2
-rw-r--r--cpp/demo/Ice/value/Makefile.mak2
-rw-r--r--cpp/demo/IceBox/hello/Client.cpp2
-rw-r--r--cpp/demo/IceBox/hello/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/allocate/Client.cpp2
-rw-r--r--cpp/demo/IceGrid/allocate/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/icebox/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/replication/Client.cpp2
-rw-r--r--cpp/demo/IceGrid/replication/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/sessionActivation/Client.cpp2
-rw-r--r--cpp/demo/IceGrid/sessionActivation/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/simple/Client.cpp2
-rw-r--r--cpp/demo/IceGrid/simple/Makefile.mak2
-rwxr-xr-xcpp/demo/IcePatch2/MFC/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/clock/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/counter/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/replicated/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/replicated2/Makefile.mak2
-rw-r--r--cpp/demo/IceUtil/workqueue/Makefile.mak2
-rw-r--r--cpp/demo/Makefile.mak2
-rw-r--r--cpp/demo/book/freeze_filesystem/Client.cpp2
-rw-r--r--cpp/demo/book/freeze_filesystem/Makefile.mak2
-rw-r--r--cpp/demo/book/lifecycle/Client.cpp2
-rw-r--r--cpp/demo/book/lifecycle/Makefile.mak2
-rw-r--r--cpp/demo/book/printer/Makefile.mak2
-rw-r--r--cpp/demo/book/simple_filesystem/Makefile.mak2
-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
-rw-r--r--cpp/test/Freeze/complex/Makefile.mak2
-rw-r--r--cpp/test/Freeze/dbmap/Makefile.mak2
-rw-r--r--cpp/test/Freeze/evictor/Makefile.mak2
-rw-r--r--cpp/test/Freeze/oldevictor/Makefile.mak2
-rw-r--r--cpp/test/FreezeScript/dbmap/Makefile.mak2
-rw-r--r--cpp/test/FreezeScript/evictor/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/attack/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/dynamicFiltering/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/router/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/sessionControl/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/ssl/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/staticFiltering/Makefile.mak2
-rw-r--r--cpp/test/Ice/adapterDeactivation/Makefile.mak2
-rw-r--r--cpp/test/Ice/background/Makefile.mak2
-rw-r--r--cpp/test/Ice/binding/Makefile.mak2
-rw-r--r--cpp/test/Ice/checksum/client/Makefile.mak2
-rw-r--r--cpp/test/Ice/checksum/server/Makefile.mak2
-rw-r--r--cpp/test/Ice/custom/Makefile.mak4
-rw-r--r--cpp/test/Ice/exceptions/Makefile.mak2
-rw-r--r--cpp/test/Ice/facets/Makefile.mak2
-rw-r--r--cpp/test/Ice/faultTolerance/Makefile.mak2
-rw-r--r--cpp/test/Ice/gc/Makefile.mak2
-rw-r--r--cpp/test/Ice/hold/Makefile.mak2
-rw-r--r--cpp/test/Ice/inheritance/Makefile.mak2
-rwxr-xr-xcpp/test/Ice/interceptor/Makefile.mak4
-rw-r--r--cpp/test/Ice/location/Makefile.mak2
-rw-r--r--cpp/test/Ice/objects/Makefile.mak2
-rw-r--r--cpp/test/Ice/operations/Makefile.mak2
-rw-r--r--cpp/test/Ice/proxy/Makefile.mak2
-rw-r--r--cpp/test/Ice/retry/Makefile.mak2
-rw-r--r--cpp/test/Ice/servantLocator/Makefile.mak2
-rw-r--r--cpp/test/Ice/slicing/exceptions/Makefile.mak2
-rw-r--r--cpp/test/Ice/slicing/objects/Makefile.mak2
-rw-r--r--cpp/test/Ice/stream/Makefile.mak2
-rwxr-xr-xcpp/test/Ice/stringConverter/Makefile.mak2
-rw-r--r--cpp/test/Ice/timeout/Makefile.mak2
-rw-r--r--cpp/test/IceBox/configuration/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/activation/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/allocation/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/deployer/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/distribution/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/replicaGroup/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/replication/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/session/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/simple/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/update/Makefile.mak2
-rw-r--r--cpp/test/IceSSL/configuration/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/federation/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/federation2/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/rep1/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/repgrid/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/repstress/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/single/Makefile.mak2
-rw-r--r--cpp/test/IceStorm/stress/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/condvar/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/ctrlCHandler/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/inputUtil/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/thread/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/timer/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/unicode/Makefile.mak2
-rw-r--r--cpp/test/IceUtil/uuid/Makefile.mak2
-rw-r--r--cpp/test/Slice/keyword/Makefile.mak2
-rwxr-xr-xdistribution/src/bcc/doc/README.txt57
-rwxr-xr-xdistribution/src/thirdparty/README.txt10
-rw-r--r--distribution/src/thirdparty/mcpp/mcpp-2.6.4.patch122
189 files changed, 845 insertions, 512 deletions
diff --git a/cpp/INSTALL.WINDOWS b/cpp/INSTALL.WINDOWS
index d1b20721a1a..8bc3283eaf8 100644
--- a/cpp/INSTALL.WINDOWS
+++ b/cpp/INSTALL.WINDOWS
@@ -73,6 +73,9 @@ The following C++ compilers are supported:
In order to build the MFC demos, you need to install the MFC
"Shared Libraries for Unicode".
+- CodeGear C++Builder 2007 R2 Version 11.0.2902.10471 with
+ December 2007 Update
+
Visual C++ 2005 Express Setup
-----------------------------
@@ -138,8 +141,8 @@ NMAKE and Message Compiler (MC.EXE)
In order to build Ice you need the Microsoft NMAKE and Message Compiler
utilities. These are included in all full Microsoft C++ compiler distributions.
-If you are using the Borland C++ compiler or Visual C++ 2008 Express, you can
-download them as part of the Windows Platform SDK:
+If you are using C++Builder or Visual C++ 2008 Express, you can download them
+as part of the Windows Platform SDK:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC&displaylang=en
@@ -223,6 +226,8 @@ environment variable:
Note that you must be using a Windows x64 platform when compiling a
64-bit version of Ice.
+For C++Builder use the "RAD Studio Command Prompt".
+
Change the working directory to Ice-@ver@. For example:
> cd C:\Ice-@ver@\cpp
diff --git a/cpp/config/Make.rules.bcc b/cpp/config/Make.rules.bcc
index 3ebbd71d400..5732fc8c61f 100644
--- a/cpp/config/Make.rules.bcc
+++ b/cpp/config/Make.rules.bcc
@@ -43,7 +43,7 @@ CPPFLAGS = $(CPPFLAGS) -O2 -k- -DNDEBUG
CPPFLAGS = $(CPPFLAGS) -Od -v -k -D_DEBUG
!endif
-LDFLAGS = $(LDFLAGS) -L"$(libdir)" -L"$(BCB)\lib" -q -Gn -v -x
+LDFLAGS = $(LDFLAGS) -L"$(libdir)" -L"$(BDS)\lib" -q -Gn -v -x
LD_DLLFLAGS = $(LDFLAGS) -Gi -Tpd c0d32.obj
LD_EXEFLAGS = $(LDFLAGS) -Tpe c0x32.obj
@@ -55,4 +55,5 @@ LIBS = ice$(LIBSUFFIX).lib $(BASELIBS)
BZIP2_LIBS = libbz2.lib
DB_LIBS = libdb46.lib
+MCPP_LIBS = mcpp.lib
ICONV_LIB = libiconv-bcc.lib
diff --git a/cpp/config/Make.rules.mak b/cpp/config/Make.rules.mak
index e1c0e4fc99b..53c6e1be491 100755
--- a/cpp/config/Make.rules.mak
+++ b/cpp/config/Make.rules.mak
@@ -33,26 +33,18 @@ prefix = C:\Ice-$(VERSION)
#
# Specify your C++ compiler. Supported values are:
-# VC60, VC80, VC80_EXPRESS, VC90, VC90_EXPRESS
+# VC60, VC80, VC80_EXPRESS, VC90, VC90_EXPRESS, BCC2007
#
!if "$(CPP_COMPILER)" == ""
CPP_COMPILER = VC80
!endif
#
-# Borland C++Builder 2006 home directory. Used if CPP_COMPILER
-# is set to BCC2006. Change if different from default.
-#
-!if "$(BCB)" == ""
-BCB = C:\Program Files\Borland\BDS\4.0
-!endif
-
-#
# If third party libraries are not installed in the default location
# or THIRDPARTY_HOME is not set in your environment variables then
# change the following setting to reflect the installation location.
#
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
THIRDPARTY_HOME_EXT = BCC
!elseif "$(CPP_COMPILER)" == "VC80_EXPRESS"
THIRDPARTY_HOME_EXT = VC80
@@ -119,7 +111,7 @@ install_configdir = $(prefix)\config
SETARGV = setargv.obj
-!if "$(CPP_COMPILER)" == "BCC2006"
+!if "$(CPP_COMPILER)" == "BCC2007"
!include $(top_srcdir)/config/Make.rules.bcc
!elseif "$(CPP_COMPILER)" == "VC60" || "$(CPP_COMPILER)" == "VC71" || \
"$(CPP_COMPILER)" == "VC80" || "$(CPP_COMPILER)" == "VC80_EXPRESS" || \
diff --git a/cpp/config/Make.rules.msvc b/cpp/config/Make.rules.msvc
index 917504709d1..fd29ddbc212 100755
--- a/cpp/config/Make.rules.msvc
+++ b/cpp/config/Make.rules.msvc
@@ -112,4 +112,5 @@ LIBS = ice$(LIBSUFFIX).lib $(BASELIBS)
BZIP2_LIBS = libbz2$(LIBSUFFIX).lib
DB_LIBS = libdb46$(LIBSUFFIX).lib
+MCPP_LIBS = mcpp$(LIBSUFFIX).lib
ICONV_LIB = libiconv.lib
diff --git a/cpp/demo/Database/Oracle/occi/Makefile.mak b/cpp/demo/Database/Oracle/occi/Makefile.mak
index 47bb2a92ea5..74741587d3b 100755
--- a/cpp/demo/Database/Oracle/occi/Makefile.mak
+++ b/cpp/demo/Database/Oracle/occi/Makefile.mak
@@ -40,7 +40,7 @@ SRCS = $(OBJS:.obj=.cpp) \
#
CPPFLAGS = -I. -I$(ORACLE_HOME)\oci\include -wd4101 -wd4291 $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Database/Oracle/proc/Makefile.mak b/cpp/demo/Database/Oracle/proc/Makefile.mak
index 6ab7d8fecb5..eb862ea933d 100755
--- a/cpp/demo/Database/Oracle/proc/Makefile.mak
+++ b/cpp/demo/Database/Oracle/proc/Makefile.mak
@@ -45,7 +45,7 @@ ORACLE_LIBS = -LIBPATH:"$(ORACLE_HOME)\precomp\lib" orasql10.lib
.pc.cpp:
proc threads=yes parse=none lines=yes code=cpp cpp_suffix=cpp close_on_commit=yes $<
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Freeze/backup/Makefile.mak b/cpp/demo/Freeze/backup/Makefile.mak
index 9fc6d42d35b..1de52f1c916 100755
--- a/cpp/demo/Freeze/backup/Makefile.mak
+++ b/cpp/demo/Freeze/backup/Makefile.mak
@@ -21,7 +21,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/demo/Freeze/bench/Client.cpp b/cpp/demo/Freeze/bench/Client.cpp
index 24915169313..5079fdfecd9 100644
--- a/cpp/demo/Freeze/bench/Client.cpp
+++ b/cpp/demo/Freeze/bench/Client.cpp
@@ -482,7 +482,7 @@ private:
};
TestApp::TestApp(const string& envName) :
- Application(Ice::NoSignalHandling),
+ Ice::Application(Ice::NoSignalHandling),
_envName(envName),
_repetitions(10000)
{
diff --git a/cpp/demo/Freeze/bench/Makefile.mak b/cpp/demo/Freeze/bench/Makefile.mak
index 50a27a2394b..88552c08943 100644
--- a/cpp/demo/Freeze/bench/Makefile.mak
+++ b/cpp/demo/Freeze/bench/Makefile.mak
@@ -21,7 +21,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/demo/Freeze/casino/BankI.h b/cpp/demo/Freeze/casino/BankI.h
index e1da5805401..baef596414e 100644
--- a/cpp/demo/Freeze/casino/BankI.h
+++ b/cpp/demo/Freeze/casino/BankI.h
@@ -55,7 +55,7 @@ private:
std::vector<CasinoStore::PersistentBetPrx> getBets(const Ice::ObjectAdapterPtr&) const;
-#if defined(__hpux) || (defined(_MSC_VER) && (_MSC_VER < 1300))
+#if defined(__hpux) || (defined(_MSC_VER) && (_MSC_VER < 1300)) || defined(__BCPLUSPLUS__)
//
// Some compilers don't let local classes access private data members
//
diff --git a/cpp/demo/Freeze/casino/BetResolver.h b/cpp/demo/Freeze/casino/BetResolver.h
index 1a067ce5fb2..cdc8cb3f44d 100644
--- a/cpp/demo/Freeze/casino/BetResolver.h
+++ b/cpp/demo/Freeze/casino/BetResolver.h
@@ -30,7 +30,7 @@ public:
int getBetCount() const;
-#if !defined(__hpux) && (!defined(_MSC_VER) || (_MSC_VER >= 1300))
+#if !defined(__hpux) && (!defined(_MSC_VER) || (_MSC_VER >= 1300)) && (!defined(__BCPLUSPLUS__))
//
// Some compilers don't let local classes access private members
//
diff --git a/cpp/demo/Freeze/casino/Makefile.mak b/cpp/demo/Freeze/casino/Makefile.mak
index 005edd2e11e..f9e6e1c3215 100644
--- a/cpp/demo/Freeze/casino/Makefile.mak
+++ b/cpp/demo/Freeze/casino/Makefile.mak
@@ -34,7 +34,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
SLICE2CPPFLAGS = -I. $(SLICE2CPPFLAGS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Freeze/casino/PlayerI.cpp b/cpp/demo/Freeze/casino/PlayerI.cpp
index f9dea1f850e..923b4496454 100644
--- a/cpp/demo/Freeze/casino/PlayerI.cpp
+++ b/cpp/demo/Freeze/casino/PlayerI.cpp
@@ -41,7 +41,7 @@ PlayerI::win(int count, const Ice::Current&)
}
PlayerI::PlayerI() :
- PersistentPlayer(0)
+ CasinoStore::PersistentPlayer(0)
{
}
diff --git a/cpp/demo/Freeze/casino/Server.cpp b/cpp/demo/Freeze/casino/Server.cpp
index cae8dd2465e..c7f7c88faf3 100644
--- a/cpp/demo/Freeze/casino/Server.cpp
+++ b/cpp/demo/Freeze/casino/Server.cpp
@@ -30,7 +30,7 @@ private:
map<string, string> createTypeMap(const string&);
const string _envName;
-#if defined(__hpux) || (defined(_MSC_VER) && (_MSC_VER < 1300))
+#if defined(__hpux) || (defined(_MSC_VER) && (_MSC_VER < 1300)) || defined(__BCPLUSPLUS__)
//
// Some compilers don't let local classes access private data members
//
diff --git a/cpp/demo/Freeze/customEvictor/Makefile.mak b/cpp/demo/Freeze/customEvictor/Makefile.mak
index fcc27b087a1..0fa18daacba 100755
--- a/cpp/demo/Freeze/customEvictor/Makefile.mak
+++ b/cpp/demo/Freeze/customEvictor/Makefile.mak
@@ -37,7 +37,7 @@ SLICE_SRCS = Item.ice ItemInfo.ice
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
COPDBFLAGS = /pdb:$(COLLOCATED:.exe=.pdb)
diff --git a/cpp/demo/Freeze/library/Client.cpp b/cpp/demo/Freeze/library/Client.cpp
index 4e8b21772d5..fe360d955ce 100644
--- a/cpp/demo/Freeze/library/Client.cpp
+++ b/cpp/demo/Freeze/library/Client.cpp
@@ -33,7 +33,7 @@ LibraryClient::LibraryClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Freeze/library/Collocated.cpp b/cpp/demo/Freeze/library/Collocated.cpp
index 8adfb80a77f..15d983635cc 100644
--- a/cpp/demo/Freeze/library/Collocated.cpp
+++ b/cpp/demo/Freeze/library/Collocated.cpp
@@ -39,7 +39,7 @@ LibraryCollocated::LibraryCollocated(const string& envName) :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling),
+ Ice::Application(Ice::NoSignalHandling),
_envName(envName)
{
}
diff --git a/cpp/demo/Freeze/library/Makefile.mak b/cpp/demo/Freeze/library/Makefile.mak
index 9e0e9011cea..c54b06505a7 100644
--- a/cpp/demo/Freeze/library/Makefile.mak
+++ b/cpp/demo/Freeze/library/Makefile.mak
@@ -47,7 +47,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -Idummyinclude $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
SLICE2CPPFLAGS = --ice $(SLICE2CPPFLAGS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
COPDBFLAGS = /pdb:$(COLLOCATED:.exe=.pdb)
diff --git a/cpp/demo/Freeze/phonebook/Client.cpp b/cpp/demo/Freeze/phonebook/Client.cpp
index 0c695d5c527..62373f92d02 100644
--- a/cpp/demo/Freeze/phonebook/Client.cpp
+++ b/cpp/demo/Freeze/phonebook/Client.cpp
@@ -33,7 +33,7 @@ PhoneBookClient::PhoneBookClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Freeze/phonebook/Collocated.cpp b/cpp/demo/Freeze/phonebook/Collocated.cpp
index 8f46ce1f935..93506133e66 100644
--- a/cpp/demo/Freeze/phonebook/Collocated.cpp
+++ b/cpp/demo/Freeze/phonebook/Collocated.cpp
@@ -38,7 +38,7 @@ PhoneBookCollocated::PhoneBookCollocated(const string& envName) :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling),
+ Ice::Application(Ice::NoSignalHandling),
_envName(envName)
{
}
diff --git a/cpp/demo/Freeze/phonebook/Makefile.mak b/cpp/demo/Freeze/phonebook/Makefile.mak
index 635e8e578b8..80b6d8dd86a 100644
--- a/cpp/demo/Freeze/phonebook/Makefile.mak
+++ b/cpp/demo/Freeze/phonebook/Makefile.mak
@@ -46,7 +46,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -Idummyinclude $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
COPDBFLAGS = /pdb:$(COLLOCATED:.exe=.pdb)
diff --git a/cpp/demo/Freeze/transform/Makefile.mak b/cpp/demo/Freeze/transform/Makefile.mak
index 5d7a5e6a57e..a6100d5e7c5 100755
--- a/cpp/demo/Freeze/transform/Makefile.mak
+++ b/cpp/demo/Freeze/transform/Makefile.mak
@@ -27,7 +27,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CREATE_PDBFLAGS = /pdb:$(CREATE:.exe=.pdb)
READ_PDBFLAGS = /pdb:$(READ:.exe=.pdb)
READNEW_PDBFLAGS = /pdb:$(READNEW:.exe=.pdb)
diff --git a/cpp/demo/Glacier2/callback/Client.cpp b/cpp/demo/Glacier2/callback/Client.cpp
index 34833d4d503..85afc2dd927 100644
--- a/cpp/demo/Glacier2/callback/Client.cpp
+++ b/cpp/demo/Glacier2/callback/Client.cpp
@@ -51,7 +51,7 @@ CallbackClient::CallbackClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Glacier2/callback/Makefile.mak b/cpp/demo/Glacier2/callback/Makefile.mak
index b0f8e5af775..1de832e2bdb 100644
--- a/cpp/demo/Glacier2/callback/Makefile.mak
+++ b/cpp/demo/Glacier2/callback/Makefile.mak
@@ -34,7 +34,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
SSPDBFLAGS = /pdb:$(SESSION_SERVER:.exe=.pdb)
diff --git a/cpp/demo/Glacier2/chat/Client.cpp b/cpp/demo/Glacier2/chat/Client.cpp
index 2595c52b399..4c0c514635d 100755
--- a/cpp/demo/Glacier2/chat/Client.cpp
+++ b/cpp/demo/Glacier2/chat/Client.cpp
@@ -96,7 +96,7 @@ public:
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Glacier2/chat/Makefile.mak b/cpp/demo/Glacier2/chat/Makefile.mak
index 5bb3181236d..5a6905876a1 100644
--- a/cpp/demo/Glacier2/chat/Makefile.mak
+++ b/cpp/demo/Glacier2/chat/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/MFC/client/Makefile.mak b/cpp/demo/Ice/MFC/client/Makefile.mak
index 0a2006266fb..7cc8762fc0d 100755
--- a/cpp/demo/Ice/MFC/client/Makefile.mak
+++ b/cpp/demo/Ice/MFC/client/Makefile.mak
@@ -24,7 +24,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. $(CPPFLAGS) -D_AFXDLL -DVC_EXTRALEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/MFC/server/Makefile.mak b/cpp/demo/Ice/MFC/server/Makefile.mak
index 3fdc551ebe5..b95c788a9a6 100755
--- a/cpp/demo/Ice/MFC/server/Makefile.mak
+++ b/cpp/demo/Ice/MFC/server/Makefile.mak
@@ -26,7 +26,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. $(CPPFLAGS) -D_AFXDLL -DVC_EXTRALEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/Makefile.mak b/cpp/demo/Ice/Makefile.mak
index 7ded1105a51..55709c93147 100644
--- a/cpp/demo/Ice/Makefile.mak
+++ b/cpp/demo/Ice/Makefile.mak
@@ -25,7 +25,7 @@ SUBDIRS = minimal \
async \
multicast
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(CPP_COMPILER)" != "VC80_EXPRESS" && "$(CPP_COMPILER)" != "VC90_EXPRESS"
+!if "$(CPP_COMPILER)" != "BCC2007" && "$(CPP_COMPILER)" != "VC80_EXPRESS" && "$(CPP_COMPILER)" != "VC90_EXPRESS"
SUBDIRS = $(SUBDIRS) MFC
!endif
diff --git a/cpp/demo/Ice/async/Client.cpp b/cpp/demo/Ice/async/Client.cpp
index d7c7b2a430e..9bc2a33c8cf 100644
--- a/cpp/demo/Ice/async/Client.cpp
+++ b/cpp/demo/Ice/async/Client.cpp
@@ -45,7 +45,7 @@ AsyncClient::AsyncClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Ice/async/Makefile.mak b/cpp/demo/Ice/async/Makefile.mak
index 871ad05ec24..a50fff24664 100644
--- a/cpp/demo/Ice/async/Makefile.mak
+++ b/cpp/demo/Ice/async/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/bidir/Makefile.mak b/cpp/demo/Ice/bidir/Makefile.mak
index 3694489b8f4..97f18887f24 100644
--- a/cpp/demo/Ice/bidir/Makefile.mak
+++ b/cpp/demo/Ice/bidir/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/callback/Client.cpp b/cpp/demo/Ice/callback/Client.cpp
index bcc4c6f88ca..02d65ee59c9 100644
--- a/cpp/demo/Ice/callback/Client.cpp
+++ b/cpp/demo/Ice/callback/Client.cpp
@@ -58,7 +58,7 @@ CallbackClient::CallbackClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Ice/callback/Makefile.mak b/cpp/demo/Ice/callback/Makefile.mak
index ba726a03529..052a29b2b7d 100644
--- a/cpp/demo/Ice/callback/Makefile.mak
+++ b/cpp/demo/Ice/callback/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/converter/Makefile.mak b/cpp/demo/Ice/converter/Makefile.mak
index 7c0c01192f3..d93d50b0c56 100644
--- a/cpp/demo/Ice/converter/Makefile.mak
+++ b/cpp/demo/Ice/converter/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/hello/Client.cpp b/cpp/demo/Ice/hello/Client.cpp
index f4278f048bf..366d93fc9ca 100644
--- a/cpp/demo/Ice/hello/Client.cpp
+++ b/cpp/demo/Ice/hello/Client.cpp
@@ -38,7 +38,7 @@ HelloClient::HelloClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Ice/hello/Makefile.mak b/cpp/demo/Ice/hello/Makefile.mak
index 8a0700dc53a..913feaee700 100644
--- a/cpp/demo/Ice/hello/Makefile.mak
+++ b/cpp/demo/Ice/hello/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/invoke/Client.cpp b/cpp/demo/Ice/invoke/Client.cpp
index d209180f66e..c13a1a0da80 100644
--- a/cpp/demo/Ice/invoke/Client.cpp
+++ b/cpp/demo/Ice/invoke/Client.cpp
@@ -55,7 +55,7 @@ InvokeClient::InvokeClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Ice/invoke/Makefile.mak b/cpp/demo/Ice/invoke/Makefile.mak
index 407fe369890..a990c31375b 100644
--- a/cpp/demo/Ice/invoke/Makefile.mak
+++ b/cpp/demo/Ice/invoke/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
SLICE2CPPFLAGS = --stream $(SLICE2CPPFLAGS)
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/latency/Makefile.mak b/cpp/demo/Ice/latency/Makefile.mak
index 5a5403f1f38..648a0c3350d 100644
--- a/cpp/demo/Ice/latency/Makefile.mak
+++ b/cpp/demo/Ice/latency/Makefile.mak
@@ -28,7 +28,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/minimal/Makefile.mak b/cpp/demo/Ice/minimal/Makefile.mak
index 8a0700dc53a..913feaee700 100644
--- a/cpp/demo/Ice/minimal/Makefile.mak
+++ b/cpp/demo/Ice/minimal/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/multicast/Makefile.mak b/cpp/demo/Ice/multicast/Makefile.mak
index dd8a79c1d70..9bb133e9565 100644
--- a/cpp/demo/Ice/multicast/Makefile.mak
+++ b/cpp/demo/Ice/multicast/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/nested/Client.cpp b/cpp/demo/Ice/nested/Client.cpp
index f3129a8d7f3..102b80fb413 100644
--- a/cpp/demo/Ice/nested/Client.cpp
+++ b/cpp/demo/Ice/nested/Client.cpp
@@ -34,7 +34,7 @@ NestedClient::NestedClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Ice/nested/Makefile.mak b/cpp/demo/Ice/nested/Makefile.mak
index 654b0fc5662..2d9013643d1 100644
--- a/cpp/demo/Ice/nested/Makefile.mak
+++ b/cpp/demo/Ice/nested/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/session/Client.cpp b/cpp/demo/Ice/session/Client.cpp
index ea11f4a2091..9bf03aee2db 100755
--- a/cpp/demo/Ice/session/Client.cpp
+++ b/cpp/demo/Ice/session/Client.cpp
@@ -106,7 +106,7 @@ SessionClient::SessionClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Ice/session/Makefile.mak b/cpp/demo/Ice/session/Makefile.mak
index 07043b8d4f1..b7007a1f00d 100644
--- a/cpp/demo/Ice/session/Makefile.mak
+++ b/cpp/demo/Ice/session/Makefile.mak
@@ -31,7 +31,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/throughput/Client.cpp b/cpp/demo/Ice/throughput/Client.cpp
index 1a3264c50ca..602ba899ec9 100644
--- a/cpp/demo/Ice/throughput/Client.cpp
+++ b/cpp/demo/Ice/throughput/Client.cpp
@@ -39,7 +39,7 @@ ThroughputClient::ThroughputClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Ice/throughput/Makefile.mak b/cpp/demo/Ice/throughput/Makefile.mak
index 1227e337b8a..6bcbdc26304 100644
--- a/cpp/demo/Ice/throughput/Makefile.mak
+++ b/cpp/demo/Ice/throughput/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/Ice/value/Client.cpp b/cpp/demo/Ice/value/Client.cpp
index c30ca2b6d26..50a65798273 100644
--- a/cpp/demo/Ice/value/Client.cpp
+++ b/cpp/demo/Ice/value/Client.cpp
@@ -34,7 +34,7 @@ ValueClient::ValueClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/Ice/value/Makefile.mak b/cpp/demo/Ice/value/Makefile.mak
index 177a9163588..5b2d5f66806 100644
--- a/cpp/demo/Ice/value/Makefile.mak
+++ b/cpp/demo/Ice/value/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceBox/hello/Client.cpp b/cpp/demo/IceBox/hello/Client.cpp
index d736523e1f9..348f09ef233 100644
--- a/cpp/demo/IceBox/hello/Client.cpp
+++ b/cpp/demo/IceBox/hello/Client.cpp
@@ -38,7 +38,7 @@ HelloClient::HelloClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/IceBox/hello/Makefile.mak b/cpp/demo/IceBox/hello/Makefile.mak
index 88f8a52d1b3..34a72669a9b 100644
--- a/cpp/demo/IceBox/hello/Makefile.mak
+++ b/cpp/demo/IceBox/hello/Makefile.mak
@@ -34,7 +34,7 @@ SLICE_SRCS = Hello.ice
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceGrid/allocate/Client.cpp b/cpp/demo/IceGrid/allocate/Client.cpp
index 6ac664ce5b7..79520be6bca 100644
--- a/cpp/demo/IceGrid/allocate/Client.cpp
+++ b/cpp/demo/IceGrid/allocate/Client.cpp
@@ -91,7 +91,7 @@ HelloClient::HelloClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/IceGrid/allocate/Makefile.mak b/cpp/demo/IceGrid/allocate/Makefile.mak
index e623b30b330..e64501912c1 100644
--- a/cpp/demo/IceGrid/allocate/Makefile.mak
+++ b/cpp/demo/IceGrid/allocate/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceGrid/icebox/Makefile.mak b/cpp/demo/IceGrid/icebox/Makefile.mak
index 88f8a52d1b3..34a72669a9b 100644
--- a/cpp/demo/IceGrid/icebox/Makefile.mak
+++ b/cpp/demo/IceGrid/icebox/Makefile.mak
@@ -34,7 +34,7 @@ SLICE_SRCS = Hello.ice
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceGrid/replication/Client.cpp b/cpp/demo/IceGrid/replication/Client.cpp
index bba0c55ceb8..394372cfef4 100644
--- a/cpp/demo/IceGrid/replication/Client.cpp
+++ b/cpp/demo/IceGrid/replication/Client.cpp
@@ -39,7 +39,7 @@ HelloClient::HelloClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/IceGrid/replication/Makefile.mak b/cpp/demo/IceGrid/replication/Makefile.mak
index ff1c269a648..499849c81a9 100644
--- a/cpp/demo/IceGrid/replication/Makefile.mak
+++ b/cpp/demo/IceGrid/replication/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceGrid/sessionActivation/Client.cpp b/cpp/demo/IceGrid/sessionActivation/Client.cpp
index fe3648d795a..ddf896d5ae0 100644
--- a/cpp/demo/IceGrid/sessionActivation/Client.cpp
+++ b/cpp/demo/IceGrid/sessionActivation/Client.cpp
@@ -91,7 +91,7 @@ HelloClient::HelloClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/IceGrid/sessionActivation/Makefile.mak b/cpp/demo/IceGrid/sessionActivation/Makefile.mak
index 731c101174b..c7f0e00647c 100644
--- a/cpp/demo/IceGrid/sessionActivation/Makefile.mak
+++ b/cpp/demo/IceGrid/sessionActivation/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceGrid/simple/Client.cpp b/cpp/demo/IceGrid/simple/Client.cpp
index f8b3b52e059..31f6a858af9 100644
--- a/cpp/demo/IceGrid/simple/Client.cpp
+++ b/cpp/demo/IceGrid/simple/Client.cpp
@@ -38,7 +38,7 @@ HelloClient::HelloClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/IceGrid/simple/Makefile.mak b/cpp/demo/IceGrid/simple/Makefile.mak
index e623b30b330..e64501912c1 100644
--- a/cpp/demo/IceGrid/simple/Makefile.mak
+++ b/cpp/demo/IceGrid/simple/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/IcePatch2/MFC/Makefile.mak b/cpp/demo/IcePatch2/MFC/Makefile.mak
index dce0e9b2396..f967e287449 100755
--- a/cpp/demo/IcePatch2/MFC/Makefile.mak
+++ b/cpp/demo/IcePatch2/MFC/Makefile.mak
@@ -24,7 +24,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. $(CPPFLAGS) -D_AFXDLL -DVC_EXTRALEAN -D_UNICODE
LINKWITH = icepatch2$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceStorm/clock/Makefile.mak b/cpp/demo/IceStorm/clock/Makefile.mak
index 1e19c7cbe45..054ea772d9f 100644
--- a/cpp/demo/IceStorm/clock/Makefile.mak
+++ b/cpp/demo/IceStorm/clock/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LIBS = $(libdir)\icestorm$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceStorm/counter/Makefile.mak b/cpp/demo/IceStorm/counter/Makefile.mak
index efd1853a9d9..ea10fb230d8 100644
--- a/cpp/demo/IceStorm/counter/Makefile.mak
+++ b/cpp/demo/IceStorm/counter/Makefile.mak
@@ -32,7 +32,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
IS_LIBS = $(libdir)\icestorm$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceStorm/replicated/Makefile.mak b/cpp/demo/IceStorm/replicated/Makefile.mak
index f29692b0207..04ccb73d576 100644
--- a/cpp/demo/IceStorm/replicated/Makefile.mak
+++ b/cpp/demo/IceStorm/replicated/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LIBS = $(libdir)\icestorm$(LIBSUFFIX).lib $(libdir)\icegrid$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceStorm/replicated2/Makefile.mak b/cpp/demo/IceStorm/replicated2/Makefile.mak
index e636ef7f538..4440ab73b28 100644
--- a/cpp/demo/IceStorm/replicated2/Makefile.mak
+++ b/cpp/demo/IceStorm/replicated2/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LIBS = $(libdir)\icestorm$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
!endif
diff --git a/cpp/demo/IceUtil/workqueue/Makefile.mak b/cpp/demo/IceUtil/workqueue/Makefile.mak
index cd5fa5c4b06..de93cf8bbb7 100644
--- a/cpp/demo/IceUtil/workqueue/Makefile.mak
+++ b/cpp/demo/IceUtil/workqueue/Makefile.mak
@@ -21,7 +21,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/demo/Makefile.mak b/cpp/demo/Makefile.mak
index 0cfeb7510b4..2975c24b034 100644
--- a/cpp/demo/Makefile.mak
+++ b/cpp/demo/Makefile.mak
@@ -20,7 +20,7 @@ SUBDIRS = IceUtil \
IceGrid \
book
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(CPP_COMPILER)" != "VC80_EXPRESS" && "$(CPP_COMPILER)" != "VC90_EXPRESS"
+!if "$(CPP_COMPILER)" != "BCC2007" && "$(CPP_COMPILER)" != "VC80_EXPRESS" && "$(CPP_COMPILER)" != "VC90_EXPRESS"
SUBDIRS = $(SUBDIRS) IcePatch2
!endif
diff --git a/cpp/demo/book/freeze_filesystem/Client.cpp b/cpp/demo/book/freeze_filesystem/Client.cpp
index f0d94260522..53f360f38b3 100644
--- a/cpp/demo/book/freeze_filesystem/Client.cpp
+++ b/cpp/demo/book/freeze_filesystem/Client.cpp
@@ -33,7 +33,7 @@ FilesystemClient::FilesystemClient() :
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/book/freeze_filesystem/Makefile.mak b/cpp/demo/book/freeze_filesystem/Makefile.mak
index d436a44ded8..59447d7eeb6 100644
--- a/cpp/demo/book/freeze_filesystem/Makefile.mak
+++ b/cpp/demo/book/freeze_filesystem/Makefile.mak
@@ -32,7 +32,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -Idummyinclude $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
SLICE2CPPFLAGS = -I. $(SLICE2CPPFLAGS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/book/lifecycle/Client.cpp b/cpp/demo/book/lifecycle/Client.cpp
index 0f2352cf176..71544e30d2d 100644
--- a/cpp/demo/book/lifecycle/Client.cpp
+++ b/cpp/demo/book/lifecycle/Client.cpp
@@ -22,7 +22,7 @@ public:
// Since this is an interactive demo we don't want any signal
// handling.
//
- Application(Ice::NoSignalHandling)
+ Ice::Application(Ice::NoSignalHandling)
{
}
diff --git a/cpp/demo/book/lifecycle/Makefile.mak b/cpp/demo/book/lifecycle/Makefile.mak
index 39c1a2972f5..018ef0ea483 100644
--- a/cpp/demo/book/lifecycle/Makefile.mak
+++ b/cpp/demo/book/lifecycle/Makefile.mak
@@ -32,7 +32,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -Idummyinclude $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/book/printer/Makefile.mak b/cpp/demo/book/printer/Makefile.mak
index 92e0c0f9f7f..8166be22d25 100644
--- a/cpp/demo/book/printer/Makefile.mak
+++ b/cpp/demo/book/printer/Makefile.mak
@@ -28,7 +28,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/demo/book/simple_filesystem/Makefile.mak b/cpp/demo/book/simple_filesystem/Makefile.mak
index 5f125378e84..bfe98c51dc7 100644
--- a/cpp/demo/book/simple_filesystem/Makefile.mak
+++ b/cpp/demo/book/simple_filesystem/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
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)
diff --git a/cpp/test/Freeze/complex/Makefile.mak b/cpp/test/Freeze/complex/Makefile.mak
index 91ca6fa3742..dc05612e9dc 100644
--- a/cpp/test/Freeze/complex/Makefile.mak
+++ b/cpp/test/Freeze/complex/Makefile.mak
@@ -26,7 +26,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. -Idummyinclude -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/Freeze/dbmap/Makefile.mak b/cpp/test/Freeze/dbmap/Makefile.mak
index 523ef0da6e3..f7a29bf56ae 100644
--- a/cpp/test/Freeze/dbmap/Makefile.mak
+++ b/cpp/test/Freeze/dbmap/Makefile.mak
@@ -26,7 +26,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. -I..\..\include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/Freeze/evictor/Makefile.mak b/cpp/test/Freeze/evictor/Makefile.mak
index 5e10f69ff3d..caa3766974b 100644
--- a/cpp/test/Freeze/evictor/Makefile.mak
+++ b/cpp/test/Freeze/evictor/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Freeze/oldevictor/Makefile.mak b/cpp/test/Freeze/oldevictor/Makefile.mak
index bbd67099219..e9b3e884120 100644
--- a/cpp/test/Freeze/oldevictor/Makefile.mak
+++ b/cpp/test/Freeze/oldevictor/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/FreezeScript/dbmap/Makefile.mak b/cpp/test/FreezeScript/dbmap/Makefile.mak
index 214caf5036d..926cd18b4c8 100644
--- a/cpp/test/FreezeScript/dbmap/Makefile.mak
+++ b/cpp/test/FreezeScript/dbmap/Makefile.mak
@@ -25,7 +25,7 @@ SLICE_SRCS = TestOld.ice
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/FreezeScript/evictor/Makefile.mak b/cpp/test/FreezeScript/evictor/Makefile.mak
index 948c067ffc8..e624b61eacd 100644
--- a/cpp/test/FreezeScript/evictor/Makefile.mak
+++ b/cpp/test/FreezeScript/evictor/Makefile.mak
@@ -24,7 +24,7 @@ SLICE_SRCS = TestOld.ice
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/Glacier2/attack/Makefile.mak b/cpp/test/Glacier2/attack/Makefile.mak
index ac1c3a2c406..15b3f65c0bb 100644
--- a/cpp/test/Glacier2/attack/Makefile.mak
+++ b/cpp/test/Glacier2/attack/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Glacier2/dynamicFiltering/Makefile.mak b/cpp/test/Glacier2/dynamicFiltering/Makefile.mak
index 52ba4d8e107..82a4ac61cf1 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Makefile.mak
+++ b/cpp/test/Glacier2/dynamicFiltering/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Glacier2/router/Makefile.mak b/cpp/test/Glacier2/router/Makefile.mak
index 53e41610970..f9d5ec79341 100644
--- a/cpp/test/Glacier2/router/Makefile.mak
+++ b/cpp/test/Glacier2/router/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Glacier2/sessionControl/Makefile.mak b/cpp/test/Glacier2/sessionControl/Makefile.mak
index 5324c4826b2..997ac0142ae 100644
--- a/cpp/test/Glacier2/sessionControl/Makefile.mak
+++ b/cpp/test/Glacier2/sessionControl/Makefile.mak
@@ -28,7 +28,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Glacier2/ssl/Makefile.mak b/cpp/test/Glacier2/ssl/Makefile.mak
index f5af7bb8bb1..86660e5e7ac 100644
--- a/cpp/test/Glacier2/ssl/Makefile.mak
+++ b/cpp/test/Glacier2/ssl/Makefile.mak
@@ -26,7 +26,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) glacier2$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Glacier2/staticFiltering/Makefile.mak b/cpp/test/Glacier2/staticFiltering/Makefile.mak
index 702adf24d3d..aa9ab231db0 100644
--- a/cpp/test/Glacier2/staticFiltering/Makefile.mak
+++ b/cpp/test/Glacier2/staticFiltering/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/adapterDeactivation/Makefile.mak b/cpp/test/Ice/adapterDeactivation/Makefile.mak
index a1257e2d26d..bb8effb6b9a 100644
--- a/cpp/test/Ice/adapterDeactivation/Makefile.mak
+++ b/cpp/test/Ice/adapterDeactivation/Makefile.mak
@@ -38,7 +38,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
COPDBFLAGS = /pdb:$(COLLOCATED:.exe=.pdb)
diff --git a/cpp/test/Ice/background/Makefile.mak b/cpp/test/Ice/background/Makefile.mak
index cb7ed561445..d842afa28a7 100644
--- a/cpp/test/Ice/background/Makefile.mak
+++ b/cpp/test/Ice/background/Makefile.mak
@@ -43,7 +43,7 @@ SRCS = $(TRANSPORT_OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include -I../../../src $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
TPDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
diff --git a/cpp/test/Ice/binding/Makefile.mak b/cpp/test/Ice/binding/Makefile.mak
index 7d17657e77c..eddb323bbc2 100644
--- a/cpp/test/Ice/binding/Makefile.mak
+++ b/cpp/test/Ice/binding/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/checksum/client/Makefile.mak b/cpp/test/Ice/checksum/client/Makefile.mak
index 7354293fd6b..2bc99fedede 100644
--- a/cpp/test/Ice/checksum/client/Makefile.mak
+++ b/cpp/test/Ice/checksum/client/Makefile.mak
@@ -25,7 +25,7 @@ SRCS = $(COBJS:.obj=.cpp)
SLICE2CPPFLAGS = --checksum $(SLICE2CPPFLAGS)
CPPFLAGS = -I. -I../../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/checksum/server/Makefile.mak b/cpp/test/Ice/checksum/server/Makefile.mak
index c5162f28a45..470535c3215 100644
--- a/cpp/test/Ice/checksum/server/Makefile.mak
+++ b/cpp/test/Ice/checksum/server/Makefile.mak
@@ -25,7 +25,7 @@ SRCS = $(SOBJS:.obj=.cpp)
SLICE2CPPFLAGS = --checksum $(SLICE2CPPFLAGS)
CPPFLAGS = -I. -I../../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/custom/Makefile.mak b/cpp/test/Ice/custom/Makefile.mak
index 874391f327a..6317c5c3841 100644
--- a/cpp/test/Ice/custom/Makefile.mak
+++ b/cpp/test/Ice/custom/Makefile.mak
@@ -57,11 +57,11 @@ SRCS = $(COBJS:.obj=.cpp) \
SLICE2CPPFLAGS = --stream $(SLICE2CPPFLAGS)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006"
+!if "$(CPP_COMPILER)" != "BCC2007"
CPPFLAGS = $(CPPFLAGS) -Zm200
!endif
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
SAPDBFLAGS = /pdb:$(SERVERAMD:.exe=.pdb)
diff --git a/cpp/test/Ice/exceptions/Makefile.mak b/cpp/test/Ice/exceptions/Makefile.mak
index 8575056466f..65e22f9e9ad 100644
--- a/cpp/test/Ice/exceptions/Makefile.mak
+++ b/cpp/test/Ice/exceptions/Makefile.mak
@@ -42,7 +42,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
SAPDBFLAGS = /pdb:$(SERVERAMD:.exe=.pdb)
diff --git a/cpp/test/Ice/facets/Makefile.mak b/cpp/test/Ice/facets/Makefile.mak
index 859cf32bb85..8731619d4b4 100644
--- a/cpp/test/Ice/facets/Makefile.mak
+++ b/cpp/test/Ice/facets/Makefile.mak
@@ -36,7 +36,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
COPDBFLAGS = /pdb:$(COLLOCATED:.exe=.pdb)
diff --git a/cpp/test/Ice/faultTolerance/Makefile.mak b/cpp/test/Ice/faultTolerance/Makefile.mak
index 7d17657e77c..eddb323bbc2 100644
--- a/cpp/test/Ice/faultTolerance/Makefile.mak
+++ b/cpp/test/Ice/faultTolerance/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/gc/Makefile.mak b/cpp/test/Ice/gc/Makefile.mak
index 4ef2a1790ff..cc26888eeeb 100644
--- a/cpp/test/Ice/gc/Makefile.mak
+++ b/cpp/test/Ice/gc/Makefile.mak
@@ -22,7 +22,7 @@ SRCS = $(COBJS:.obj=.cpp)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/hold/Makefile.mak b/cpp/test/Ice/hold/Makefile.mak
index 7d17657e77c..eddb323bbc2 100644
--- a/cpp/test/Ice/hold/Makefile.mak
+++ b/cpp/test/Ice/hold/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/inheritance/Makefile.mak b/cpp/test/Ice/inheritance/Makefile.mak
index 859cf32bb85..8731619d4b4 100644
--- a/cpp/test/Ice/inheritance/Makefile.mak
+++ b/cpp/test/Ice/inheritance/Makefile.mak
@@ -36,7 +36,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
COPDBFLAGS = /pdb:$(COLLOCATED:.exe=.pdb)
diff --git a/cpp/test/Ice/interceptor/Makefile.mak b/cpp/test/Ice/interceptor/Makefile.mak
index c85e40c590f..be5de5ef1d0 100755
--- a/cpp/test/Ice/interceptor/Makefile.mak
+++ b/cpp/test/Ice/interceptor/Makefile.mak
@@ -39,7 +39,7 @@ SRCS = $(LOBJS:.obj=.cpp)
!ifdef BUILD_CLIENT
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
@@ -47,7 +47,7 @@ PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SLICE2CPPFLAGS = --dll-export INTERCEPTOR_TEST_API $(SLICE2CPPFLAGS)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN -DINTERCEPTOR_TEST_API_EXPORTS
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
!endif
!endif
diff --git a/cpp/test/Ice/location/Makefile.mak b/cpp/test/Ice/location/Makefile.mak
index e49b4171fc6..63d8cd29198 100644
--- a/cpp/test/Ice/location/Makefile.mak
+++ b/cpp/test/Ice/location/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/objects/Makefile.mak b/cpp/test/Ice/objects/Makefile.mak
index 2558538098d..86674b54f6c 100644
--- a/cpp/test/Ice/objects/Makefile.mak
+++ b/cpp/test/Ice/objects/Makefile.mak
@@ -38,7 +38,7 @@ SRCS = $(COBJS:.obj=.cpp) \
SLICE2CPPFLAGS = --stream $(SLICE2CPPFLAGS)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
COPDBFLAGS = /pdb:$(COLLOCATED:.exe=.pdb)
diff --git a/cpp/test/Ice/operations/Makefile.mak b/cpp/test/Ice/operations/Makefile.mak
index b6043d7d692..bc6aca77a71 100644
--- a/cpp/test/Ice/operations/Makefile.mak
+++ b/cpp/test/Ice/operations/Makefile.mak
@@ -52,7 +52,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
SAPDBFLAGS = /pdb:$(SERVERAMD:.exe=.pdb)
diff --git a/cpp/test/Ice/proxy/Makefile.mak b/cpp/test/Ice/proxy/Makefile.mak
index 8575056466f..65e22f9e9ad 100644
--- a/cpp/test/Ice/proxy/Makefile.mak
+++ b/cpp/test/Ice/proxy/Makefile.mak
@@ -42,7 +42,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
SAPDBFLAGS = /pdb:$(SERVERAMD:.exe=.pdb)
diff --git a/cpp/test/Ice/retry/Makefile.mak b/cpp/test/Ice/retry/Makefile.mak
index 7d17657e77c..eddb323bbc2 100644
--- a/cpp/test/Ice/retry/Makefile.mak
+++ b/cpp/test/Ice/retry/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/servantLocator/Makefile.mak b/cpp/test/Ice/servantLocator/Makefile.mak
index 93e386f852c..98fc37c2e20 100644
--- a/cpp/test/Ice/servantLocator/Makefile.mak
+++ b/cpp/test/Ice/servantLocator/Makefile.mak
@@ -45,7 +45,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
COPDBFLAGS = /pdb:$(COLLOCATED:.exe=.pdb)
diff --git a/cpp/test/Ice/slicing/exceptions/Makefile.mak b/cpp/test/Ice/slicing/exceptions/Makefile.mak
index 30ffd569f57..c8ddfe6897c 100644
--- a/cpp/test/Ice/slicing/exceptions/Makefile.mak
+++ b/cpp/test/Ice/slicing/exceptions/Makefile.mak
@@ -39,7 +39,7 @@ ICECPPFLAGS = -I. $(ICECPPFLAGS)
CPPFLAGS = -I. -I../../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
SAPDBFLAGS = /pdb:$(SERVERAMD:.exe=.pdb)
diff --git a/cpp/test/Ice/slicing/objects/Makefile.mak b/cpp/test/Ice/slicing/objects/Makefile.mak
index 3141eaceda2..fd4bf454485 100644
--- a/cpp/test/Ice/slicing/objects/Makefile.mak
+++ b/cpp/test/Ice/slicing/objects/Makefile.mak
@@ -43,7 +43,7 @@ ICECPPFLAGS = -I. $(ICECPPFLAGS)
CPPFLAGS = -I. -I../../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
SAPDBFLAGS = /pdb:$(SERVERAMD:.exe=.pdb)
diff --git a/cpp/test/Ice/stream/Makefile.mak b/cpp/test/Ice/stream/Makefile.mak
index c86dc2b0ca5..b0d2f9cac0b 100644
--- a/cpp/test/Ice/stream/Makefile.mak
+++ b/cpp/test/Ice/stream/Makefile.mak
@@ -23,7 +23,7 @@ SRCS = $(COBJS:.obj=.cpp)
SLICE2CPPFLAGS = --stream $(SLICE2CPPFLAGS)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/stringConverter/Makefile.mak b/cpp/test/Ice/stringConverter/Makefile.mak
index cbb6ee6ccf8..b6ba1835d57 100755
--- a/cpp/test/Ice/stringConverter/Makefile.mak
+++ b/cpp/test/Ice/stringConverter/Makefile.mak
@@ -25,7 +25,7 @@ CPPFLAGS = $(CPPFLAGS) -I$(ICONV_HOME)\include -DICONV_ON_WINDOWS -DICE_NO_ERRN
LIBS = $(LIBS) -LIBPATH:$(ICONV_HOME)\lib $(ICONV_LIB)
!endif
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/Ice/timeout/Makefile.mak b/cpp/test/Ice/timeout/Makefile.mak
index 7d17657e77c..eddb323bbc2 100644
--- a/cpp/test/Ice/timeout/Makefile.mak
+++ b/cpp/test/Ice/timeout/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceBox/configuration/Makefile.mak b/cpp/test/IceBox/configuration/Makefile.mak
index 39b29421c8e..0fa2e0316f8 100644
--- a/cpp/test/IceBox/configuration/Makefile.mak
+++ b/cpp/test/IceBox/configuration/Makefile.mak
@@ -33,7 +33,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
diff --git a/cpp/test/IceGrid/activation/Makefile.mak b/cpp/test/IceGrid/activation/Makefile.mak
index 90f60358e16..fe985981eb3 100644
--- a/cpp/test/IceGrid/activation/Makefile.mak
+++ b/cpp/test/IceGrid/activation/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceGrid/allocation/Makefile.mak b/cpp/test/IceGrid/allocation/Makefile.mak
index 138d6b84c2a..841eccfcfc0 100644
--- a/cpp/test/IceGrid/allocation/Makefile.mak
+++ b/cpp/test/IceGrid/allocation/Makefile.mak
@@ -34,7 +34,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
VPDBFLAGS = /pdb:$(VERIFIER:.exe=.pdb)
diff --git a/cpp/test/IceGrid/deployer/Makefile.mak b/cpp/test/IceGrid/deployer/Makefile.mak
index 8d8d3f31f77..5a1eb0bf13b 100644
--- a/cpp/test/IceGrid/deployer/Makefile.mak
+++ b/cpp/test/IceGrid/deployer/Makefile.mak
@@ -38,7 +38,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
diff --git a/cpp/test/IceGrid/distribution/Makefile.mak b/cpp/test/IceGrid/distribution/Makefile.mak
index 2b9a8da6935..7dc4b627f27 100644
--- a/cpp/test/IceGrid/distribution/Makefile.mak
+++ b/cpp/test/IceGrid/distribution/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS)
LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceGrid/replicaGroup/Makefile.mak b/cpp/test/IceGrid/replicaGroup/Makefile.mak
index 3aeeabee5d6..62781476703 100644
--- a/cpp/test/IceGrid/replicaGroup/Makefile.mak
+++ b/cpp/test/IceGrid/replicaGroup/Makefile.mak
@@ -38,7 +38,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
diff --git a/cpp/test/IceGrid/replication/Makefile.mak b/cpp/test/IceGrid/replication/Makefile.mak
index f029356028f..a517ce8b27d 100644
--- a/cpp/test/IceGrid/replication/Makefile.mak
+++ b/cpp/test/IceGrid/replication/Makefile.mak
@@ -31,7 +31,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceGrid/session/Makefile.mak b/cpp/test/IceGrid/session/Makefile.mak
index d3101b4b8d6..f2e2f92711f 100644
--- a/cpp/test/IceGrid/session/Makefile.mak
+++ b/cpp/test/IceGrid/session/Makefile.mak
@@ -31,7 +31,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) glacier2$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
VPDBFLAGS = /pdb:$(VERIFIER:.exe=.pdb)
diff --git a/cpp/test/IceGrid/simple/Makefile.mak b/cpp/test/IceGrid/simple/Makefile.mak
index 90f60358e16..fe985981eb3 100644
--- a/cpp/test/IceGrid/simple/Makefile.mak
+++ b/cpp/test/IceGrid/simple/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceGrid/update/Makefile.mak b/cpp/test/IceGrid/update/Makefile.mak
index d463061dcc0..7121c51cc43 100644
--- a/cpp/test/IceGrid/update/Makefile.mak
+++ b/cpp/test/IceGrid/update/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceSSL/configuration/Makefile.mak b/cpp/test/IceSSL/configuration/Makefile.mak
index 295db756e52..d9be9aa0721 100644
--- a/cpp/test/IceSSL/configuration/Makefile.mak
+++ b/cpp/test/IceSSL/configuration/Makefile.mak
@@ -29,7 +29,7 @@ SRCS = $(COBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceStorm/federation/Makefile.mak b/cpp/test/IceStorm/federation/Makefile.mak
index 0da20588a05..83b19630f32 100644
--- a/cpp/test/IceStorm/federation/Makefile.mak
+++ b/cpp/test/IceStorm/federation/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceStorm/federation2/Makefile.mak b/cpp/test/IceStorm/federation2/Makefile.mak
index 3daf814e537..20c39c2e921 100644
--- a/cpp/test/IceStorm/federation2/Makefile.mak
+++ b/cpp/test/IceStorm/federation2/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceStorm/rep1/Makefile.mak b/cpp/test/IceStorm/rep1/Makefile.mak
index 4809c968d98..f0ddafa5fd8 100644
--- a/cpp/test/IceStorm/rep1/Makefile.mak
+++ b/cpp/test/IceStorm/rep1/Makefile.mak
@@ -33,7 +33,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
SUB_PDBFLAGS = /pdb:$(SUB:.exe=.pdb)
diff --git a/cpp/test/IceStorm/repgrid/Makefile.mak b/cpp/test/IceStorm/repgrid/Makefile.mak
index 3dbbaa99ca0..5fe901ed320 100644
--- a/cpp/test/IceStorm/repgrid/Makefile.mak
+++ b/cpp/test/IceStorm/repgrid/Makefile.mak
@@ -25,7 +25,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/IceStorm/repstress/Makefile.mak b/cpp/test/IceStorm/repstress/Makefile.mak
index 9049a3ad4bf..338bb99120a 100644
--- a/cpp/test/IceStorm/repstress/Makefile.mak
+++ b/cpp/test/IceStorm/repstress/Makefile.mak
@@ -34,7 +34,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
CPDBFLAGS = /pdb:$(CONTROL:.exe=.pdb)
diff --git a/cpp/test/IceStorm/single/Makefile.mak b/cpp/test/IceStorm/single/Makefile.mak
index 2f145c4f91f..a67ccf06074 100644
--- a/cpp/test/IceStorm/single/Makefile.mak
+++ b/cpp/test/IceStorm/single/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceStorm/stress/Makefile.mak b/cpp/test/IceStorm/stress/Makefile.mak
index 3daf814e537..20c39c2e921 100644
--- a/cpp/test/IceStorm/stress/Makefile.mak
+++ b/cpp/test/IceStorm/stress/Makefile.mak
@@ -30,7 +30,7 @@ SRCS = $(OBJS:.obj=.cpp) \
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
!endif
diff --git a/cpp/test/IceUtil/condvar/Makefile.mak b/cpp/test/IceUtil/condvar/Makefile.mak
index a113e2f992c..b0b782fabb9 100644
--- a/cpp/test/IceUtil/condvar/Makefile.mak
+++ b/cpp/test/IceUtil/condvar/Makefile.mak
@@ -24,7 +24,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
WQ_PDBFLAGS = /pdb:$(WQ:.exe=.pdb)
MATCH_PDBFLAGS = /pdb:$(MATCH:.exe=.pdb)
!endif
diff --git a/cpp/test/IceUtil/ctrlCHandler/Makefile.mak b/cpp/test/IceUtil/ctrlCHandler/Makefile.mak
index 5918a579742..23218facb6f 100644
--- a/cpp/test/IceUtil/ctrlCHandler/Makefile.mak
+++ b/cpp/test/IceUtil/ctrlCHandler/Makefile.mak
@@ -21,7 +21,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/IceUtil/inputUtil/Makefile.mak b/cpp/test/IceUtil/inputUtil/Makefile.mak
index 5918a579742..23218facb6f 100644
--- a/cpp/test/IceUtil/inputUtil/Makefile.mak
+++ b/cpp/test/IceUtil/inputUtil/Makefile.mak
@@ -21,7 +21,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/IceUtil/thread/Makefile.mak b/cpp/test/IceUtil/thread/Makefile.mak
index a5cbfc78b0e..80f8eda947f 100644
--- a/cpp/test/IceUtil/thread/Makefile.mak
+++ b/cpp/test/IceUtil/thread/Makefile.mak
@@ -33,7 +33,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/IceUtil/timer/Makefile.mak b/cpp/test/IceUtil/timer/Makefile.mak
index 5918a579742..23218facb6f 100644
--- a/cpp/test/IceUtil/timer/Makefile.mak
+++ b/cpp/test/IceUtil/timer/Makefile.mak
@@ -21,7 +21,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/IceUtil/unicode/Makefile.mak b/cpp/test/IceUtil/unicode/Makefile.mak
index 5918a579742..23218facb6f 100644
--- a/cpp/test/IceUtil/unicode/Makefile.mak
+++ b/cpp/test/IceUtil/unicode/Makefile.mak
@@ -21,7 +21,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/IceUtil/uuid/Makefile.mak b/cpp/test/IceUtil/uuid/Makefile.mak
index 5918a579742..23218facb6f 100644
--- a/cpp/test/IceUtil/uuid/Makefile.mak
+++ b/cpp/test/IceUtil/uuid/Makefile.mak
@@ -21,7 +21,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/cpp/test/Slice/keyword/Makefile.mak b/cpp/test/Slice/keyword/Makefile.mak
index fb9c0028d60..3c2b48216fe 100644
--- a/cpp/test/Slice/keyword/Makefile.mak
+++ b/cpp/test/Slice/keyword/Makefile.mak
@@ -23,7 +23,7 @@ SRCS = $(COBJS:.obj=.cpp)
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
SLICE2CPPFLAGS = --stream $(SLICE2CPPFLAGS)
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
diff --git a/distribution/src/bcc/doc/README.txt b/distribution/src/bcc/doc/README.txt
index 6b155e4c991..813fe4025ec 100755
--- a/distribution/src/bcc/doc/README.txt
+++ b/distribution/src/bcc/doc/README.txt
@@ -19,8 +19,8 @@ About this distribution
-----------------------
This binary distribution provides all Ice run time services and
-development tools to build Ice applications in C++ using Borland
-C++Builder 2006 Update 2.
+development tools to build Ice applications in C++ using C++Builder
+2006 R2.
If you want to develop Ice applications in another programming
language, on with another C++ compiler, please download the
@@ -31,27 +31,58 @@ http://www.zeroc.com/download.html.
Supported Windows versions
--------------------------
-This distribution is supported on Windows XP with Service Pack 2.
+This distribution is supported on
+
+ - Windows XP with Service Pack 2
+ - Windows Vista.
+
+Monotonic clock
+---------------
+
+Ice uses the QueryPerformanceCounter Windows API function to measure
+time with a monotonic clock. If you are experiencing timing or
+performance issues, there are two knowledgebase articles that may be
+relevant for your system:
+
+ http://support.microsoft.com/?id=896256
+ http://support.microsoft.com/?id=895980
Running IceGrid and Glacier2 components as services
---------------------------------------------------
-The WINDOWS_SERVICES.txt file included in this distribution contains
-information on how to install and run the IceGrid registry, IceGrid
-node, and Glacier2 router as Windows services.
+An appendix in the Ice manual provides information on installing and
+running the IceGrid registry, IceGrid node, and Glacier2 router as
+Windows services.
+
+
+Building and running the C++ demos
+----------------------------------
+
+The C++ demos are in the demo directory.
+
+To build the C++ demos, open a "RAD Studio Command Prompt" and
+change to the demo directory and run the following command to build
+the demos
+
+ > nmake /f Makefile.mak
+
+Note that this requires Microsoft NMAKE. If you do not already have this
+installed, you can download it as part of the Windows Platform SDK:
+ http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC&displaylang=en
-Demos
------
+To run these demos, you need to add the Ice bin directory to your
+PATH, as shown below:
-Sample programs are provided in the Ice-@ver@-demos.zip package,
-which can be downloaded from the ZeroC web site at
+set PATH=<Ice installation root directory>\bin;%PATH%
-http://www.zeroc.com/download.html
+Next, open a Command Prompt, change to the desired demo subdirectory,
+and type 'server' to start the server. In a separate Command Prompt
+window, type 'client' to start the client.
-Please refer to the README.DEMOS file included in that package for
-more information.
+Some demo directories contain README files if additional requirements
+are necessary.
Binary compatibility
diff --git a/distribution/src/thirdparty/README.txt b/distribution/src/thirdparty/README.txt
index c5a559017bd..2e5af1b7abf 100755
--- a/distribution/src/thirdparty/README.txt
+++ b/distribution/src/thirdparty/README.txt
@@ -161,10 +161,18 @@ Follow these instructions for building mcpp:
> patch -p0 < ..\noconfig\vc2005.dif
-- Build the mcpp release library:
+- Microsoft Visual C++:
+
+ Build the mcpp release library:
> nmake MCPP_LIB=1 /f ..\noconfig\visualc.mak mcpplib
To build the debug version of the library:
> nmake MCPP_LIB=1 DEBUG=1 /f ..\noconfig\visualc.mak mcpplib
+
+- CodeGear C++Builder:
+
+ Build the mcpp library:
+
+ > make -DMCPP_LIB -f..\noconfig\borlandc.mak mcpplib
diff --git a/distribution/src/thirdparty/mcpp/mcpp-2.6.4.patch b/distribution/src/thirdparty/mcpp/mcpp-2.6.4.patch
index deea6e39440..1417cef8f07 100644
--- a/distribution/src/thirdparty/mcpp/mcpp-2.6.4.patch
+++ b/distribution/src/thirdparty/mcpp/mcpp-2.6.4.patch
@@ -1,6 +1,6 @@
-diff -c -r -N ../mcpp-2.6.4-old/configure ./configure
-*** ../mcpp-2.6.4-old/configure 2007-05-02 11:40:35.000000000 -0230
---- ./configure 2008-03-07 11:14:49.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/configure ./configure
+*** ../mcpp-2.6.4/configure 2007-05-02 11:40:35.000000000 -0230
+--- ./configure 2008-04-04 09:27:26.000000000 -0230
***************
*** 19276,19282 ****
#include <stdint.h>
@@ -56,9 +56,59 @@ diff -c -r -N ../mcpp-2.6.4-old/configure ./configure
puts( buf);
return 0;
}
-diff -c -r -N ../mcpp-2.6.4-old/noconfig/vc2008.dif ./noconfig/vc2008.dif
-*** ../mcpp-2.6.4-old/noconfig/vc2008.dif 1969-12-31 20:30:00.000000000 -0330
---- ./noconfig/vc2008.dif 2008-03-07 11:15:57.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/noconfig/bc2007.dif ./noconfig/bc2007.dif
+*** ../mcpp-2.6.4/noconfig/bc2007.dif 1969-12-31 20:30:00.000000000 -0330
+--- ./noconfig/bc2007.dif 2008-04-04 09:29:17.000000000 -0230
+***************
+*** 0 ****
+--- 1,44 ----
++ *** noconfig.H 2007-01-30 00:29:12.000000000 +0900
++ --- noconfig.H.bc55 2007-01-30 01:41:40.000000000 +0900
++ ***************
++ *** 15,21 ****
++ */
++
++ /* Define target operating-system. */
++ ! #define SYSTEM SYS_FREEBSD
++
++ /* Define target compiler. */
++ #ifndef COMPILER
++ --- 15,21 ----
++ */
++
++ /* Define target operating-system. */
++ ! #define SYSTEM SYS_WIN32
++
++ /* Define target compiler. */
++ #ifndef COMPILER
++ ***************
++ *** 26,36 ****
++ #define HOST_SYSTEM SYSTEM
++
++ /* Define host compiler. */
++ ! #define HOST_COMPILER GNUC
++
++ /* Version message. */
++ /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
++ ! #define VERSION_MSG "GCC 3.4"
++ #if 0
++ "LCC-Win32 2006-03"
++ "Visual C 2005"
++ --- 26,36 ----
++ #define HOST_SYSTEM SYSTEM
++
++ /* Define host compiler. */
++ ! #define HOST_COMPILER BORLANDC
++
++ /* Version message. */
++ /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
++ ! #define VERSION_MSG "BCC V.5.9"
++ #if 0
++ "LCC-Win32 2006-03"
++ "Visual C 2005"
+diff -c -r -N ../mcpp-2.6.4/noconfig/vc2008.dif ./noconfig/vc2008.dif
+*** ../mcpp-2.6.4/noconfig/vc2008.dif 1969-12-31 20:30:00.000000000 -0330
+--- ./noconfig/vc2008.dif 2008-04-04 09:27:26.000000000 -0230
***************
*** 0 ****
--- 1,69 ----
@@ -131,9 +181,9 @@ diff -c -r -N ../mcpp-2.6.4-old/noconfig/vc2008.dif ./noconfig/vc2008.dif
+ /* VC 6.0:12008804, VC 2002:13009466, VC 2003:13103077, VC 2005: "140050320"*/
+ #define COMPILER_SP1 "_MSC_EXTENSIONS"
+ #define COMPILER_SP1_VAL "1"
-diff -c -r -N ../mcpp-2.6.4-old/noconfig/vc6.dif ./noconfig/vc6.dif
-*** ../mcpp-2.6.4-old/noconfig/vc6.dif 1969-12-31 20:30:00.000000000 -0330
---- ./noconfig/vc6.dif 2008-03-07 11:16:10.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/noconfig/vc6.dif ./noconfig/vc6.dif
+*** ../mcpp-2.6.4/noconfig/vc6.dif 1969-12-31 20:30:00.000000000 -0330
+--- ./noconfig/vc6.dif 2008-04-04 09:27:26.000000000 -0230
***************
*** 0 ****
--- 1,69 ----
@@ -206,9 +256,9 @@ diff -c -r -N ../mcpp-2.6.4-old/noconfig/vc6.dif ./noconfig/vc6.dif
+ /* VC 6.0:12008804, VC 2002:13009466, VC 2003:13103077, VC 2005: "140050320"*/
+ #define COMPILER_SP1 "_MSC_EXTENSIONS"
+ #define COMPILER_SP1_VAL "1"
-diff -c -r -N ../mcpp-2.6.4-old/noconfig/visualc.mak ./noconfig/visualc.mak
-*** ../mcpp-2.6.4-old/noconfig/visualc.mak 2007-05-12 12:43:22.000000000 -0230
---- ./noconfig/visualc.mak 2008-03-07 11:14:49.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/noconfig/visualc.mak ./noconfig/visualc.mak
+*** ../mcpp-2.6.4/noconfig/visualc.mak 2007-05-12 12:43:22.000000000 -0230
+--- ./noconfig/visualc.mak 2008-04-04 09:27:26.000000000 -0230
***************
*** 85,94 ****
LIBDIR = "$(VCINSTALLDIR)"\lib
@@ -272,9 +322,9 @@ diff -c -r -N ../mcpp-2.6.4-old/noconfig/visualc.mak ./noconfig/visualc.mak
# use mcpp as a subroutine from testmain.c
NAME = testmain
-diff -c -r -N ../mcpp-2.6.4-old/src/cc1.c ./src/cc1.c
-*** ../mcpp-2.6.4-old/src/cc1.c 2006-08-06 02:58:17.000000000 -0230
---- ./src/cc1.c 2008-03-07 11:14:49.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/src/cc1.c ./src/cc1.c
+*** ../mcpp-2.6.4/src/cc1.c 2006-08-06 02:58:17.000000000 -0230
+--- ./src/cc1.c 2008-04-04 09:27:26.000000000 -0230
***************
*** 25,31 ****
@@ -292,9 +342,9 @@ diff -c -r -N ../mcpp-2.6.4-old/src/cc1.c ./src/cc1.c
char * tp;
int plus = 0;
int n = 1;
-diff -c -r -N ../mcpp-2.6.4-old/src/configed.H ./src/configed.H
-*** ../mcpp-2.6.4-old/src/configed.H 2007-05-12 10:32:22.000000000 -0230
---- ./src/configed.H 2008-03-07 11:14:49.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/src/configed.H ./src/configed.H
+*** ../mcpp-2.6.4/src/configed.H 2007-05-12 10:32:22.000000000 -0230
+--- ./src/configed.H 2008-04-04 09:27:26.000000000 -0230
***************
*** 336,344 ****
/* stdin, stdout, stderr, FILE, NULL, fgets(), fputs() and other functions. */
@@ -324,9 +374,9 @@ diff -c -r -N ../mcpp-2.6.4-old/src/configed.H ./src/configed.H
+ /* For Ice we never want to fold file names */
+ #undef FNAME_FOLD
-diff -c -r -N ../mcpp-2.6.4-old/src/eval.c ./src/eval.c
-*** ../mcpp-2.6.4-old/src/eval.c 2007-03-23 11:19:51.000000000 -0230
---- ./src/eval.c 2008-03-07 11:14:49.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/src/eval.c ./src/eval.c
+*** ../mcpp-2.6.4/src/eval.c 2007-03-23 11:19:51.000000000 -0230
+--- ./src/eval.c 2008-04-04 09:27:26.000000000 -0230
***************
*** 196,202 ****
#define S_PDOUBLE (sizeof (double *))
@@ -344,9 +394,9 @@ diff -c -r -N ../mcpp-2.6.4-old/src/eval.c ./src/eval.c
#define S_LLINT (sizeof (__int64))
#define S_PLLINT (sizeof (__int64 *))
#else
-diff -c -r -N ../mcpp-2.6.4-old/src/lib.c ./src/lib.c
-*** ../mcpp-2.6.4-old/src/lib.c 2007-01-08 05:23:31.000000000 -0330
---- ./src/lib.c 2008-03-07 11:14:49.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/src/lib.c ./src/lib.c
+*** ../mcpp-2.6.4/src/lib.c 2007-01-08 05:23:31.000000000 -0330
+--- ./src/lib.c 2008-04-04 09:27:26.000000000 -0230
***************
*** 18,25 ****
#include "noconfig.H"
@@ -510,9 +560,9 @@ diff -c -r -N ../mcpp-2.6.4-old/src/lib.c ./src/lib.c
#if ! HOST_HAVE_STPCPY
char * stpcpy(
-diff -c -r -N ../mcpp-2.6.4-old/src/main.c ./src/main.c
-*** ../mcpp-2.6.4-old/src/main.c 2007-05-18 09:58:51.000000000 -0230
---- ./src/main.c 2008-03-07 11:15:01.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/src/main.c ./src/main.c
+*** ../mcpp-2.6.4/src/main.c 2007-05-18 09:58:51.000000000 -0230
+--- ./src/main.c 2008-04-04 09:27:26.000000000 -0230
***************
*** 340,349 ****
init_eval();
@@ -577,9 +627,9 @@ diff -c -r -N ../mcpp-2.6.4-old/src/main.c ./src/main.c
mcpp_fprintf( OUT, "Can't open \"mcpp.err\"\n");
#if MCPP_LIB
goto fatal_error_exit;
-diff -c -r -N ../mcpp-2.6.4-old/src/noconfig.H ./src/noconfig.H
-*** ../mcpp-2.6.4-old/src/noconfig.H 2007-05-12 10:31:49.000000000 -0230
---- ./src/noconfig.H 2008-03-07 11:14:49.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/src/noconfig.H ./src/noconfig.H
+*** ../mcpp-2.6.4/src/noconfig.H 2007-05-12 10:31:49.000000000 -0230
+--- ./src/noconfig.H 2008-04-04 09:27:26.000000000 -0230
***************
*** 556,564 ****
/* stdin, stdout, stderr, FILE, NULL, fgets(), fputs() and other functions. */
@@ -609,9 +659,9 @@ diff -c -r -N ../mcpp-2.6.4-old/src/noconfig.H ./src/noconfig.H
+ /* For Ice we never want to fold file names */
+ #undef FNAME_FOLD
-diff -c -r -N ../mcpp-2.6.4-old/src/support.c ./src/support.c
-*** ../mcpp-2.6.4-old/src/support.c 2007-05-18 10:01:17.000000000 -0230
---- ./src/support.c 2008-03-07 11:15:01.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/src/support.c ./src/support.c
+*** ../mcpp-2.6.4/src/support.c 2007-05-18 10:01:17.000000000 -0230
+--- ./src/support.c 2008-04-04 09:27:26.000000000 -0230
***************
*** 1556,1562 ****
@@ -630,9 +680,9 @@ diff -c -r -N ../mcpp-2.6.4-old/src/support.c ./src/support.c
cp = stpcpy( cur_fullname, *(infile->dirp));
strcpy( cp, infile->real_fname);
cur_fname = infile->real_fname; /* Restore current fname*/
-diff -c -r -N ../mcpp-2.6.4-old/src/system.c ./src/system.c
-*** ../mcpp-2.6.4-old/src/system.c 2007-05-12 10:34:13.000000000 -0230
---- ./src/system.c 2008-03-07 11:15:01.000000000 -0330
+diff -c -r -N ../mcpp-2.6.4/src/system.c ./src/system.c
+*** ../mcpp-2.6.4/src/system.c 2007-05-12 10:34:13.000000000 -0230
+--- ./src/system.c 2008-04-04 09:27:26.000000000 -0230
***************
*** 53,63 ****
#endif