summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.mak37
-rw-r--r--cpp/Makefile.mak3
-rwxr-xr-xcpp/allDemos.py8
-rwxr-xr-xcpp/allTests.py72
-rwxr-xr-xcpp/config/Make.rules.mak42
-rwxr-xr-xcpp/config/Make.rules.msvc31
-rw-r--r--cpp/demo/Freeze/backup/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/bench/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/casino/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/customEvictor/Makefile.mak2
-rw-r--r--cpp/demo/Freeze/library/Makefile.mak4
-rw-r--r--cpp/demo/Freeze/phonebook/Makefile.mak4
-rw-r--r--cpp/demo/Freeze/transform/Makefile.mak8
-rw-r--r--cpp/demo/Glacier2/callback/Makefile.mak2
-rw-r--r--cpp/demo/Glacier2/chat/Makefile.mak4
-rw-r--r--cpp/demo/IceBox/hello/Makefile.mak2
-rw-r--r--cpp/demo/IceDiscovery/replication/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/allocate/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/customLoadBalancing/Makefile.mak4
-rw-r--r--cpp/demo/IceGrid/icebox/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/replication/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/secure/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/sessionActivation/Makefile.mak2
-rw-r--r--cpp/demo/IceGrid/simple/Makefile.mak2
-rw-r--r--cpp/demo/IcePatch2/MFC/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/clock/Makefile.mak4
-rw-r--r--cpp/demo/IceStorm/counter/Makefile.mak2
-rw-r--r--cpp/demo/IceStorm/replicated/Makefile.mak4
-rw-r--r--cpp/demo/IceStorm/replicated2/Makefile.mak4
-rw-r--r--cpp/demo/Makefile.mak6
-rw-r--r--cpp/demo/book/evictor_filesystem/Makefile.mak2
-rw-r--r--cpp/demo/book/map_filesystem/Makefile.mak2
-rw-r--r--cpp/include/Freeze/Initialize.h16
-rw-r--r--cpp/include/Glacier2/.headers1
-rw-r--r--cpp/include/Glacier2/Config.h28
-rw-r--r--cpp/include/Ice/Config.h15
-rw-r--r--cpp/include/IceBox/Config.h28
-rw-r--r--cpp/include/IceGrid/.headers1
-rw-r--r--cpp/include/IceGrid/Config.h28
-rw-r--r--cpp/include/IcePatch2/Config.h29
-rw-r--r--cpp/include/IceSSL/Config.h5
-rw-r--r--cpp/include/IceSSL/Plugin.h15
-rw-r--r--cpp/include/IceStorm/.headers1
-rw-r--r--cpp/include/IceStorm/Config.h28
-rw-r--r--cpp/include/IceUtil/Config.h19
-rw-r--r--cpp/include/Makefile.mak19
-rw-r--r--cpp/include/Slice/Parser.h15
-rw-r--r--cpp/src/FreezeScript/Makefile.mak2
-rw-r--r--cpp/src/Glacier2/Makefile.mak2
-rw-r--r--cpp/src/Glacier2CryptPermissionsVerifier/Makefile.mak2
-rw-r--r--cpp/src/Ice/Makefile.mak2
-rw-r--r--cpp/src/Ice/winrt/StreamAcceptor.cpp2
-rw-r--r--cpp/src/Ice/winrt/StreamEndpointI.cpp2
-rw-r--r--cpp/src/IceBox/Makefile.mak4
-rw-r--r--cpp/src/IceDiscovery/Makefile6
-rw-r--r--cpp/src/IceDiscovery/Makefile.mak6
-rw-r--r--cpp/src/IceGrid/Makefile.mak8
-rw-r--r--cpp/src/IceGridLib/Makefile.mak2
-rwxr-xr-xcpp/src/IcePatch2Lib/Makefile.mak2
-rw-r--r--cpp/src/IceSSL/Makefile.mak2
-rw-r--r--cpp/src/IceStorm/Makefile6
-rw-r--r--cpp/src/IceStorm/Makefile.mak10
-rw-r--r--cpp/src/IceStorm/Service.cpp3
-rw-r--r--cpp/src/IceStorm/Service.h38
-rw-r--r--cpp/src/IceStormLib/Makefile.mak2
-rw-r--r--cpp/src/IceXML/Parser.h15
-rw-r--r--cpp/src/Makefile3
-rw-r--r--cpp/src/Makefile.mak8
-rwxr-xr-xcpp/src/iceserviceinstall/Makefile.mak3
-rw-r--r--cpp/src/slice2confluence/Makefile.mak2
-rw-r--r--cpp/src/slice2cpp/Makefile.mak2
-rw-r--r--cpp/src/slice2cs/Makefile.mak2
-rw-r--r--cpp/src/slice2freeze/Makefile.mak2
-rw-r--r--cpp/src/slice2freezej/Makefile.mak2
-rw-r--r--cpp/src/slice2html/Makefile.mak2
-rw-r--r--cpp/src/slice2java/Makefile.mak2
-rw-r--r--cpp/src/slice2php/Makefile.mak2
-rw-r--r--cpp/src/slice2py/Makefile.mak2
-rw-r--r--cpp/src/slice2rb/Makefile.mak2
-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/fileLock/Makefile.mak4
-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.mak4
-rw-r--r--cpp/test/Glacier2/override/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/router/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/sessionControl/Makefile.mak4
-rw-r--r--cpp/test/Glacier2/sessionHelper/Makefile.mak2
-rw-r--r--cpp/test/Glacier2/ssl/Makefile.mak4
-rw-r--r--cpp/test/Glacier2/staticFiltering/Makefile.mak2
-rw-r--r--cpp/test/Ice/info/Makefile.mak2
-rw-r--r--cpp/test/IceBox/admin/Makefile.mak6
-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.mak6
-rw-r--r--cpp/test/IceGrid/distribution/Makefile.mak2
-rw-r--r--cpp/test/IceGrid/noRestartUpdate/Makefile.mak4
-rw-r--r--cpp/test/IceGrid/replicaGroup/Makefile.mak6
-rw-r--r--cpp/test/IceGrid/replication/Makefile.mak4
-rw-r--r--cpp/test/IceGrid/session/Makefile.mak8
-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.mak4
-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/Makefile7
-rw-r--r--cpp/test/Makefile.mak9
-rw-r--r--demoscript/Util.py11
-rw-r--r--php/config/Make.rules.mak.php5
-rwxr-xr-xpy/allDemos.py10
-rw-r--r--py/config/Make.rules.mak5
-rw-r--r--py/test/Ice/operations/AllTests.py2
-rwxr-xr-xscripts/TestUtil.py30
-rw-r--r--slice/Glacier2/Metrics.ice5
-rw-r--r--slice/Glacier2/PermissionsVerifier.ice1
-rw-r--r--slice/Glacier2/Router.ice1
-rw-r--r--slice/Glacier2/SSLInfo.ice1
-rw-r--r--slice/Glacier2/Session.ice1
-rw-r--r--slice/Ice/Metrics.ice4
-rw-r--r--slice/IceBox/IceBox.ice1
-rw-r--r--slice/IceDiscovery/IceDiscovery.ice3
-rw-r--r--slice/IceGrid/Admin.ice1
-rw-r--r--slice/IceGrid/Descriptor.ice1
-rw-r--r--slice/IceGrid/Discovery.ice3
-rw-r--r--slice/IceGrid/Exception.ice1
-rw-r--r--slice/IceGrid/FileParser.ice1
-rw-r--r--slice/IceGrid/Locator.ice1
-rw-r--r--slice/IceGrid/Observer.ice1
-rw-r--r--slice/IceGrid/PluginFacade.ice1
-rw-r--r--slice/IceGrid/Query.ice1
-rw-r--r--slice/IceGrid/Registry.ice1
-rw-r--r--slice/IceGrid/Session.ice1
-rw-r--r--slice/IceGrid/UserAccountMapper.ice1
-rw-r--r--slice/IcePatch2/FileInfo.ice1
-rw-r--r--slice/IcePatch2/FileServer.ice1
-rw-r--r--slice/IceStorm/IceStorm.ice1
-rw-r--r--slice/IceStorm/Metrics.ice5
-rw-r--r--vsaddin/config/Ice.props10
-rw-r--r--vsaddin/src/Builder.cs31
-rw-r--r--vsaddin/src/IceCppConfigurationDialog.Designer.cs123
-rw-r--r--vsaddin/src/IceCppConfigurationDialog.cs296
-rw-r--r--vsaddin/src/IceCppConfigurationDialog.resx6
-rw-r--r--vsaddin/src/Util.cs406
152 files changed, 664 insertions, 1095 deletions
diff --git a/Makefile.mak b/Makefile.mak
index 995f921e271..dca971afff8 100644
--- a/Makefile.mak
+++ b/Makefile.mak
@@ -10,24 +10,27 @@
top_srcdir = cpp
!include cpp/config/Make.rules.mak
-SUBDIRS = cpp java py js
-CLEAN_SUBDIRS = js java py cpp
+
+!if "$(CPP_COMPILER)" == "VC100"
+SUBDIRS = cpp py
+CLEAN_SUBDIRS = py cpp
DEPEND_SUBDIRS = cpp py
-INSTALL_SUBDIRS = cpp java py js
-TEST_SUBDIRS = cpp java py js
+INSTALL_SUBDIRS = cpp py
+TEST_SUBDIRS = cpp py
+!else
+SUBDIRS = cpp java js cs vb vsaddin
+CLEAN_SUBDIRS = vsaddin vb cs js java cpp
+DEPEND_SUBDIRS = cpp java js cs vb
+INSTALL_SUBDIRS = cpp java js cs
+TEST_SUBDIRS = cpp java js cs
+!endif
-!if "$(CPP_COMPILER)" == "VC90"
+!if "$(CPP_COMPILER)" == "VC110"
SUBDIRS = $(SUBDIRS) php
-CLEAN_SUBDIRS = php $(CLEAN_SUBDIRS)
-DEPEND_SUBDIRS = $(DEPEND_SUBDIRS) php
-INSTALL_SUBDIRS = $(INSTALL_SUBDIRS) php
-TEST_SUBDIRS = $(TEST_SUBDIRS) php
-!else
-SUBDIRS = $(SUBDIRS) cs vb vsaddin
-CLEAN_SUBDIRS = cs vb vsaddin $(CLEAN_SUBDIRS)
-DEPEND_SUBDIRS = $(DEPEND_SUBDIRS) cs vb
-INSTALL_SUBDIRS = $(INSTALL_SUBDIRS) cs
-TEST_SUBDIRS = $(TEST_SUBDIRS) cs
+CLEAN_SUBDIRS = php $(SUBDIRS)
+DEPEND_SUBDIRS = $(SUBDIRS) php
+INSTALL_SUBDIRS = $(SUBDIRS) php
+TEST_SUBDIRS = $(SUBDIRS) php
!endif
all::
@@ -75,10 +78,6 @@ py::
@echo "making all in py" && \
cmd /c "cd py && $(MAKE) -nologo -f Makefile.mak $(MAKEFLAGS) all" || exit 1
-rb::
- @echo "making all in rb" && \
- cmd /c "cd rb && $(MAKE) -nologo -f Makefile.mak $(MAKEFLAGS) all" || exit 1
-
php::
@echo "making all in php" && \
cmd /c "cd php && $(MAKE) -nologo -f Makefile.mak $(MAKEFLAGS) all" || exit 1
diff --git a/cpp/Makefile.mak b/cpp/Makefile.mak
index cf42e6f746a..f0d61c4a2ee 100644
--- a/cpp/Makefile.mak
+++ b/cpp/Makefile.mak
@@ -12,6 +12,7 @@ top_srcdir = .
!include $(top_srcdir)/config/Make.rules.mak
!if "$(WINRT)" != "yes"
+
SUBDIRS = config src include test demo
INSTALL_SUBDIRS = "$(install_bindir)" "$(install_libdir)" "$(install_includedir)" "$(install_configdir)"
@@ -65,6 +66,6 @@ $(EVERYTHING)::
install::
xcopy /s /y "$(top_srcdir)\SDKs" "$(prefix)\SDKs"
@echo Register SDK "$(SDK_NAME)" in Windows registry "$(SDK_KEY)"
- @reg ADD "$(SDK_KEY)" /ve /d "$(prefix)\SDKs\$(SDK_NAME)\$(SDK_VERSION)" /f || \
+ @reg ADD "$(SDK_KEY)" /ve /d "$(prefix)\SDKs$(SDK_PREFIX)\$(SDK_NAME)\$(SDK_VERSION)" /f || \
echo "Could not add registry keyword $(SDK_KEY)" && exit 1
!endif
diff --git a/cpp/allDemos.py b/cpp/allDemos.py
index 63364c02627..39ff08ba4cf 100755
--- a/cpp/allDemos.py
+++ b/cpp/allDemos.py
@@ -44,7 +44,10 @@ demos = [
"Ice/properties",
"Ice/optional",
"Ice/context",
- "IceStorm/clock",
+]
+
+if not Util.isWin32() or not Util.isVC100()
+ demos += ["IceStorm/clock",
"IceStorm/counter",
"IceStorm/replicated",
"IceStorm/replicated2",
@@ -66,8 +69,7 @@ demos = [
"book/evictor_filesystem",
"book/simple_filesystem",
"book/printer",
- "book/lifecycle",
-]
+ "book/lifecycle"]
if not Util.isNoServices():
demos += ["IceBox/hello", "IceGrid/icebox"]
diff --git a/cpp/allTests.py b/cpp/allTests.py
index a7dce5ee529..cc8e86146ee 100755
--- a/cpp/allTests.py
+++ b/cpp/allTests.py
@@ -77,42 +77,42 @@ tests = [
("Ice/logger", ["once"]),
("Ice/networkProxy", ["core", "noipv6", "nosocks"]),
("IceSSL/configuration", ["once", "novalgrind"]), # valgrind doesn't work well with openssl
- ("IceBox/configuration", ["core", "noipv6", "novc90", "nomingw", "nomx"]),
- ("IceBox/admin", ["core", "noipv6", "novc90", "nomingw", "nomx"]),
- ("Freeze/dbmap", ["once", "novc90", "nomingw"]),
- ("Freeze/complex", ["once", "novc90", "nomingw"]),
- ("Freeze/evictor", ["core", "novc90", "nomingw"]),
- ("Freeze/fileLock", ["core", "novc90", "nomingw"]),
- ("IceStorm/single", ["service", "novc90", "noappverifier", "nomingw"]), # This test doesn't work with appverifier
- ("IceStorm/federation", ["service", "novc90", "nomingw"]),
- ("IceStorm/federation2", ["service", "novc90", "nomingw"]),
- ("IceStorm/stress", ["service", "stress", "novc90", "noappverifier", "nomingw"]), # Too slow with appverifier.
- ("IceStorm/rep1", ["service", "novc90", "nomingw"]),
- ("IceStorm/repgrid", ["service", "novc90", "nomingw"]),
- ("IceStorm/repstress", ["service", "noipv6", "stress", "novc90", "nomingw"]),
- ("FreezeScript/dbmap", ["once", "novc90", "nomingw"]),
- ("FreezeScript/evictor", ["once", "novc90", "nomingw"]),
- ("IceDiscovery/simple", ["service", "novc90", "nomingw"]),
- ("IceGrid/simple", ["service", "novc90", "nomingw"]),
- ("IceGrid/fileLock", ["service", "novc90", "nomingw"]),
- ("IceGrid/deployer", ["service", "novc90", "nomingw"]),
- ("IceGrid/session", ["service", "novc90", "nomingw"]),
- ("IceGrid/update", ["service", "novc90", "nomingw"]),
- ("IceGrid/noRestartUpdate", ["service", "novc90", "nomingw"]),
- ("IceGrid/activation", ["service", "novc90", "nomingw"]),
- ("IceGrid/replicaGroup", ["service", "novc90", "nomingw"]),
- ("IceGrid/replication", ["service", "novc90", "nomingw", "nomx"]),
- ("IceGrid/allocation", ["service", "novc90", "nomingw"]),
- ("IceGrid/distribution", ["service", "novc90", "nomingw"]),
- ("IceGrid/admin", ["service", "novc90", "nomingw","nows"]),
- ("Glacier2/router", ["service", "novc90", "nomingw"]),
- ("Glacier2/attack", ["service", "novc90", "nomingw", "nomx"]),
- ("Glacier2/override", ["service", "novc90", "nomingw"]),
- ("Glacier2/sessionControl", ["service", "novc90", "nomingw"]),
- ("Glacier2/ssl", ["service", "novalgrind", "novc90", "nomingw"]), # valgrind doesn't work well with openssl
- ("Glacier2/dynamicFiltering", ["service", "novc90", "nomingw"]),
- ("Glacier2/staticFiltering", ["service", "noipv6", "novc90", "nomingw", "nomx"]),
- ("Glacier2/sessionHelper", ["service", "novc90", "nomingw", "nossl", "noipv6"]),
+ ("IceBox/configuration", ["core", "noipv6", "novc100", "nomingw", "nomx"]),
+ ("IceBox/admin", ["core", "noipv6", "novc100", "nomingw", "nomx"]),
+ ("Freeze/dbmap", ["once", "novc100", "nomingw"]),
+ ("Freeze/complex", ["once", "novc100", "nomingw"]),
+ ("Freeze/evictor", ["core", "novc100", "nomingw"]),
+ ("Freeze/fileLock", ["core", "novc100", "nomingw"]),
+ ("IceStorm/single", ["service", "novc100", "noappverifier", "nomingw"]), # This test doesn't work with appverifier
+ ("IceStorm/federation", ["service", "novc100", "nomingw"]),
+ ("IceStorm/federation2", ["service", "novc100", "nomingw"]),
+ ("IceStorm/stress", ["service", "stress", "novc100", "noappverifier", "nomingw"]), # Too slow with appverifier.
+ ("IceStorm/rep1", ["service", "novc100", "nomingw"]),
+ ("IceStorm/repgrid", ["service", "novc100", "nomingw"]),
+ ("IceStorm/repstress", ["service", "noipv6", "stress", "novc100", "nomingw"]),
+ ("FreezeScript/dbmap", ["once", "novc100", "nomingw"]),
+ ("FreezeScript/evictor", ["once", "novc100", "nomingw"]),
+ ("IceDiscovery/simple", ["service"]),
+ ("IceGrid/simple", ["service", "novc100", "nomingw"]),
+ ("IceGrid/fileLock", ["service", "novc100", "nomingw"]),
+ ("IceGrid/deployer", ["service", "novc100", "nomingw"]),
+ ("IceGrid/session", ["service", "novc100", "nomingw"]),
+ ("IceGrid/update", ["service", "novc100", "nomingw"]),
+ ("IceGrid/noRestartUpdate", ["service", "novc100", "nomingw"]),
+ ("IceGrid/activation", ["service", "novc100", "nomingw"]),
+ ("IceGrid/replicaGroup", ["service", "novc100", "nomingw"]),
+ ("IceGrid/replication", ["service", "novc100", "nomingw", "nomx"]),
+ ("IceGrid/allocation", ["service", "novc100", "nomingw"]),
+ ("IceGrid/distribution", ["service", "novc100", "nomingw"]),
+ ("IceGrid/admin", ["service", "novc100", "nomingw","nows"]),
+ ("Glacier2/router", ["service", "novc100", "nomingw"]),
+ ("Glacier2/attack", ["service", "novc100", "nomingw", "nomx"]),
+ ("Glacier2/override", ["service", "novc100", "nomingw"]),
+ ("Glacier2/sessionControl", ["service", "novc100", "nomingw"]),
+ ("Glacier2/ssl", ["service", "novalgrind", "novc100", "nomingw"]), # valgrind doesn't work well with openssl
+ ("Glacier2/dynamicFiltering", ["service", "novc100", "nomingw"]),
+ ("Glacier2/staticFiltering", ["service", "noipv6", "novc100", "nomingw", "nomx"]),
+ ("Glacier2/sessionHelper", ["service", "novc100", "nomingw", "nossl", "noipv6"]),
]
#
diff --git a/cpp/config/Make.rules.mak b/cpp/config/Make.rules.mak
index fa44aab14de..03a75690cc1 100755
--- a/cpp/config/Make.rules.mak
+++ b/cpp/config/Make.rules.mak
@@ -60,9 +60,12 @@ THIRDPARTY_HOME = $(PROGRAMFILES)\ZeroC\Ice-$(VERSION)-ThirdParty
#
# Define if you want the Ice DLLs to have compiler specific names.
-# Will be unset by default.
+# Will be set to yes by default when CPP_COMPILER=VC100, and unset
+# otherwise
#
-#UNIQUE_DLL_NAMES = yes
+#UNIQUE_DLL_NAMES = yes
+
+
# ----------------------------------------------------------------------
@@ -94,6 +97,14 @@ CPP_COMPILER = VC120
!endif
#
+# With VC100, we want unique dll names by default
+#
+!if "$(CPP_COMPILER)" == "VC100" && "$(UNIQUE_DLL_NAMES)" == ""
+UNIQUE_DLL_NAMES = yes
+!endif
+
+
+#
# Common definitions
#
ice_language = cpp
@@ -168,15 +179,18 @@ RCFLAGS = -nologo -D_DEBUG
RCFLAGS = -nologo
!endif
-SSL_OS_LIBS = secur32.lib crypt32.lib
-EXPAT_LIBS = libexpat.lib
+!if "$(WINRT)" != "yes"
+ICEUTIL_OS_LIBS = rpcrt4.lib advapi32.lib DbgHelp.lib
+ICE_OS_LIBS = advapi32.lib ws2_32.lib Iphlpapi.lib
+SSL_OS_LIBS = advapi32.lib secur32.lib crypt32.lib ws2_32.lib
-!if "$(STATICLIBS)" =="yes"
-SLICE_LIBS = $(PRELIBS)slice$(LIBSUFFIX).lib $(MCPP_LIBS)
-!else
-SLICE_LIBS = $(PRELIBS)slice$(LIBSUFFIX).lib
+BZIP2_LIBS = libbz2$(LIBSUFFIX).lib
+DB_LIBS = libdb53$(LIBSUFFIX).lib
+MCPP_LIBS = mcpp$(LIBSUFFIX).lib
+EXPAT_LIBS = libexpat.lib
!endif
+
CPPFLAGS = $(CPPFLAGS) -I"$(includedir)"
ICECPPFLAGS = -I"$(slicedir)"
SLICE2CPPFLAGS = $(ICECPPFLAGS) $(SLICE2CPPFLAGS)
@@ -292,6 +306,14 @@ depend::
!if "$(SLICE_SRCS)" != ""
depend:: $(SLICE_SRCS:.ice=.d)
+!else
+
+!if "$(SLICE_OBJS)" != ""
+SLICE_SRCS = $(SLICE_OBJS:.obj=.cpp)
+SLICE_SRCS = $(SLICE_SRCS:.\=)
+all:: $(SLICE_SRCS)
+!endif
+
!endif
!if "$(SRCS)" != ""
@@ -329,6 +351,10 @@ depend:: $(SRCS) $(OBJS_DEPEND)
move $(*F).h $(HDIR)
move $(*F).cpp ..
+.ice.cpp:
+ del /q $(*F).h $(*F).cpp
+ "$(SLICE2CPP)" $(SLICE2CPPFLAGS) $(*F).ice
+
!if "$(INCLUDE_DIR)" != ""
.h{$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\}.h:
copy $(*F).h $(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)
diff --git a/cpp/config/Make.rules.msvc b/cpp/config/Make.rules.msvc
index 61300a06043..29380658d23 100755
--- a/cpp/config/Make.rules.msvc
+++ b/cpp/config/Make.rules.msvc
@@ -101,35 +101,21 @@ LDFLAGS = $(LDFLAGS) /debug /incremental:no
LD_DLLFLAGS = $(LDFLAGS) /dll
LD_EXEFLAGS = $(LDFLAGS)
-!if "$(WINRT)" == "yes"
-ICE_OS_LIBS = kernel32.lib user32.lib
-ICEUTIL_OS_LIBS = $(ICE_OS_LIBS)
-!else
-ICE_OS_LIBS = rpcrt4.lib advapi32.lib
-ICEUTIL_OS_LIBS = $(ICE_OS_LIBS) DbgHelp.lib
-BZIP2_LIBS = libbz2$(LIBSUFFIX).lib
-DB_LIBS = libdb53$(LIBSUFFIX).lib
-MCPP_LIBS = mcpp$(LIBSUFFIX).lib
-!endif
-
-!if "$(WINRT)" != "yes"
-BASELIBS = iceutil$(LIBSUFFIX).lib $(ICE_OS_LIBS)
-LIBS = ice$(LIBSUFFIX).lib $(BASELIBS)
-!else
-BASELIBS = iceutil.lib $(ICE_OS_LIBS)
-LIBS = ice.lib $(BASELIBS)
-!endif
+#
+# With MSVC, we link automatically all Ice libraries using pragma comment
+#
+BASELIBS =
+LIBS =
!if "$(WINRT)" == "yes"
-SDK_VERSION = $(SHORT_VERSION)
-SDK_NAME = Ice
SDK_REG_FILE = $(SDK_NAME).reg
SDK_MANIFEST = SDKManifest.xml
!if "$(CPP_COMPILER)" == "VC110"
TARGET_PLATFORM_VERSION = 8.0
MIN_VS_VERSION = 11.0
+SDK_PREFIX = \8.0
!elseif "$(CPP_COMPILER)" == "VC120"
TARGET_PLATFORM_VERSION = 8.1
MIN_VS_VERSION = 12.0
@@ -219,11 +205,6 @@ $(SDK_PROPS_PATH)\$(SDK_PROPS_FILE): $(SDK_PROPS_PATH)
<IncludePath>$$(IceWinRTHome)\Designtime\CommonConfiguration\Neutral\include;$$(IncludePath)</IncludePath>
<LibraryPath>$$(IceWinRTHome)\Designtime\$$(ConfigurationPrefix)\$$(PlatformTarget);$$(LibraryPath)</LibraryPath>
</PropertyGroup>
- <ItemDefinitionGroup>
- <Link>
- <AdditionalDependencies>icegrid.lib;icestorm.lib;glacier2.lib;ice.lib;iceutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
</Project>
<<KEEP
move $(SDK_PROPS_FILE) $(SDK_PROPS_PATH)
diff --git a/cpp/demo/Freeze/backup/Makefile.mak b/cpp/demo/Freeze/backup/Makefile.mak
index 0c92f119e70..546154576ff 100644
--- a/cpp/demo/Freeze/backup/Makefile.mak
+++ b/cpp/demo/Freeze/backup/Makefile.mak
@@ -26,7 +26,7 @@ PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
$(CLIENT): $(OBJS)
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/Freeze/bench/Makefile.mak b/cpp/demo/Freeze/bench/Makefile.mak
index 9c1ae066301..0b134bd1b37 100644
--- a/cpp/demo/Freeze/bench/Makefile.mak
+++ b/cpp/demo/Freeze/bench/Makefile.mak
@@ -30,7 +30,7 @@ PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
$(CLIENT): $(OBJS)
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/Freeze/casino/Makefile.mak b/cpp/demo/Freeze/casino/Makefile.mak
index 7327c9bca3f..d741b8e5278 100644
--- a/cpp/demo/Freeze/casino/Makefile.mak
+++ b/cpp/demo/Freeze/casino/Makefile.mak
@@ -46,7 +46,7 @@ $(CLIENT): $(COBJS)
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/Freeze/customEvictor/Makefile.mak b/cpp/demo/Freeze/customEvictor/Makefile.mak
index 4fc303faee1..a2ac9a652e4 100644
--- a/cpp/demo/Freeze/customEvictor/Makefile.mak
+++ b/cpp/demo/Freeze/customEvictor/Makefile.mak
@@ -50,7 +50,7 @@ $(CLIENT): $(COBJS)
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/Freeze/library/Makefile.mak b/cpp/demo/Freeze/library/Makefile.mak
index 5072afeded8..19fa03e5016 100644
--- a/cpp/demo/Freeze/library/Makefile.mak
+++ b/cpp/demo/Freeze/library/Makefile.mak
@@ -63,12 +63,12 @@ $(CLIENT): $(COBJS)
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(COLLOCATED): $(COLOBJS)
- $(LINK) $(LD_EXEFLAGS) $(COPDBFLAGS) $(SETARGV) $(COLOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(COPDBFLAGS) $(SETARGV) $(COLOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/Freeze/phonebook/Makefile.mak b/cpp/demo/Freeze/phonebook/Makefile.mak
index 7f7b51007a3..6be9420c16a 100644
--- a/cpp/demo/Freeze/phonebook/Makefile.mak
+++ b/cpp/demo/Freeze/phonebook/Makefile.mak
@@ -62,12 +62,12 @@ $(CLIENT): $(COBJS)
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(COLLOCATED): $(COLOBJS)
- $(LINK) $(LD_EXEFLAGS) $(COPDBFLAGS) $(SETARGV) $(COLOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(COPDBFLAGS) $(SETARGV) $(COLOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/Freeze/transform/Makefile.mak b/cpp/demo/Freeze/transform/Makefile.mak
index 961fd0c410e..dd166bd7db6 100644
--- a/cpp/demo/Freeze/transform/Makefile.mak
+++ b/cpp/demo/Freeze/transform/Makefile.mak
@@ -43,22 +43,22 @@ RECREATE_PDBFLAGS = /pdb:$(RECREATE:.exe=.pdb)
$(CREATE): $(CREATE_OBJS)
- $(LINK) $(LD_EXEFLAGS) $(CREATE_PDBFLAGS) $(SETARGV) $(CREATE_OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CREATE_PDBFLAGS) $(SETARGV) $(CREATE_OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(READ): $(READ_OBJS)
- $(LINK) $(LD_EXEFLAGS) $(READ_PDBFLAGS) $(SETARGV) $(READ_OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(READ_PDBFLAGS) $(SETARGV) $(READ_OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(READNEW): $(READNEW_OBJS)
- $(LINK) $(LD_EXEFLAGS) $(READNEW_PDBFLAGS) $(SETARGV) $(READNEW_OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(READNEW_PDBFLAGS) $(SETARGV) $(READNEW_OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(RECREATE): $(RECREATE_OBJS)
- $(LINK) $(LD_EXEFLAGS) $(RECREATE_PDBFLAGS) $(SETARGV) $(RECREATE_OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(RECREATE_PDBFLAGS) $(SETARGV) $(RECREATE_OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/Glacier2/callback/Makefile.mak b/cpp/demo/Glacier2/callback/Makefile.mak
index d053f05083f..a4ec928bbac 100644
--- a/cpp/demo/Glacier2/callback/Makefile.mak
+++ b/cpp/demo/Glacier2/callback/Makefile.mak
@@ -37,7 +37,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/Glacier2/chat/Makefile.mak b/cpp/demo/Glacier2/chat/Makefile.mak
index 6272efb2614..d981657c664 100644
--- a/cpp/demo/Glacier2/chat/Makefile.mak
+++ b/cpp/demo/Glacier2/chat/Makefile.mak
@@ -36,12 +36,12 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IceBox/hello/Makefile.mak b/cpp/demo/IceBox/hello/Makefile.mak
index 0cd7e1f363d..078cd76a909 100644
--- a/cpp/demo/IceBox/hello/Makefile.mak
+++ b/cpp/demo/IceBox/hello/Makefile.mak
@@ -31,7 +31,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)\config\Make.rules.mak
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
diff --git a/cpp/demo/IceDiscovery/replication/Makefile.mak b/cpp/demo/IceDiscovery/replication/Makefile.mak
index 0345b25eeb3..2eb16b956f3 100644
--- a/cpp/demo/IceDiscovery/replication/Makefile.mak
+++ b/cpp/demo/IceDiscovery/replication/Makefile.mak
@@ -37,7 +37,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IceGrid/allocate/Makefile.mak b/cpp/demo/IceGrid/allocate/Makefile.mak
index 876f86fe0d6..3775ac79a39 100644
--- a/cpp/demo/IceGrid/allocate/Makefile.mak
+++ b/cpp/demo/IceGrid/allocate/Makefile.mak
@@ -37,7 +37,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IceGrid/customLoadBalancing/Makefile.mak b/cpp/demo/IceGrid/customLoadBalancing/Makefile.mak
index f5cb87c1f55..2168491edf0 100644
--- a/cpp/demo/IceGrid/customLoadBalancing/Makefile.mak
+++ b/cpp/demo/IceGrid/customLoadBalancing/Makefile.mak
@@ -35,7 +35,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
@@ -44,7 +44,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IceGrid/icebox/Makefile.mak b/cpp/demo/IceGrid/icebox/Makefile.mak
index d2192e85d4a..fc8b190b129 100644
--- a/cpp/demo/IceGrid/icebox/Makefile.mak
+++ b/cpp/demo/IceGrid/icebox/Makefile.mak
@@ -31,7 +31,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)\config\Make.rules.mak
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
diff --git a/cpp/demo/IceGrid/replication/Makefile.mak b/cpp/demo/IceGrid/replication/Makefile.mak
index 802bb1dace5..29650899acd 100644
--- a/cpp/demo/IceGrid/replication/Makefile.mak
+++ b/cpp/demo/IceGrid/replication/Makefile.mak
@@ -37,7 +37,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IceGrid/secure/Makefile.mak b/cpp/demo/IceGrid/secure/Makefile.mak
index 378d70c6fa5..e3c5297226c 100644
--- a/cpp/demo/IceGrid/secure/Makefile.mak
+++ b/cpp/demo/IceGrid/secure/Makefile.mak
@@ -37,7 +37,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IceGrid/sessionActivation/Makefile.mak b/cpp/demo/IceGrid/sessionActivation/Makefile.mak
index 79799167ca3..d1a3dd55107 100644
--- a/cpp/demo/IceGrid/sessionActivation/Makefile.mak
+++ b/cpp/demo/IceGrid/sessionActivation/Makefile.mak
@@ -37,7 +37,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IceGrid/simple/Makefile.mak b/cpp/demo/IceGrid/simple/Makefile.mak
index 876f86fe0d6..3775ac79a39 100644
--- a/cpp/demo/IceGrid/simple/Makefile.mak
+++ b/cpp/demo/IceGrid/simple/Makefile.mak
@@ -37,7 +37,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IcePatch2/MFC/Makefile.mak b/cpp/demo/IcePatch2/MFC/Makefile.mak
index b61ae499f1a..1203615eac4 100644
--- a/cpp/demo/IcePatch2/MFC/Makefile.mak
+++ b/cpp/demo/IcePatch2/MFC/Makefile.mak
@@ -20,7 +20,7 @@ OBJS = .\PatchClient.obj \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. $(CPPFLAGS) -D_AFXDLL -DVC_EXTRALEAN -D_UNICODE
-LINKWITH = icepatch2$(LIBSUFFIX).lib $(LIBS)
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
diff --git a/cpp/demo/IceStorm/clock/Makefile.mak b/cpp/demo/IceStorm/clock/Makefile.mak
index 8be6c65b324..a3c99cbbefc 100644
--- a/cpp/demo/IceStorm/clock/Makefile.mak
+++ b/cpp/demo/IceStorm/clock/Makefile.mak
@@ -36,13 +36,13 @@ SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
$(PUBLISHER): $(POBJS)
$(LINK) $(LD_EXEFLAGS) $(PPDBFLAGS) $(SETARGV) $(POBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icestorm$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SUBSCRIBER): $(SOBJS)
$(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icestorm$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IceStorm/counter/Makefile.mak b/cpp/demo/IceStorm/counter/Makefile.mak
index 452e01cf746..e437982d99d 100644
--- a/cpp/demo/IceStorm/counter/Makefile.mak
+++ b/cpp/demo/IceStorm/counter/Makefile.mak
@@ -43,7 +43,7 @@ $(CLIENT): $(COBJS)
$(SERVER): $(SOBJS)
$(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icestorm$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IceStorm/replicated/Makefile.mak b/cpp/demo/IceStorm/replicated/Makefile.mak
index e2b4cc2175d..a97cd6ecb7b 100644
--- a/cpp/demo/IceStorm/replicated/Makefile.mak
+++ b/cpp/demo/IceStorm/replicated/Makefile.mak
@@ -37,13 +37,13 @@ SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
$(PUBLISHER): $(POBJS)
$(LINK) $(LD_EXEFLAGS) $(PPDBFLAGS) $(SETARGV) $(POBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icestorm$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SUBSCRIBER): $(SOBJS)
$(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icestorm$(LIBSUFFIX).lib icegrid$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/IceStorm/replicated2/Makefile.mak b/cpp/demo/IceStorm/replicated2/Makefile.mak
index 7ae91349fcf..99429fe4468 100644
--- a/cpp/demo/IceStorm/replicated2/Makefile.mak
+++ b/cpp/demo/IceStorm/replicated2/Makefile.mak
@@ -37,13 +37,13 @@ SPDBFLAGS = /pdb:$(SUBSCRIBER:.exe=.pdb)
$(PUBLISHER): $(POBJS)
$(LINK) $(LD_EXEFLAGS) $(PPDBFLAGS) $(SETARGV) $(POBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icestorm$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SUBSCRIBER): $(SOBJS)
$(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icestorm$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/Makefile.mak b/cpp/demo/Makefile.mak
index d0365c18388..cf5755b1e44 100644
--- a/cpp/demo/Makefile.mak
+++ b/cpp/demo/Makefile.mak
@@ -11,6 +11,11 @@ top_srcdir = ..
!include $(top_srcdir)/config/Make.rules.mak
+!if "$(CPP_COMPILER)" == "VC100"
+SUBDIRS = IceUtil \
+ Ice \
+ IceDiscovery
+!else
SUBDIRS = IceUtil \
Ice \
IceDiscovery \
@@ -25,6 +30,7 @@ SUBDIRS = IceUtil \
SUBDIRS = $(SUBDIRS) \
IcePatch2
!endif
+!endif
$(EVERYTHING)::
@for %i in ( $(SUBDIRS) ) do \
diff --git a/cpp/demo/book/evictor_filesystem/Makefile.mak b/cpp/demo/book/evictor_filesystem/Makefile.mak
index f18ae63c0ad..43bac65048d 100644
--- a/cpp/demo/book/evictor_filesystem/Makefile.mak
+++ b/cpp/demo/book/evictor_filesystem/Makefile.mak
@@ -46,7 +46,7 @@ $(CLIENT): $(COBJS)
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/demo/book/map_filesystem/Makefile.mak b/cpp/demo/book/map_filesystem/Makefile.mak
index bb358d252e7..e7de10deb3f 100644
--- a/cpp/demo/book/map_filesystem/Makefile.mak
+++ b/cpp/demo/book/map_filesystem/Makefile.mak
@@ -50,7 +50,7 @@ $(CLIENT): $(COBJS)
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/include/Freeze/Initialize.h b/cpp/include/Freeze/Initialize.h
index e0d6d853f0f..8eb72e05dcc 100644
--- a/cpp/include/Freeze/Initialize.h
+++ b/cpp/include/Freeze/Initialize.h
@@ -17,6 +17,22 @@
#include <Freeze/Transaction.h>
//
+// Automatically link Freeze[D].lib with Visual C++
+//
+#ifdef _MSC_VER
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "Freeze.lib")
+# elif !defined(FREEZE_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "FreezeD.lib")
+# else
+# pragma comment(lib, "Freeze.lib")
+# endif
+# endif
+#endif
+
+
+//
// Berkeley DB's DbEnv and DbTxn
//
class DbEnv;
diff --git a/cpp/include/Glacier2/.headers b/cpp/include/Glacier2/.headers
index 553626bb597..05f3ad31278 100644
--- a/cpp/include/Glacier2/.headers
+++ b/cpp/include/Glacier2/.headers
@@ -1,5 +1,6 @@
SDK_HEADERS = \
$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Application.h \
+ $(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Config.h \
$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Glacier2.h \
$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Metrics.h \
$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\NullPermissionsVerifier.h \
diff --git a/cpp/include/Glacier2/Config.h b/cpp/include/Glacier2/Config.h
new file mode 100644
index 00000000000..1d78cac66a0
--- /dev/null
+++ b/cpp/include/Glacier2/Config.h
@@ -0,0 +1,28 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#ifndef GLACIER2_CONFIG_H
+#define GLACIER2_CONFIG_H
+
+#ifdef _MSC_VER
+//
+// Automatically link with Glacier2[D].lib
+//
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "Glacier2.lib")
+# elif !defined(GLACIER2_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "Glacier2D.lib")
+# else
+# pragma comment(lib, "Glacier2.lib")
+# endif
+# endif
+#endif
+
+#endif
diff --git a/cpp/include/Ice/Config.h b/cpp/include/Ice/Config.h
index e0c63f79bd0..91e75030aa8 100644
--- a/cpp/include/Ice/Config.h
+++ b/cpp/include/Ice/Config.h
@@ -33,6 +33,21 @@
#endif
//
+// Automatically link Ice[D].lib with Visual C++
+//
+#ifdef _MSC_VER
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "Ice.lib")
+# elif !defined(ICE_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "IceD.lib")
+# else
+# pragma comment(lib, "Ice.lib")
+# endif
+# endif
+#endif
+
+//
// Define the Ice and IceInternal namespace, so that we can use the following
// everywhere in our code:
//
diff --git a/cpp/include/IceBox/Config.h b/cpp/include/IceBox/Config.h
new file mode 100644
index 00000000000..61a451bd5e5
--- /dev/null
+++ b/cpp/include/IceBox/Config.h
@@ -0,0 +1,28 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#ifndef ICE_BOX_CONFIG_H
+#define ICE_BOX_CONFIG_H
+
+#ifdef _MSC_VER
+//
+// Automatically link with IceBox[D].lib
+//
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "IceBox.lib")
+# elif !defined(ICE_BOX_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "IceBoxD.lib")
+# else
+# pragma comment(lib, "IceBox.lib")
+# endif
+# endif
+#endif
+
+#endif
diff --git a/cpp/include/IceGrid/.headers b/cpp/include/IceGrid/.headers
index ee7a0fc5f48..a10f5bdac20 100644
--- a/cpp/include/IceGrid/.headers
+++ b/cpp/include/IceGrid/.headers
@@ -1,5 +1,6 @@
SDK_HEADERS = \
$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Admin.h \
+ $(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Config.h \
$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Descriptor.h \
$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Discovery.h \
$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Exception.h \
diff --git a/cpp/include/IceGrid/Config.h b/cpp/include/IceGrid/Config.h
new file mode 100644
index 00000000000..883c8a39820
--- /dev/null
+++ b/cpp/include/IceGrid/Config.h
@@ -0,0 +1,28 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#ifndef ICE_GRID_CONFIG_H
+#define ICE_GRID_CONFIG_H
+
+#ifdef _MSC_VER
+//
+// Automatically link with IceGrid[D].lib
+//
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "IceGrid.lib")
+# elif !defined(ICE_GRID_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "IceGridD.lib")
+# else
+# pragma comment(lib, "IceGrid.lib")
+# endif
+# endif
+#endif
+
+#endif
diff --git a/cpp/include/IcePatch2/Config.h b/cpp/include/IcePatch2/Config.h
new file mode 100644
index 00000000000..6626a5f8dc4
--- /dev/null
+++ b/cpp/include/IcePatch2/Config.h
@@ -0,0 +1,29 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#ifndef ICE_PATCH2_CONFIG_H
+#define ICE_PATCH2_CONFIG_H
+
+#ifdef _MSC_VER
+//
+// Automatically link with IcePatch2[D].lib
+//
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "IcePatch2.lib")
+# elif !defined(ICE_PATCH2_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "IcePatch2D.lib")
+# else
+# pragma comment(lib, "IcePatch2.lib")
+# endif
+# endif
+#endif
+
+#endif
+
diff --git a/cpp/include/IceSSL/Config.h b/cpp/include/IceSSL/Config.h
index c1a71e40ea8..fa339bcba95 100644
--- a/cpp/include/IceSSL/Config.h
+++ b/cpp/include/IceSSL/Config.h
@@ -7,6 +7,9 @@
//
// **********************************************************************
+#ifndef ICE_SSL_CONFIG_H
+#define ICE_SSL_CONFIG_H
+
#include <Ice/Config.h>
#if defined(__APPLE__)
@@ -16,3 +19,5 @@
#else
# define ICE_USE_OPENSSL 1
#endif
+
+#endif
diff --git a/cpp/include/IceSSL/Plugin.h b/cpp/include/IceSSL/Plugin.h
index 743918ea755..ed4b0b91ec7 100644
--- a/cpp/include/IceSSL/Plugin.h
+++ b/cpp/include/IceSSL/Plugin.h
@@ -18,6 +18,21 @@
#include <vector>
#include <list>
+//
+// Automatically link IceSSL[D].lib with Visual C++
+//
+#ifdef _MSC_VER
+# if defined(ICE_STATIC_LIBS)
+# error("IceSSL Plugin does not support static libraries")
+# elif !defined(ICE_SSL_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "IceSSLD.lib")
+# else
+# pragma comment(lib, "IceSSL.lib")
+# endif
+# endif
+#endif
+
// For struct sockaddr_storage
#ifdef _WIN32
# include <winsock2.h>
diff --git a/cpp/include/IceStorm/.headers b/cpp/include/IceStorm/.headers
index 699039cdb0d..71130c8ed79 100644
--- a/cpp/include/IceStorm/.headers
+++ b/cpp/include/IceStorm/.headers
@@ -1,3 +1,4 @@
SDK_HEADERS = \
+ $(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Config.h \
$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\IceStorm.h \
$(SDK_INCLUDE_PATH)\$(INCLUDE_DIR)\Metrics.h \
diff --git a/cpp/include/IceStorm/Config.h b/cpp/include/IceStorm/Config.h
new file mode 100644
index 00000000000..e27f8ff8da8
--- /dev/null
+++ b/cpp/include/IceStorm/Config.h
@@ -0,0 +1,28 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#ifndef ICE_STORM_CONFIG_H
+#define ICE_STORM_CONFIG_H
+
+#ifdef _MSC_VER
+//
+// Automatically link with IceStorm[D].lib
+//
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "IceStorm.lib")
+# elif !defined(ICE_STORM_LIB_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "IceStormD.lib")
+# else
+# pragma comment(lib, "IceStorm.lib")
+# endif
+# endif
+#endif
+
+#endif
diff --git a/cpp/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h
index d830f49f81c..a6be6d33946 100644
--- a/cpp/include/IceUtil/Config.h
+++ b/cpp/include/IceUtil/Config.h
@@ -145,10 +145,6 @@
#endif
#ifdef _WIN32
-# if !defined(ICE_STATIC_LIBS) && defined(_MSC_VER) && (!defined(_DLL) || !defined(_MT))
-# error "Only multi-threaded DLL libraries can be used with Ice!"
-# endif
-
# include <windows.h>
# if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x600)
@@ -174,6 +170,21 @@
#endif
#ifdef _MSC_VER
+# if !defined(ICE_STATIC_LIBS) && (!defined(_DLL) || !defined(_MT))
+# error "Only multi-threaded DLL libraries can be used with Ice!"
+# endif
+//
+// Automatically link with IceUtil[D].lib
+//
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "IceUtil.lib")
+# elif !defined(ICE_UTIL_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "IceUtilD.lib")
+# else
+# pragma comment(lib, "IceUtil.lib")
+# endif
+# endif
//
// Move some warnings to level 4
//
diff --git a/cpp/include/Makefile.mak b/cpp/include/Makefile.mak
index ded44f28178..ddeaf38328b 100644
--- a/cpp/include/Makefile.mak
+++ b/cpp/include/Makefile.mak
@@ -10,15 +10,26 @@
top_srcdir = ..
!include $(top_srcdir)/config/Make.rules.mak
+
+!if "$(WINRT)" == "yes"
+SUBDIRS = IceUtil \
+ Ice \
+ IceSSL \
+ Glacier2 \
+ IceStorm \
+ IceGrid \
+!elseif "$(CPP_COMPILER)" == "VC100"
+SUBDIRS = IceUtil \
+ Slice \
+ Ice \
+ IceSSL
+!else
SUBDIRS = Glacier2 \
Ice \
IceSSL \
IceGrid \
IceStorm \
- IceUtil
-
-!if "$(WINRT)" != "yes"
-SUBDIRS = $(SUBDIRS) \
+ IceUtil \
Freeze \
IceBox \
IcePatch2 \
diff --git a/cpp/include/Slice/Parser.h b/cpp/include/Slice/Parser.h
index 0b70f236476..d4893173b99 100644
--- a/cpp/include/Slice/Parser.h
+++ b/cpp/include/Slice/Parser.h
@@ -20,6 +20,21 @@
#include <set>
#include <stdio.h>
+//
+// Automatically link Slice[D].lib with Visual C++
+//
+#ifdef _MSC_VER
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "Slice.lib")
+# elif !defined(SLICE_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "SliceD.lib")
+# else
+# pragma comment(lib, "Slice.lib")
+# endif
+# endif
+#endif
+
#ifndef SLICE_API
# ifdef SLICE_API_EXPORTS
# define SLICE_API ICE_DECLSPEC_EXPORT
diff --git a/cpp/src/FreezeScript/Makefile.mak b/cpp/src/FreezeScript/Makefile.mak
index f08533c5315..47893ecf5d8 100644
--- a/cpp/src/FreezeScript/Makefile.mak
+++ b/cpp/src/FreezeScript/Makefile.mak
@@ -40,7 +40,7 @@ HDIR = $(headerdir)\FreezeScript
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = slice$(LIBSUFFIX).lib icexml$(LIBSUFFIX).lib freeze$(LIBSUFFIX).lib $(LIBS) $(DB_LIBS)
+LINKWITH = $(LIBS) $(DB_LIBS)
!if "$(GENERATE_PDB)" == "yes"
TPDBFLAGS = /pdb:$(TRANSFORMDB:.exe=.pdb)
diff --git a/cpp/src/Glacier2/Makefile.mak b/cpp/src/Glacier2/Makefile.mak
index 3f63f26ae52..3581c25b9f0 100644
--- a/cpp/src/Glacier2/Makefile.mak
+++ b/cpp/src/Glacier2/Makefile.mak
@@ -34,7 +34,7 @@ OBJS = .\Blobject.obj \
CPPFLAGS = -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
SLICE2CPPFLAGS = --include-dir Glacier2 $(SLICE2CPPFLAGS)
-LINKWITH = $(LIBS) $(OPENSSL_LIBS) glacier2$(LIBSUFFIX).lib icessl$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(ROUTER:.exe=.pdb)
diff --git a/cpp/src/Glacier2CryptPermissionsVerifier/Makefile.mak b/cpp/src/Glacier2CryptPermissionsVerifier/Makefile.mak
index 408aa444314..48af6d9a0e9 100644
--- a/cpp/src/Glacier2CryptPermissionsVerifier/Makefile.mak
+++ b/cpp/src/Glacier2CryptPermissionsVerifier/Makefile.mak
@@ -20,7 +20,7 @@ OBJS = .\CryptPermissionsVerifierI.obj
CPPFLAGS = -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) glacier2$(LIBSUFFIX).lib libeay32.lib
+LINKWITH = $(LIBS) libeay32.lib
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
diff --git a/cpp/src/Ice/Makefile.mak b/cpp/src/Ice/Makefile.mak
index 3db9346782a..dba766416a9 100644
--- a/cpp/src/Ice/Makefile.mak
+++ b/cpp/src/Ice/Makefile.mak
@@ -158,7 +158,7 @@ CPPFLAGS = -I.. $(CPPFLAGS) -DICE_API_EXPORTS -DWIN32_LEAN_AND_MEAN -bigobj
CPPFLAGS = $(CPPFLAGS) -DCOMPSUFFIX=\"$(COMPSUFFIX)\"
!endif
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)
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
LD_DLLFLAGS = $(LD_DLLFLAGS) /entry:"ice_DLL_Main"
diff --git a/cpp/src/Ice/winrt/StreamAcceptor.cpp b/cpp/src/Ice/winrt/StreamAcceptor.cpp
index 7506e45916e..cd6d1d12305 100644
--- a/cpp/src/Ice/winrt/StreamAcceptor.cpp
+++ b/cpp/src/Ice/winrt/StreamAcceptor.cpp
@@ -28,6 +28,8 @@ using namespace Windows::Storage::Streams;
using namespace Windows::Networking;
using namespace Windows::Networking::Sockets;
+IceUtil::Shared* IceInternal::upCast(StreamAcceptor* p) { return p; }
+
NativeInfoPtr
IceInternal::StreamAcceptor::getNativeInfo()
{
diff --git a/cpp/src/Ice/winrt/StreamEndpointI.cpp b/cpp/src/Ice/winrt/StreamEndpointI.cpp
index 32b0bd39038..0dfd7f1bba5 100644
--- a/cpp/src/Ice/winrt/StreamEndpointI.cpp
+++ b/cpp/src/Ice/winrt/StreamEndpointI.cpp
@@ -62,6 +62,8 @@ private:
}
+IceUtil::Shared* IceInternal::upCast(StreamEndpointI* p) { return p; }
+
IceInternal::StreamEndpointI::StreamEndpointI(const ProtocolInstancePtr& instance, const string& ho, Int po, Int ti,
const string& conId, bool co) :
IPEndpointI(instance, ho, po, Address(), conId),
diff --git a/cpp/src/IceBox/Makefile.mak b/cpp/src/IceBox/Makefile.mak
index 1f18f449b60..220e196fcaf 100644
--- a/cpp/src/IceBox/Makefile.mak
+++ b/cpp/src/IceBox/Makefile.mak
@@ -63,13 +63,13 @@ $(DLLNAME): $(LIB_OBJS) IceBox.res
$(SERVER): $(SOBJS) IceBoxExe.res
$(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SOBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icebox$(LIBSUFFIX).lib $(SRES_FILE)
+ $(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) $(SETARGV) $(PREOUT)$@ $(PRELIBS)$(LIBS) \
- icebox$(LIBSUFFIX).lib $(ARES_FILE)
+ $(ARES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/src/IceDiscovery/Makefile b/cpp/src/IceDiscovery/Makefile
index a918e6a867a..14f2500a1e8 100644
--- a/cpp/src/IceDiscovery/Makefile
+++ b/cpp/src/IceDiscovery/Makefile
@@ -27,10 +27,10 @@ SDIR = $(slicedir)/IceDiscovery
include $(top_srcdir)/config/Make.rules
-CPPFLAGS := -I.. $(CPPFLAGS) -DICE_DISCOVERY_API_EXPORTS
-SLICE2CPPFLAGS := --ice --include-dir IceDiscovery --dll-export ICE_DISCOVERY_API $(SLICE2CPPFLAGS)
+CPPFLAGS := -I.. $(CPPFLAGS)
+SLICE2CPPFLAGS := --ice --include-dir IceDiscovery $(SLICE2CPPFLAGS)
-LINKWITH := $(BZIP2_RPATH_LINK) -lIce -lIceUtil $(CXXLIBS)
+LINKWITH := -lIce -lIceUtil $(CXXLIBS)
ifeq ($(STATICLIBS),yes)
$(libdir)/$(LIBNAME): $(OBJS)
diff --git a/cpp/src/IceDiscovery/Makefile.mak b/cpp/src/IceDiscovery/Makefile.mak
index 4176187f5da..67b484d0cbf 100644
--- a/cpp/src/IceDiscovery/Makefile.mak
+++ b/cpp/src/IceDiscovery/Makefile.mak
@@ -24,10 +24,10 @@ OBJS = .\LocatorI.obj \
!include $(top_srcdir)/config/Make.rules.mak
-CPPFLAGS = -I.. $(CPPFLAGS) -DICE_DISCOVERY_API_EXPORTS -DWIN32_LEAN_AND_MEAN
-SLICE2CPPFLAGS = --ice --include-dir IceDiscovery --dll-export ICE_DISCOVERY_API $(SLICE2CPPFLAGS)
+CPPFLAGS = -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+SLICE2CPPFLAGS = --ice --include-dir IceDiscovery $(SLICE2CPPFLAGS)
-LINKWITH = $(LIBS) ws2_32.lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
diff --git a/cpp/src/IceGrid/Makefile.mak b/cpp/src/IceGrid/Makefile.mak
index 9718ce79ca4..2a023cd4508 100644
--- a/cpp/src/IceGrid/Makefile.mak
+++ b/cpp/src/IceGrid/Makefile.mak
@@ -104,11 +104,9 @@ SLICE2FREEZECMD = $(SLICE2FREEZE) -I.. --ice --include-dir IceGrid $(ICECPPFLAGS
!include $(top_srcdir)\config\Make.rules.mak
-LINKWITH = $(LIBS) glacier2$(LIBSUFFIX).lib
-ALINKWITH = $(LINKWITH) icegrid$(LIBSUFFIX).lib icexml$(LIBSUFFIX).lib icepatch2$(LIBSUFFIX).lib \
- icebox$(LIBSUFFIX).lib
-NLINKWITH = $(ALINKWITH) freeze$(LIBSUFFIX).lib icestorm$(LIBSUFFIX).lib icebox$(LIBSUFFIX).lib \
- icessl$(LIBSUFFIX).lib icestormservice$(LIBSUFFIX).lib libeay32.lib pdh.lib ws2_32.lib
+LINKWITH = $(LIBS)
+ALINKWITH = $(LIBS)
+NLINKWITH = $(LIBS) advapi32.lib pdh.lib ws2_32.lib
SLICE2CPPFLAGS = --checksum --ice --include-dir IceGrid $(SLICE2CPPFLAGS)
CPPFLAGS = -I. -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN -Zm200
diff --git a/cpp/src/IceGridLib/Makefile.mak b/cpp/src/IceGridLib/Makefile.mak
index fecdae8fde5..677bf48559a 100644
--- a/cpp/src/IceGridLib/Makefile.mak
+++ b/cpp/src/IceGridLib/Makefile.mak
@@ -36,7 +36,7 @@ SDIR = $(slicedir)\IceGrid
!include $(top_srcdir)\config\Make.rules.mak
-LINKWITH = $(LIBS) glacier2$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
SLICE2CPPFLAGS = --checksum --ice --include-dir IceGrid --dll-export ICE_GRID_API $(SLICE2CPPFLAGS)
CPPFLAGS = -I.. $(CPPFLAGS)
diff --git a/cpp/src/IcePatch2Lib/Makefile.mak b/cpp/src/IcePatch2Lib/Makefile.mak
index d2172ab1f84..bc44918bab2 100755
--- a/cpp/src/IcePatch2Lib/Makefile.mak
+++ b/cpp/src/IcePatch2Lib/Makefile.mak
@@ -40,7 +40,7 @@ $(LIBNAME): $(DLLNAME)
$(DLLNAME): $(OBJS) IcePatch2.res
$(LINK) $(BASE):0x29000000 $(LD_DLLFLAGS) $(PDBFLAGS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) $(BZIP2_LIBS) \
- $(OPENSSL_LIBS) $(RES_FILE)
+ $(RES_FILE)
move $(DLLNAME:.dll=.lib) $(LIBNAME)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
diff --git a/cpp/src/IceSSL/Makefile.mak b/cpp/src/IceSSL/Makefile.mak
index 701106b0cde..26c15a6e409 100644
--- a/cpp/src/IceSSL/Makefile.mak
+++ b/cpp/src/IceSSL/Makefile.mak
@@ -39,7 +39,7 @@ SDIR = $(slicedir)\IceSSL
CPPFLAGS = -I.. $(CPPFLAGS) -DICE_SSL_API_EXPORTS -DWIN32_LEAN_AND_MEAN
SLICE2CPPFLAGS = --ice --include-dir IceSSL --dll-export ICE_SSL_API $(SLICE2CPPFLAGS)
-LINKWITH = $(LIBS) $(SSL_OS_LIBS) ws2_32.lib
+LINKWITH = $(LIBS) $(SSL_OS_LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
diff --git a/cpp/src/IceStorm/Makefile b/cpp/src/IceStorm/Makefile
index 94a85daa0f0..016511744f3 100644
--- a/cpp/src/IceStorm/Makefile
+++ b/cpp/src/IceStorm/Makefile
@@ -11,7 +11,7 @@ top_srcdir = ../..
LIBFILENAME = $(call mklibfilename,IceStormService,$(VERSION))
SONAME = $(call mksoname,IceStormService,$(SOVERSION))
-LIBNAME = $(call mklibname,IceStormService)
+LIBNAME = $(call mklibname,IceStormService)
ADMIN = $(bindir)/icestormadmin
MIGRATE = $(bindir)/icestormmigrate
@@ -75,9 +75,9 @@ SLICE2FREEZECMD = $(SLICE2FREEZE) -I../.. --ice --include-dir IceStorm $(ICECPPF
include $(top_srcdir)/config/Make.rules
-CPPFLAGS := $(CPPFLAGS) -I.. -DICESTORM_SERVICE_API_EXPORTS $(READLINE_FLAGS)
+CPPFLAGS := $(CPPFLAGS) -I.. $(READLINE_FLAGS)
ICECPPFLAGS := $(ICECPPFLAGS) -I..
-SLICE2CPPFLAGS := --ice --include-dir IceStorm --dll-export ICE_STORM_SERVICE_API $(SLICE2CPPFLAGS)
+SLICE2CPPFLAGS := --ice --include-dir IceStorm $(SLICE2CPPFLAGS)
LINKWITH := $(BZIP2_RPATH_LINK) -lIceStorm -lIceGrid -lGlacier2 -lFreeze -lIceBox -lIce -lIceUtil
$(libdir)/$(LIBFILENAME): $(LIB_OBJS)
diff --git a/cpp/src/IceStorm/Makefile.mak b/cpp/src/IceStorm/Makefile.mak
index a9307a0e2e9..066c0afbd70 100644
--- a/cpp/src/IceStorm/Makefile.mak
+++ b/cpp/src/IceStorm/Makefile.mak
@@ -68,12 +68,12 @@ SLICE2FREEZECMD = $(SLICE2FREEZE) -I.. --ice --include-dir IceStorm $(ICECPPFLAG
!include $(top_srcdir)\config\Make.rules.mak
-CPPFLAGS = -I.. -DICE_STORM_SERVICE_API_EXPORTS $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+CPPFLAGS = -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
ICECPPFLAGS = $(ICECPPFLAGS) -I..
-SLICE2CPPFLAGS = --ice --include-dir IceStorm --dll-export ICE_STORM_SERVICE_API $(SLICE2CPPFLAGS)
-LINKWITH = $(LIBS) icestorm$(LIBSUFFIX).lib icegrid$(LIBSUFFIX).lib icebox$(LIBSUFFIX).lib freeze$(LIBSUFFIX).lib
-ALINKWITH = $(LIBS) icestorm$(LIBSUFFIX).lib
-MLINKWITH = freeze$(LIBSUFFIX).lib icestorm$(LIBSUFFIX).lib $(LIBS)
+SLICE2CPPFLAGS = --ice --include-dir IceStorm $(SLICE2CPPFLAGS)
+LINKWITH = $(LIBS)
+ALINKWITH = $(LIBS)
+MLINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
diff --git a/cpp/src/IceStorm/Service.cpp b/cpp/src/IceStorm/Service.cpp
index 673fdae3860..376277e9f93 100644
--- a/cpp/src/IceStorm/Service.cpp
+++ b/cpp/src/IceStorm/Service.cpp
@@ -7,6 +7,8 @@
//
// **********************************************************************
+#define ICE_STORM_SERVICE_API_EXPORTS
+
#include <IceUtil/DisableWarnings.h>
#include <Ice/PluginManagerI.h> // For loadPlugin
@@ -16,7 +18,6 @@
#include <IceStorm/TransientTopicManagerI.h>
#include <IceStorm/Instance.h>
-#define ICE_STORM_API ICE_DECLSPEC_EXPORT
#include <IceStorm/Service.h>
#include <IceStorm/Observers.h>
diff --git a/cpp/src/IceStorm/Service.h b/cpp/src/IceStorm/Service.h
index b9866e56beb..a48329f9c6f 100644
--- a/cpp/src/IceStorm/Service.h
+++ b/cpp/src/IceStorm/Service.h
@@ -13,10 +13,30 @@
#include <IceBox/IceBox.h>
#include <IceStorm/IceStorm.h>
-#ifndef ICE_STORM_API
-# define ICE_STORM_API ICE_DECLSPEC_IMPORT
+#ifdef _MSC_VER
+//
+// Automatically link with IceStormService[D].lib
+//
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "IceStormService.lib")
+# elif !defined(ICE_STORM_SERVICE_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "IceStormServiceD.lib")
+# else
+# pragma comment(lib, "IceStormService.lib")
+# endif
+# endif
#endif
+#ifndef ICE_STORM_SERVICE_API
+# ifdef ICE_STORM_SERVICE_API_EXPORTS
+# define ICE_STORM_SERVICE_API ICE_DECLSPEC_EXPORT
+# else
+# define ICE_STORM_SERVICE_API ICE_DECLSPEC_IMPORT
+# endif
+#endif
+
+
// This API is internal to Ice, and should not be used by external
// applications.
namespace IceStormInternal
@@ -29,16 +49,16 @@ class Service : public ::IceBox::Service
{
public:
- ICE_STORM_API static ServicePtr create(const Ice::CommunicatorPtr&,
- const Ice::ObjectAdapterPtr&,
- const Ice::ObjectAdapterPtr&,
- const std::string&,
- const Ice::Identity&,
- const std::string&);
+ ICE_STORM_SERVICE_API static ServicePtr create(const Ice::CommunicatorPtr&,
+ const Ice::ObjectAdapterPtr&,
+ const Ice::ObjectAdapterPtr&,
+ const std::string&,
+ const Ice::Identity&,
+ const std::string&);
virtual void start(const std::string&, const Ice::CommunicatorPtr&, const Ice::StringSeq&) = 0;
- ICE_STORM_API virtual IceStorm::TopicManagerPrx getTopicManager() const = 0;
+ ICE_STORM_SERVICE_API virtual IceStorm::TopicManagerPrx getTopicManager() const = 0;
virtual void stop() = 0;
};
diff --git a/cpp/src/IceStormLib/Makefile.mak b/cpp/src/IceStormLib/Makefile.mak
index 3b7dceb0884..0a62b9de932 100644
--- a/cpp/src/IceStormLib/Makefile.mak
+++ b/cpp/src/IceStormLib/Makefile.mak
@@ -27,7 +27,7 @@ SDIR = $(slicedir)\IceStorm
CPPFLAGS = -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
ICECPPFLAGS = $(ICECPPFLAGS) -I..
SLICE2CPPFLAGS = --ice --include-dir IceStorm --checksum --dll-export ICE_STORM_LIB_API $(SLICE2CPPFLAGS)
-LINKWITH = $(LIBS) $(DBLINKWITH) icestorm$(LIBSUFFIX).lib icegrid$(LIBSUFFIX).lib icebox$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
diff --git a/cpp/src/IceXML/Parser.h b/cpp/src/IceXML/Parser.h
index 09629e67a9c..e33d4ff526b 100644
--- a/cpp/src/IceXML/Parser.h
+++ b/cpp/src/IceXML/Parser.h
@@ -25,6 +25,21 @@
# endif
#endif
+//
+// Automatically link IceXML[D].lib with Visual C++
+//
+#ifdef _MSC_VER
+# if defined(ICE_STATIC_LIBS)
+# pragma comment(lib, "IceXML.lib")
+# elif !defined(ICE_XML_API_EXPORTS)
+# if defined(_DEBUG)
+# pragma comment(lib, "IceXMLD.lib")
+# else
+# pragma comment(lib, "IceXML.lib")
+# endif
+# endif
+#endif
+
namespace IceXML
{
diff --git a/cpp/src/Makefile b/cpp/src/Makefile
index eb9edce0cda..b29f1632416 100644
--- a/cpp/src/Makefile
+++ b/cpp/src/Makefile
@@ -17,7 +17,8 @@ ifneq ($(findstring MINGW,$(UNAME)),)
slice2cpp \
slice2rb \
Ice \
- IceSSL
+ IceSSL \
+ IceDiscovery
else
SUBDIRS = IceUtil \
Slice \
diff --git a/cpp/src/Makefile.mak b/cpp/src/Makefile.mak
index c9e7fcd0d32..71994999ac2 100644
--- a/cpp/src/Makefile.mak
+++ b/cpp/src/Makefile.mak
@@ -17,6 +17,14 @@ SUBDIRS = IceUtil\winrt \
Glacier2Lib\winrt \
IceStormLib\winrt \
IceGridLib\winrt
+!elseif "$(CPP_COMPILER)" == "VC100"
+SUBDIRS = IceUtil \
+ Slice \
+ slice2cpp \
+ slice2py \
+ Ice \
+ IceSSL \
+ IceDiscovery \
!else
SUBDIRS = IceUtil \
Slice \
diff --git a/cpp/src/iceserviceinstall/Makefile.mak b/cpp/src/iceserviceinstall/Makefile.mak
index 5c3f859279e..0c584173fc6 100755
--- a/cpp/src/iceserviceinstall/Makefile.mak
+++ b/cpp/src/iceserviceinstall/Makefile.mak
@@ -20,7 +20,8 @@ OBJS = .\ServiceInstaller.obj \
CPPFLAGS = -I. -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = /MANIFEST /MANIFESTUAC:"level='requireAdministrator' uiAccess='false'" authz.lib $(LIBS)
+LINKWITH = /MANIFEST /MANIFESTUAC:"level='requireAdministrator' uiAccess='false'" \
+ authz.lib advapi32.lib $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(TOOL:.exe=.pdb)
diff --git a/cpp/src/slice2confluence/Makefile.mak b/cpp/src/slice2confluence/Makefile.mak
index ddd034046d8..fce94fa8c6a 100644
--- a/cpp/src/slice2confluence/Makefile.mak
+++ b/cpp/src/slice2confluence/Makefile.mak
@@ -28,7 +28,7 @@ PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
RES_FILE = Slice2Confluence.res
$(NAME): $(OBJS) Slice2Confluence.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS) \
$(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/src/slice2cpp/Makefile.mak b/cpp/src/slice2cpp/Makefile.mak
index 7d8405d1a16..552203f8e90 100644
--- a/cpp/src/slice2cpp/Makefile.mak
+++ b/cpp/src/slice2cpp/Makefile.mak
@@ -27,7 +27,7 @@ PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
RES_FILE = Slice2Cpp.res
$(NAME): $(OBJS) Slice2Cpp.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS) \
$(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/src/slice2cs/Makefile.mak b/cpp/src/slice2cs/Makefile.mak
index 0268d4d734e..3c979d2a88e 100644
--- a/cpp/src/slice2cs/Makefile.mak
+++ b/cpp/src/slice2cs/Makefile.mak
@@ -27,7 +27,7 @@ PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
RES_FILE = Slice2Cs.res
$(NAME): $(OBJS) Slice2Cs.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS) \
$(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/src/slice2freeze/Makefile.mak b/cpp/src/slice2freeze/Makefile.mak
index 22f953ceaea..fdc3fcecd85 100644
--- a/cpp/src/slice2freeze/Makefile.mak
+++ b/cpp/src/slice2freeze/Makefile.mak
@@ -26,7 +26,7 @@ PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
RES_FILE = Slice2Freeze.res
$(NAME): $(OBJS) Slice2Freeze.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS) \
$(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/src/slice2freezej/Makefile.mak b/cpp/src/slice2freezej/Makefile.mak
index ca7b5f23dc6..6b1bd319e18 100644
--- a/cpp/src/slice2freezej/Makefile.mak
+++ b/cpp/src/slice2freezej/Makefile.mak
@@ -26,7 +26,7 @@ PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
RES_FILE = Slice2FreezeJ.res
$(NAME): $(OBJS) Slice2FreezeJ.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS) \
$(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/src/slice2html/Makefile.mak b/cpp/src/slice2html/Makefile.mak
index 43c775f6c76..14247237119 100644
--- a/cpp/src/slice2html/Makefile.mak
+++ b/cpp/src/slice2html/Makefile.mak
@@ -27,7 +27,7 @@ PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
RES_FILE = Slice2Html.res
$(NAME): $(OBJS) Slice2Html.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS) \
$(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/src/slice2java/Makefile.mak b/cpp/src/slice2java/Makefile.mak
index 2edaa9e9a92..9499e2dc37f 100644
--- a/cpp/src/slice2java/Makefile.mak
+++ b/cpp/src/slice2java/Makefile.mak
@@ -27,7 +27,7 @@ PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
RES_FILE = Slice2Java.res
$(NAME): $(OBJS) Slice2Java.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS) \
$(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/src/slice2php/Makefile.mak b/cpp/src/slice2php/Makefile.mak
index b6893d013f4..ba0f21073c2 100644
--- a/cpp/src/slice2php/Makefile.mak
+++ b/cpp/src/slice2php/Makefile.mak
@@ -26,7 +26,7 @@ PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
RES_FILE = Slice2PHP.res
$(NAME): $(OBJS) Slice2PHP.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS) \
$(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/src/slice2py/Makefile.mak b/cpp/src/slice2py/Makefile.mak
index 43d0bd47f2a..1b39222820a 100644
--- a/cpp/src/slice2py/Makefile.mak
+++ b/cpp/src/slice2py/Makefile.mak
@@ -26,7 +26,7 @@ PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
RES_FILE = Slice2Py.res
$(NAME): $(OBJS) Slice2Py.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS) \
$(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/src/slice2rb/Makefile.mak b/cpp/src/slice2rb/Makefile.mak
index d2e8913c55a..9e4b877e387 100644
--- a/cpp/src/slice2rb/Makefile.mak
+++ b/cpp/src/slice2rb/Makefile.mak
@@ -26,7 +26,7 @@ PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
RES_FILE = Slice2Rb.res
$(NAME): $(OBJS) Slice2Rb.res
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS)slice$(LIBSUFFIX).lib \
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(OBJS) $(SETARGV) $(PREOUT)$@ $(PRELIBS) \
$(BASELIBS) $(RES_FILE)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Freeze/complex/Makefile.mak b/cpp/test/Freeze/complex/Makefile.mak
index 25e5c5b1144..4ca12e26684 100644
--- a/cpp/test/Freeze/complex/Makefile.mak
+++ b/cpp/test/Freeze/complex/Makefile.mak
@@ -33,7 +33,7 @@ PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
$(CLIENT): $(OBJS)
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Freeze/dbmap/Makefile.mak b/cpp/test/Freeze/dbmap/Makefile.mak
index 850aebe06cb..410e1d2d2fe 100644
--- a/cpp/test/Freeze/dbmap/Makefile.mak
+++ b/cpp/test/Freeze/dbmap/Makefile.mak
@@ -35,7 +35,7 @@ CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
$(CLIENT): $(OBJS)
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Freeze/evictor/Makefile.mak b/cpp/test/Freeze/evictor/Makefile.mak
index 09de99e4e58..c08fafa168f 100644
--- a/cpp/test/Freeze/evictor/Makefile.mak
+++ b/cpp/test/Freeze/evictor/Makefile.mak
@@ -41,7 +41,7 @@ $(CLIENT): $(COBJS)
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Freeze/fileLock/Makefile.mak b/cpp/test/Freeze/fileLock/Makefile.mak
index 4f3ddd68981..eaa4d89e14e 100644
--- a/cpp/test/Freeze/fileLock/Makefile.mak
+++ b/cpp/test/Freeze/fileLock/Makefile.mak
@@ -29,12 +29,12 @@ CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(CLIENTF): $(CFOBJS)
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(CFOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(CFOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/FreezeScript/dbmap/Makefile.mak b/cpp/test/FreezeScript/dbmap/Makefile.mak
index 4151f33eb5f..3e4ea6e46c0 100644
--- a/cpp/test/FreezeScript/dbmap/Makefile.mak
+++ b/cpp/test/FreezeScript/dbmap/Makefile.mak
@@ -30,7 +30,7 @@ PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
$(CLIENT): $(OBJS)
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/FreezeScript/evictor/Makefile.mak b/cpp/test/FreezeScript/evictor/Makefile.mak
index 8bcd4f7b6c9..50426de97ff 100644
--- a/cpp/test/FreezeScript/evictor/Makefile.mak
+++ b/cpp/test/FreezeScript/evictor/Makefile.mak
@@ -27,7 +27,7 @@ PDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
!endif
$(CLIENT): $(OBJS)
- $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) freeze$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(PDBFLAGS) $(SETARGV) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Glacier2/attack/Makefile.mak b/cpp/test/Glacier2/attack/Makefile.mak
index bb3fb88fc0a..24a0b152d92 100644
--- a/cpp/test/Glacier2/attack/Makefile.mak
+++ b/cpp/test/Glacier2/attack/Makefile.mak
@@ -38,7 +38,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Glacier2/dynamicFiltering/Makefile.mak b/cpp/test/Glacier2/dynamicFiltering/Makefile.mak
index c4950aedd7b..bc3720168ed 100644
--- a/cpp/test/Glacier2/dynamicFiltering/Makefile.mak
+++ b/cpp/test/Glacier2/dynamicFiltering/Makefile.mak
@@ -38,12 +38,12 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Glacier2/override/Makefile.mak b/cpp/test/Glacier2/override/Makefile.mak
index ceeb12e2874..ccffb4f85be 100644
--- a/cpp/test/Glacier2/override/Makefile.mak
+++ b/cpp/test/Glacier2/override/Makefile.mak
@@ -37,7 +37,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Glacier2/router/Makefile.mak b/cpp/test/Glacier2/router/Makefile.mak
index ceeb12e2874..ccffb4f85be 100644
--- a/cpp/test/Glacier2/router/Makefile.mak
+++ b/cpp/test/Glacier2/router/Makefile.mak
@@ -37,7 +37,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Glacier2/sessionControl/Makefile.mak b/cpp/test/Glacier2/sessionControl/Makefile.mak
index d80f9e7892a..30ff5999d10 100644
--- a/cpp/test/Glacier2/sessionControl/Makefile.mak
+++ b/cpp/test/Glacier2/sessionControl/Makefile.mak
@@ -36,12 +36,12 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Glacier2/sessionHelper/Makefile.mak b/cpp/test/Glacier2/sessionHelper/Makefile.mak
index c9c03aa07b5..7f058448a0f 100644
--- a/cpp/test/Glacier2/sessionHelper/Makefile.mak
+++ b/cpp/test/Glacier2/sessionHelper/Makefile.mak
@@ -35,7 +35,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Glacier2/ssl/Makefile.mak b/cpp/test/Glacier2/ssl/Makefile.mak
index 4750bd03431..c13099fc854 100644
--- a/cpp/test/Glacier2/ssl/Makefile.mak
+++ b/cpp/test/Glacier2/ssl/Makefile.mak
@@ -24,7 +24,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) glacier2$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
@@ -37,6 +37,6 @@ $(CLIENT): $(COBJS)
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) icessl$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Glacier2/staticFiltering/Makefile.mak b/cpp/test/Glacier2/staticFiltering/Makefile.mak
index fb7aaae6900..f6cc49f1640 100644
--- a/cpp/test/Glacier2/staticFiltering/Makefile.mak
+++ b/cpp/test/Glacier2/staticFiltering/Makefile.mak
@@ -37,7 +37,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) glacier2$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Ice/info/Makefile.mak b/cpp/test/Ice/info/Makefile.mak
index 08b6fb7527e..06bc7f4d84c 100644
--- a/cpp/test/Ice/info/Makefile.mak
+++ b/cpp/test/Ice/info/Makefile.mak
@@ -42,7 +42,7 @@ CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
!if "$(WINRT)" != "yes"
LD_TESTFLAGS = $(LD_EXEFLAGS) $(SETARGV)
-LIBS = $(LIBS) icessl$(LIBSUFFIX).lib
+LIBS = $(LIBS)
!else
LD_TESTFLAGS = $(LD_DLLFLAGS) /export:dllMain
!endif
diff --git a/cpp/test/IceBox/admin/Makefile.mak b/cpp/test/IceBox/admin/Makefile.mak
index b759ec9b6c4..6d46aaa0c36 100644
--- a/cpp/test/IceBox/admin/Makefile.mak
+++ b/cpp/test/IceBox/admin/Makefile.mak
@@ -32,7 +32,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
@@ -44,14 +44,14 @@ $(LIBNAME) : $(DLLNAME)
$(DLLNAME): $(SERVICE_OBJS)
$(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(SETARGV) $(SERVICE_OBJS) $(PREOUT)$(DLLNAME) $(PRELIBS)$(LINKWITH) \
- freeze$(LIBSUFFIX).lib
+
@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)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/IceBox/configuration/Makefile.mak b/cpp/test/IceBox/configuration/Makefile.mak
index 313ffc1bead..631521e5fb9 100644
--- a/cpp/test/IceBox/configuration/Makefile.mak
+++ b/cpp/test/IceBox/configuration/Makefile.mak
@@ -32,7 +32,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
diff --git a/cpp/test/IceGrid/activation/Makefile.mak b/cpp/test/IceGrid/activation/Makefile.mak
index 953a29b82cb..fa8cec71546 100644
--- a/cpp/test/IceGrid/activation/Makefile.mak
+++ b/cpp/test/IceGrid/activation/Makefile.mak
@@ -30,7 +30,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
diff --git a/cpp/test/IceGrid/allocation/Makefile.mak b/cpp/test/IceGrid/allocation/Makefile.mak
index c42ce50a9f0..b253d3b17cb 100644
--- a/cpp/test/IceGrid/allocation/Makefile.mak
+++ b/cpp/test/IceGrid/allocation/Makefile.mak
@@ -35,7 +35,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
diff --git a/cpp/test/IceGrid/deployer/Makefile.mak b/cpp/test/IceGrid/deployer/Makefile.mak
index 3ae86b034f4..337c11e560c 100644
--- a/cpp/test/IceGrid/deployer/Makefile.mak
+++ b/cpp/test/IceGrid/deployer/Makefile.mak
@@ -38,7 +38,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
@@ -50,14 +50,14 @@ $(LIBNAME) : $(DLLNAME)
$(DLLNAME): $(SERVICE_OBJS)
$(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(SETARGV) $(SERVICE_OBJS) $(PREOUT)$(DLLNAME) $(PRELIBS)$(LINKWITH) \
- freeze$(LIBSUFFIX).lib
+
@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)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/IceGrid/distribution/Makefile.mak b/cpp/test/IceGrid/distribution/Makefile.mak
index 252395f9c5e..bab4fa0c65b 100644
--- a/cpp/test/IceGrid/distribution/Makefile.mak
+++ b/cpp/test/IceGrid/distribution/Makefile.mak
@@ -30,7 +30,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS)
-LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
diff --git a/cpp/test/IceGrid/noRestartUpdate/Makefile.mak b/cpp/test/IceGrid/noRestartUpdate/Makefile.mak
index 63b37ed4097..14e0b84b846 100644
--- a/cpp/test/IceGrid/noRestartUpdate/Makefile.mak
+++ b/cpp/test/IceGrid/noRestartUpdate/Makefile.mak
@@ -38,7 +38,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
@@ -49,7 +49,7 @@ $(LIBNAME) : $(DLLNAME)
$(DLLNAME): $(SERVICE_OBJS)
$(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(SETARGV) $(SERVICE_OBJS) $(PREOUT)$(DLLNAME) $(PRELIBS)$(LINKWITH) \
- freeze$(LIBSUFFIX).lib
+
@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)
diff --git a/cpp/test/IceGrid/replicaGroup/Makefile.mak b/cpp/test/IceGrid/replicaGroup/Makefile.mak
index ec31e9d7d33..7627b438847 100644
--- a/cpp/test/IceGrid/replicaGroup/Makefile.mak
+++ b/cpp/test/IceGrid/replicaGroup/Makefile.mak
@@ -41,7 +41,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(DLLNAME:.dll=.pdb)
@@ -61,14 +61,14 @@ $(PLUGINLIBNAME) : $(PLUGINDLLNAME)
$(PLUGINDLLNAME): RegistryPlugin.obj
$(LINK) $(LD_DLLFLAGS) $(PDBFLAGS) $(SETARGV) RegistryPlugin.obj $(PREOUT)$(PLUGINDLLNAME) $(PRELIBS)$(LINKWITH) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#2 && del /q $@.manifest
@if exist $(PLUGINDLLNAME:.dll=.exp) del /q $(PLUGINDLLNAME:.dll=.exp)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/IceGrid/replication/Makefile.mak b/cpp/test/IceGrid/replication/Makefile.mak
index e9d0a450efb..4b191e0cc82 100644
--- a/cpp/test/IceGrid/replication/Makefile.mak
+++ b/cpp/test/IceGrid/replication/Makefile.mak
@@ -30,7 +30,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icebox$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
@@ -39,7 +39,7 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
$(CLIENT): $(COBJS)
$(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) \
- icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/IceGrid/session/Makefile.mak b/cpp/test/IceGrid/session/Makefile.mak
index f41473fc106..0756a4e5b81 100644
--- a/cpp/test/IceGrid/session/Makefile.mak
+++ b/cpp/test/IceGrid/session/Makefile.mak
@@ -35,7 +35,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) glacier2$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
@@ -44,17 +44,17 @@ VPDBFLAGS = /pdb:$(VERIFIER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) icegrid$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(VERIFIER): $(VOBJS)
- $(LINK) $(LD_EXEFLAGS) $(VPDBFLAGS) $(SETARGV) $(VOBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) icessl$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(VPDBFLAGS) $(SETARGV) $(VOBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH) icessl$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LINKWITH)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/IceGrid/simple/Makefile.mak b/cpp/test/IceGrid/simple/Makefile.mak
index e4cd9122107..b9682c1a92a 100644
--- a/cpp/test/IceGrid/simple/Makefile.mak
+++ b/cpp/test/IceGrid/simple/Makefile.mak
@@ -30,7 +30,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
diff --git a/cpp/test/IceGrid/update/Makefile.mak b/cpp/test/IceGrid/update/Makefile.mak
index 92159e0fb24..cdefafc026c 100644
--- a/cpp/test/IceGrid/update/Makefile.mak
+++ b/cpp/test/IceGrid/update/Makefile.mak
@@ -30,7 +30,7 @@ OBJS = $(COBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LINKWITH = $(LIBS) icegrid$(LIBSUFFIX).lib glacier2$(LIBSUFFIX).lib
+LINKWITH = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
diff --git a/cpp/test/IceSSL/configuration/Makefile.mak b/cpp/test/IceSSL/configuration/Makefile.mak
index b8e2999a10e..8bb061d8b60 100644
--- a/cpp/test/IceSSL/configuration/Makefile.mak
+++ b/cpp/test/IceSSL/configuration/Makefile.mak
@@ -37,12 +37,12 @@ SPDBFLAGS = /pdb:$(SERVER:.exe=.pdb)
!endif
$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) icessl$(LIBSUFFIX).lib $(SSL_OS_LIBS)
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) $(SSL_OS_LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS) icessl$(LIBSUFFIX).lib
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/IceStorm/federation/Makefile.mak b/cpp/test/IceStorm/federation/Makefile.mak
index 3ec223e190f..401e5a8e499 100644
--- a/cpp/test/IceStorm/federation/Makefile.mak
+++ b/cpp/test/IceStorm/federation/Makefile.mak
@@ -28,7 +28,7 @@ OBJS = $(POBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
+LIBS = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
diff --git a/cpp/test/IceStorm/federation2/Makefile.mak b/cpp/test/IceStorm/federation2/Makefile.mak
index e379435e0c1..e063b46b105 100644
--- a/cpp/test/IceStorm/federation2/Makefile.mak
+++ b/cpp/test/IceStorm/federation2/Makefile.mak
@@ -29,7 +29,7 @@ OBJS = $(POBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
+LIBS = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
diff --git a/cpp/test/IceStorm/rep1/Makefile.mak b/cpp/test/IceStorm/rep1/Makefile.mak
index 844982f991b..9fd0a472413 100644
--- a/cpp/test/IceStorm/rep1/Makefile.mak
+++ b/cpp/test/IceStorm/rep1/Makefile.mak
@@ -33,7 +33,7 @@ OBJS = $(POBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
+LIBS = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
diff --git a/cpp/test/IceStorm/repgrid/Makefile.mak b/cpp/test/IceStorm/repgrid/Makefile.mak
index 57e5a62b487..f818059f56e 100644
--- a/cpp/test/IceStorm/repgrid/Makefile.mak
+++ b/cpp/test/IceStorm/repgrid/Makefile.mak
@@ -21,7 +21,7 @@ OBJS = $(SLICE_OBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
+LIBS = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
CPDBFLAGS = /pdb:$(CLIENT:.exe=.pdb)
diff --git a/cpp/test/IceStorm/repstress/Makefile.mak b/cpp/test/IceStorm/repstress/Makefile.mak
index 49da70bb431..3993ed67cd7 100644
--- a/cpp/test/IceStorm/repstress/Makefile.mak
+++ b/cpp/test/IceStorm/repstress/Makefile.mak
@@ -35,7 +35,7 @@ OBJS = $(POBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
+LIBS = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
diff --git a/cpp/test/IceStorm/single/Makefile.mak b/cpp/test/IceStorm/single/Makefile.mak
index 42df6481f1e..8d6fcba927d 100644
--- a/cpp/test/IceStorm/single/Makefile.mak
+++ b/cpp/test/IceStorm/single/Makefile.mak
@@ -29,7 +29,7 @@ OBJS = $(POBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
+LIBS = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
diff --git a/cpp/test/IceStorm/stress/Makefile.mak b/cpp/test/IceStorm/stress/Makefile.mak
index 5908a6dcf8b..05f00bb7492 100644
--- a/cpp/test/IceStorm/stress/Makefile.mak
+++ b/cpp/test/IceStorm/stress/Makefile.mak
@@ -29,7 +29,7 @@ OBJS = $(POBJS) \
!include $(top_srcdir)/config/Make.rules.mak
CPPFLAGS = -I. -I../../include $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-LIBS = icestorm$(LIBSUFFIX).lib $(LIBS)
+LIBS = $(LIBS)
!if "$(GENERATE_PDB)" == "yes"
PPDBFLAGS = /pdb:$(PUBLISHER:.exe=.pdb)
diff --git a/cpp/test/Makefile b/cpp/test/Makefile
index 7dc829d0dbf..e01ed65e09e 100644
--- a/cpp/test/Makefile
+++ b/cpp/test/Makefile
@@ -14,7 +14,8 @@ include $(top_srcdir)/config/Make.rules
SUBDIRS = IceUtil \
Slice \
Ice \
- IceSSL
+ IceSSL \
+ IceDiscovery
ifeq ($(findstring MINGW,$(UNAME)),)
SUBDIRS := $(SUBDIRS) \
@@ -23,11 +24,9 @@ SUBDIRS := $(SUBDIRS) \
Freeze \
FreezeScript \
Glacier2 \
- IceGrid \
- IceDiscovery
+ IceGrid
endif
-
.PHONY: $(EVERYTHING) $(SUBDIRS)
all:: $(SUBDIRS)
diff --git a/cpp/test/Makefile.mak b/cpp/test/Makefile.mak
index e6a0f1f11ee..9fa0c1c57bc 100644
--- a/cpp/test/Makefile.mak
+++ b/cpp/test/Makefile.mak
@@ -15,12 +15,17 @@ top_srcdir = ..
SUBDIRS = Ice
+!elseif "$(CPP_COMPILER)" == "VC100"
+SUBDIRS = IceUtil \
+ Slice \
+ Ice \
+ IceSSL \
+ IceDiscovery
!else
-
SUBDIRS = IceUtil \
Slice \
Ice \
- IceSSL \
+ IceSSL \
Glacier2 \
Freeze \
IceStorm \
diff --git a/demoscript/Util.py b/demoscript/Util.py
index 7489ef6e022..d7b01784db2 100644
--- a/demoscript/Util.py
+++ b/demoscript/Util.py
@@ -170,7 +170,7 @@ def getCppCompiler():
config = open(os.path.join(toplevel, "config", "Make.rules.mak"), "r")
if config != None:
compiler = re.search("CPP_COMPILER[\t\s]*= ([A-Z0-9]*)", config.read()).group(1)
- if compiler != "VC90" and compiler != "VC100" and compiler != "VC110" and compiler != "VC120":
+ if compiler != "VC100" and compiler != "VC110" and compiler != "VC120":
compiler = ""
if compiler == "":
@@ -179,9 +179,7 @@ def getCppCompiler():
print("Cannot detect C++ compiler")
sys.exit(1)
l = p.stdout.readline().decode("utf-8").strip()
- if l.find("Version 15") != -1:
- compiler = "VC90"
- elif l.find("Version 16") != -1:
+ if l.find("Version 16") != -1:
compiler = "VC100"
elif l.find("Version 17") != -1:
compiler = "VC110"
@@ -251,8 +249,6 @@ def configurePaths():
if getMapping() != "py":
if getCppCompiler() == "VC110":
subdir = "vc110"
- elif getCppCompiler() == "VC120":
- subdir = "vc120"
if subdir:
binDir = os.path.join(binDir, subdir)
@@ -372,6 +368,9 @@ def getIceDir(subdir = None):
else:
return toplevel
+def isBinDist():
+ getIceDir() != os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
+
def isWin32():
return sys.platform == "win32"
diff --git a/php/config/Make.rules.mak.php b/php/config/Make.rules.mak.php
index a8435fcafcd..27094b998af 100644
--- a/php/config/Make.rules.mak.php
+++ b/php/config/Make.rules.mak.php
@@ -131,7 +131,10 @@ LIBSUFFIX = $(LIBSUFFIX)d
RCFLAGS = -D_DEBUG
!endif
-ICE_LIBS = ice$(LIBSUFFIX).lib iceutil$(LIBSUFFIX).lib slice$(LIBSUFFIX).lib
+#
+# Import libraries are located automatically
+#
+ICE_LIBS =
!if "$(ice_src_dist)" != ""
ICE_CPPFLAGS = -I"$(ice_cpp_dir)\include"
diff --git a/py/allDemos.py b/py/allDemos.py
index 2245e1700f5..d84ba1c5df3 100755
--- a/py/allDemos.py
+++ b/py/allDemos.py
@@ -36,12 +36,16 @@ demos = [
"Ice/session",
"Ice/throughput",
"Ice/value",
- "IceStorm/clock",
- "IceGrid/simple",
- "Glacier2/callback",
"book/printer",
"book/simple_filesystem"
]
+#
+# In Windows service demos only run when using a bin dist,
+# we don't build Ice services with VC100
+#
+if not Util.isWin32() or Util.isBinDist():
+ demos += ["IceStorm/clock", "IceGrid/simple", "Glacier2/callback"]
+
if __name__ == "__main__":
Util.run(demos)
diff --git a/py/config/Make.rules.mak b/py/config/Make.rules.mak
index 3059f008161..2255cb387fe 100644
--- a/py/config/Make.rules.mak
+++ b/py/config/Make.rules.mak
@@ -89,7 +89,10 @@ PYLIBSUFFIX = _$(LIBSUFFIX)
RCFLAGS = -D_DEBUG
!endif
-ICE_LIBS = ice$(LIBSUFFIX).lib iceutil$(LIBSUFFIX).lib slice$(LIBSUFFIX).lib
+#
+# Import libraries are located automatically
+#
+ICE_LIBS =
!if "$(ice_src_dist)" != ""
ICE_CPPFLAGS = -I"$(ice_cpp_dir)\include"
diff --git a/py/test/Ice/operations/AllTests.py b/py/test/Ice/operations/AllTests.py
index e9533aa4ae1..5cd864bd2d5 100644
--- a/py/test/Ice/operations/AllTests.py
+++ b/py/test/Ice/operations/AllTests.py
@@ -7,7 +7,7 @@
#
# **********************************************************************
-import Ice, Test, Twoways, TwowaysAMI, TwowaysNewAMI, Oneways, OnewaysAMI, OnewaysNewAMI, BatchOneways, sys
+import Ice, Test, Twoways, TwowaysAMI, Oneways, OnewaysAMI, BatchOneways, sys
import BatchOnewaysAMI
def test(b):
diff --git a/scripts/TestUtil.py b/scripts/TestUtil.py
index cde967e2470..1554196f904 100755
--- a/scripts/TestUtil.py
+++ b/scripts/TestUtil.py
@@ -95,7 +95,7 @@ def getCppCompiler():
else:
config = open(os.path.join(toplevel, "cpp", "config", "Make.rules.mak"), "r")
compiler = re.search("CPP_COMPILER[\t\s]*= ([A-Z0-9]*)", config.read()).group(1)
- if compiler != "VC90" and compiler != "VC100" and compiler != "VC110" and compiler != "VC120":
+ if compiler != "VC100" and compiler != "VC110" and compiler != "VC120":
compiler = ""
if compiler == "":
@@ -104,9 +104,7 @@ def getCppCompiler():
print("Cannot detect C++ compiler")
sys.exit(1)
l = p.stdout.readline().decode("utf-8").strip()
- if l.find("Version 15") != -1:
- compiler = "VC90"
- elif l.find("Version 16") != -1:
+ if l.find("Version 16") != -1:
compiler = "VC100"
elif l.find("Version 17") != -1:
compiler = "VC110"
@@ -124,22 +122,20 @@ def isMINGW():
# we check for this variable to detect the Ruby MINGW environment.
return "RI_DEVKIT" in os.environ
-def isVC90():
+def isVC100():
if not isWin32():
return False
- return getCppCompiler() == "VC90"
+ return getCppCompiler() == "VC100"
-def isVS2012():
+def isVC110():
if not isWin32():
return False
- compiler = getCppCompiler()
- return compiler == "VC110"
+ return getCppCompiler() == "VC110"
-def isVS2013():
+def isVC120():
if not isWin32():
return False
- compiler = getCppCompiler()
- return compiler == "VC120"
+ return getCppCompiler() == "VC120"
#
# The PHP interpreter is called "php5" on some platforms (e.g., SLES).
@@ -1534,10 +1530,8 @@ def getCppBinDir(lang = None):
if lang == None:
lang = getDefaultMapping()
if lang == "cpp":
- if isVS2012():
+ if isVC110():
binDir = os.path.join(binDir, "vc110")
- elif isVS2013():
- binDir = os.path.join(binDir, "vc120")
if x64:
if isSolaris():
if isSparc():
@@ -1967,8 +1961,8 @@ def runTests(start, expanded, num = 0, script = False):
print("%s*** test only supported under Win32%s" % (prefix, suffix))
continue
- if isVC90() and "novc90" in config:
- print("%s*** test not supported with VC++ 9.0%s" % (prefix, suffix))
+ if isVC100() and "novc100" in config:
+ print("%s*** test not supported with VC++ 10.0%s" % (prefix, suffix))
continue
if isMINGW() and "nomingw" in config:
@@ -1976,7 +1970,7 @@ def runTests(start, expanded, num = 0, script = False):
continue
if isWin32() and "nowin32" in config:
- print("%s*** test not supported with MINGW%s" % (prefix, suffix))
+ print("%s*** test not supported with Win32%s" % (prefix, suffix))
continue
# If this is mono and we're running ssl protocol tests
diff --git a/slice/Glacier2/Metrics.ice b/slice/Glacier2/Metrics.ice
index 90378da6c6b..da19ae7b9a4 100644
--- a/slice/Glacier2/Metrics.ice
+++ b/slice/Glacier2/Metrics.ice
@@ -7,6 +7,11 @@
//
// **********************************************************************
+#pragma once
+
+[["cpp:header-ext:h"]]
+[["cpp:include:Glacier2/Config.h"]]
+
#include <Ice/Metrics.ice>
module IceMX
diff --git a/slice/Glacier2/PermissionsVerifier.ice b/slice/Glacier2/PermissionsVerifier.ice
index 6ced8923923..ba0327f0e1f 100644
--- a/slice/Glacier2/PermissionsVerifier.ice
+++ b/slice/Glacier2/PermissionsVerifier.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:Glacier2/Config.h"]]
#include <Glacier2/SSLInfo.ice>
diff --git a/slice/Glacier2/Router.ice b/slice/Glacier2/Router.ice
index 72930dc539e..719f98f97fb 100644
--- a/slice/Glacier2/Router.ice
+++ b/slice/Glacier2/Router.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:Glacier2/Config.h"]]
#include <Ice/Router.ice>
#include <Glacier2/Session.ice>
diff --git a/slice/Glacier2/SSLInfo.ice b/slice/Glacier2/SSLInfo.ice
index 3799fe97e7d..d60643c012a 100644
--- a/slice/Glacier2/SSLInfo.ice
+++ b/slice/Glacier2/SSLInfo.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:Glacier2/Config.h"]]
#include <Ice/BuiltinSequences.ice>
diff --git a/slice/Glacier2/Session.ice b/slice/Glacier2/Session.ice
index e2a702858a4..90d49d0da90 100644
--- a/slice/Glacier2/Session.ice
+++ b/slice/Glacier2/Session.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:Glacier2/Config.h"]]
#include <Ice/BuiltinSequences.ice>
#include <Ice/Identity.ice>
diff --git a/slice/Ice/Metrics.ice b/slice/Ice/Metrics.ice
index 4ac744647de..b8251351089 100644
--- a/slice/Ice/Metrics.ice
+++ b/slice/Ice/Metrics.ice
@@ -7,6 +7,10 @@
//
// **********************************************************************
+#pragma once
+
+[["cpp:header-ext:h"]]
+
#include <Ice/BuiltinSequences.ice>
/**
diff --git a/slice/IceBox/IceBox.ice b/slice/IceBox/IceBox.ice
index 06a3dd3344c..af5c81c6bbf 100644
--- a/slice/IceBox/IceBox.ice
+++ b/slice/IceBox/IceBox.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceBox/Config.h"]]
#include <Ice/BuiltinSequences.ice>
#include <Ice/CommunicatorF.ice>
diff --git a/slice/IceDiscovery/IceDiscovery.ice b/slice/IceDiscovery/IceDiscovery.ice
index a6c237c4dbc..5a5e63e64ab 100644
--- a/slice/IceDiscovery/IceDiscovery.ice
+++ b/slice/IceDiscovery/IceDiscovery.ice
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2013 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -8,6 +8,7 @@
// **********************************************************************
#pragma once
+[["cpp:header-ext:h"]]
#include <Ice/Identity.ice>
diff --git a/slice/IceGrid/Admin.ice b/slice/IceGrid/Admin.ice
index 5236b210a96..a16e9e67367 100644
--- a/slice/IceGrid/Admin.ice
+++ b/slice/IceGrid/Admin.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
#include <Ice/Identity.ice>
#include <Ice/BuiltinSequences.ice>
diff --git a/slice/IceGrid/Descriptor.ice b/slice/IceGrid/Descriptor.ice
index 8d6e8a2958f..24fb225a1a8 100644
--- a/slice/IceGrid/Descriptor.ice
+++ b/slice/IceGrid/Descriptor.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
#include <Ice/Identity.ice>
#include <Ice/BuiltinSequences.ice>
diff --git a/slice/IceGrid/Discovery.ice b/slice/IceGrid/Discovery.ice
index f797f15e195..950a8c9148e 100644
--- a/slice/IceGrid/Discovery.ice
+++ b/slice/IceGrid/Discovery.ice
@@ -9,6 +9,9 @@
#pragma once
+[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
+
#include <IceGrid/Locator.ice>
module IceGrid
diff --git a/slice/IceGrid/Exception.ice b/slice/IceGrid/Exception.ice
index 1d33ae6fb39..2177c7e5377 100644
--- a/slice/IceGrid/Exception.ice
+++ b/slice/IceGrid/Exception.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
#include <Ice/Identity.ice>
#include <Ice/BuiltinSequences.ice>
diff --git a/slice/IceGrid/FileParser.ice b/slice/IceGrid/FileParser.ice
index 12e2b11a796..175cdfc560d 100644
--- a/slice/IceGrid/FileParser.ice
+++ b/slice/IceGrid/FileParser.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
#include <IceGrid/Admin.ice>
diff --git a/slice/IceGrid/Locator.ice b/slice/IceGrid/Locator.ice
index 939554f1549..0760b6b0891 100644
--- a/slice/IceGrid/Locator.ice
+++ b/slice/IceGrid/Locator.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
#include <Ice/Locator.ice>
diff --git a/slice/IceGrid/Observer.ice b/slice/IceGrid/Observer.ice
index fc0d6e3f079..44c08107c94 100644
--- a/slice/IceGrid/Observer.ice
+++ b/slice/IceGrid/Observer.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
#include <Glacier2/Session.ice>
#include <IceGrid/Exception.ice>
diff --git a/slice/IceGrid/PluginFacade.ice b/slice/IceGrid/PluginFacade.ice
index 78728a06432..c67fa84c1bd 100644
--- a/slice/IceGrid/PluginFacade.ice
+++ b/slice/IceGrid/PluginFacade.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
#include <Ice/BuiltinSequences.ice>
#include <Ice/Current.ice>
diff --git a/slice/IceGrid/Query.ice b/slice/IceGrid/Query.ice
index 4846238dfcf..93c353facbc 100644
--- a/slice/IceGrid/Query.ice
+++ b/slice/IceGrid/Query.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
#include <Ice/Identity.ice>
#include <Ice/BuiltinSequences.ice>
diff --git a/slice/IceGrid/Registry.ice b/slice/IceGrid/Registry.ice
index 67993988287..941f35ec5be 100644
--- a/slice/IceGrid/Registry.ice
+++ b/slice/IceGrid/Registry.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
#include <IceGrid/Exception.ice>
#include <IceGrid/Session.ice>
diff --git a/slice/IceGrid/Session.ice b/slice/IceGrid/Session.ice
index 2685a962083..1c56d203899 100644
--- a/slice/IceGrid/Session.ice
+++ b/slice/IceGrid/Session.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
#include <Glacier2/Session.ice>
#include <IceGrid/Exception.ice>
diff --git a/slice/IceGrid/UserAccountMapper.ice b/slice/IceGrid/UserAccountMapper.ice
index cc55661e3a4..69d26b03c29 100644
--- a/slice/IceGrid/UserAccountMapper.ice
+++ b/slice/IceGrid/UserAccountMapper.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceGrid/Config.h"]]
module IceGrid
{
diff --git a/slice/IcePatch2/FileInfo.ice b/slice/IcePatch2/FileInfo.ice
index 0a596c93e57..ea4a3bc1953 100644
--- a/slice/IcePatch2/FileInfo.ice
+++ b/slice/IcePatch2/FileInfo.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IcePatch2/Config.h"]]
#include <Ice/BuiltinSequences.ice>
diff --git a/slice/IcePatch2/FileServer.ice b/slice/IcePatch2/FileServer.ice
index 39cd4138237..9e76d44ece5 100644
--- a/slice/IcePatch2/FileServer.ice
+++ b/slice/IcePatch2/FileServer.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IcePatch2/Config.h"]]
#include <IcePatch2/FileInfo.ice>
diff --git a/slice/IceStorm/IceStorm.ice b/slice/IceStorm/IceStorm.ice
index 4b48c8a401a..fe4913ba657 100644
--- a/slice/IceStorm/IceStorm.ice
+++ b/slice/IceStorm/IceStorm.ice
@@ -10,6 +10,7 @@
#pragma once
[["cpp:header-ext:h"]]
+[["cpp:include:IceStorm/Config.h"]]
#include <Ice/Identity.ice>
#include <Ice/SliceChecksumDict.ice>
diff --git a/slice/IceStorm/Metrics.ice b/slice/IceStorm/Metrics.ice
index 39936896d75..737cad4db53 100644
--- a/slice/IceStorm/Metrics.ice
+++ b/slice/IceStorm/Metrics.ice
@@ -7,6 +7,11 @@
//
// **********************************************************************
+#pragma once
+
+[["cpp:header-ext:h"]]
+[["cpp:include:IceStorm/Config.h"]]
+
#include <Ice/Metrics.ice>
module IceMX
diff --git a/vsaddin/config/Ice.props b/vsaddin/config/Ice.props
index a8c65dba28d..38ba98e2695 100644
--- a/vsaddin/config/Ice.props
+++ b/vsaddin/config/Ice.props
@@ -2,7 +2,7 @@
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="!Exists('$(IceSourceHome)')">
- <IceHome>$(Registry:HKEY_LOCAL_MACHINE\Software\ZeroC\Ice 3.6.51@InstallDir)</IceHome>
+ <IceHome>$(Registry:HKEY_LOCAL_MACHINE\Software\ZeroC\Ice 3.6b@InstallDir)</IceHome>
<IceInclude>$(IceHome)\include</IceInclude>
</PropertyGroup>
@@ -17,13 +17,13 @@
</PropertyGroup>
<PropertyGroup Condition="!Exists('$(IceSourceHome)') And '$(Platform)' == 'Win32' And '$(PlatformToolset)' == 'v120'">
- <IceLib>$(IceHome)\lib\vc120</IceLib>
- <IceBin>$(IceHome)\bin\vc120</IceBin>
+ <IceLib>$(IceHome)\lib</IceLib>
+ <IceBin>$(IceHome)\bin</IceBin>
</PropertyGroup>
<PropertyGroup Condition="!Exists('$(IceSourceHome)') And '$(Platform)' != 'Win32' And '$(PlatformToolset)' == 'v120'">
- <IceLib>$(IceHome)\lib\vc120\$(Platform)</IceLib>
- <IceBin>$(IceHome)\bin\vc120\$(Platform)</IceBin>
+ <IceLib>$(IceHome)\lib\$(Platform)</IceLib>
+ <IceBin>$(IceHome)\bin\$(Platform)</IceBin>
</PropertyGroup>
<PropertyGroup Condition="Exists('$(IceSourceHome)')">
diff --git a/vsaddin/src/Builder.cs b/vsaddin/src/Builder.cs
index 675fa15240e..72f668deec0 100644
--- a/vsaddin/src/Builder.cs
+++ b/vsaddin/src/Builder.cs
@@ -786,24 +786,6 @@ namespace Ice.VisualStudio
if(Util.isCppProject(project))
{
Util.addIceCppConfigurations(project);
- if(components.Count == 0)
- {
- components =
- new ComponentList(Util.getProjectProperty(project, Util.PropertyIceComponents));
- }
-
- if(!components.Contains("Ice"))
- {
- components.Add("Ice");
- }
- if(!Util.isWinRTProject(project))
- {
- if(!components.Contains("IceUtil"))
- {
- components.Add("IceUtil");
- }
- }
- Util.addIceCppLibs(project, components);
}
else
{
@@ -1249,20 +1231,9 @@ namespace Ice.VisualStudio
VCCLCompilerTool compilerTool =
(VCCLCompilerTool)(((IVCCollection)conf.Tools).Item("VCCLCompilerTool"));
- bool staticLib = conf.ConfigurationType == Microsoft.VisualStudio.VCProjectEngine.ConfigurationTypes.typeStaticLibrary;
- LinkerAdapter linkerAdapter;
- if(staticLib)
- {
- linkerAdapter = new StaticLinkerAdapter((VCLibrarianTool)(((IVCCollection)conf.Tools).Item("VCLibrarianTool")));
- }
- else
- {
- linkerAdapter = new DynamicLinkerAdapter((VCLinkerTool)(((IVCCollection)conf.Tools).Item("VCLinkerTool")));
- }
-
if(!_opening)
{
- Util.checkCppRunTimeLibrary(this, project, compilerTool, linkerAdapter);
+ Util.checkCppRunTimeLibrary(this, project, compilerTool);
}
string sliceCompiler = getSliceCompilerPath(project);
return buildCppProject(project, project.ProjectItems, sliceCompiler, force, ref buildedItems);
diff --git a/vsaddin/src/IceCppConfigurationDialog.Designer.cs b/vsaddin/src/IceCppConfigurationDialog.Designer.cs
index 0cab9586adf..bc8489bc24e 100644
--- a/vsaddin/src/IceCppConfigurationDialog.Designer.cs
+++ b/vsaddin/src/IceCppConfigurationDialog.Designer.cs
@@ -39,14 +39,6 @@ namespace Ice.VisualStudio
{
this.components = new System.ComponentModel.Container();
this.chkEnableBuilder = new System.Windows.Forms.CheckBox();
- this.groupBox3 = new System.Windows.Forms.GroupBox();
- this.chkFreeze = new System.Windows.Forms.CheckBox();
- this.chkIceStorm = new System.Windows.Forms.CheckBox();
- this.chkIceSSL = new System.Windows.Forms.CheckBox();
- this.chkIcePatch2 = new System.Windows.Forms.CheckBox();
- this.chkIceGrid = new System.Windows.Forms.CheckBox();
- this.chkIceBox = new System.Windows.Forms.CheckBox();
- this.chkGlacier2 = new System.Windows.Forms.CheckBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.chkChecksum = new System.Windows.Forms.CheckBox();
this.chkIcePrefix = new System.Windows.Forms.CheckBox();
@@ -62,7 +54,6 @@ namespace Ice.VisualStudio
this.outputDirView = new Ice.VisualStudio.OutputDirView();
this.includePathView = new Ice.VisualStudio.IncludePathView();
this.extraCompilerOptions = new Ice.VisualStudio.ExtraCompilerOptionsView();
- this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.grouDllExportSymbol.SuspendLayout();
this.SuspendLayout();
@@ -78,99 +69,6 @@ namespace Ice.VisualStudio
this.chkEnableBuilder.UseVisualStyleBackColor = true;
this.chkEnableBuilder.CheckedChanged += new System.EventHandler(this.chkEnableBuilder_CheckedChanged);
//
- // groupBox3
- //
- this.groupBox3.Controls.Add(this.chkFreeze);
- this.groupBox3.Controls.Add(this.chkIceStorm);
- this.groupBox3.Controls.Add(this.chkIceSSL);
- this.groupBox3.Controls.Add(this.chkIcePatch2);
- this.groupBox3.Controls.Add(this.chkIceGrid);
- this.groupBox3.Controls.Add(this.chkIceBox);
- this.groupBox3.Controls.Add(this.chkGlacier2);
- this.groupBox3.Location = new System.Drawing.Point(4, 474);
- this.groupBox3.Name = "groupBox3";
- this.groupBox3.Size = new System.Drawing.Size(487, 70);
- this.groupBox3.TabIndex = 8;
- this.groupBox3.TabStop = false;
- this.groupBox3.Text = "Link project with these additional libraries:";
- //
- // chkFreeze
- //
- this.chkFreeze.AutoSize = true;
- this.chkFreeze.Location = new System.Drawing.Point(7, 19);
- this.chkFreeze.Name = "chkFreeze";
- this.chkFreeze.Size = new System.Drawing.Size(58, 17);
- this.chkFreeze.TabIndex = 0;
- this.chkFreeze.Text = "Freeze";
- this.chkFreeze.UseVisualStyleBackColor = true;
- this.chkFreeze.CheckedChanged += new System.EventHandler(this.component_Changed);
- //
- // chkIceStorm
- //
- this.chkIceStorm.AutoSize = true;
- this.chkIceStorm.Location = new System.Drawing.Point(7, 42);
- this.chkIceStorm.Name = "chkIceStorm";
- this.chkIceStorm.Size = new System.Drawing.Size(68, 17);
- this.chkIceStorm.TabIndex = 6;
- this.chkIceStorm.Text = "IceStorm";
- this.chkIceStorm.UseVisualStyleBackColor = true;
- this.chkIceStorm.CheckedChanged += new System.EventHandler(this.component_Changed);
- //
- // chkIceSSL
- //
- this.chkIceSSL.AutoSize = true;
- this.chkIceSSL.Location = new System.Drawing.Point(364, 19);
- this.chkIceSSL.Name = "chkIceSSL";
- this.chkIceSSL.Size = new System.Drawing.Size(61, 17);
- this.chkIceSSL.TabIndex = 5;
- this.chkIceSSL.Text = "IceSSL";
- this.chkIceSSL.UseVisualStyleBackColor = true;
- this.chkIceSSL.CheckedChanged += new System.EventHandler(this.component_Changed);
- //
- // chkIcePatch2
- //
- this.chkIcePatch2.AutoSize = true;
- this.chkIcePatch2.Location = new System.Drawing.Point(281, 19);
- this.chkIcePatch2.Name = "chkIcePatch2";
- this.chkIcePatch2.Size = new System.Drawing.Size(75, 17);
- this.chkIcePatch2.TabIndex = 4;
- this.chkIcePatch2.Text = "IcePatch2";
- this.chkIcePatch2.UseVisualStyleBackColor = true;
- this.chkIcePatch2.CheckedChanged += new System.EventHandler(this.component_Changed);
- //
- // chkIceGrid
- //
- this.chkIceGrid.AutoSize = true;
- this.chkIceGrid.Location = new System.Drawing.Point(213, 19);
- this.chkIceGrid.Name = "chkIceGrid";
- this.chkIceGrid.Size = new System.Drawing.Size(60, 17);
- this.chkIceGrid.TabIndex = 3;
- this.chkIceGrid.Text = "IceGrid";
- this.chkIceGrid.UseVisualStyleBackColor = true;
- this.chkIceGrid.CheckedChanged += new System.EventHandler(this.component_Changed);
- //
- // chkIceBox
- //
- this.chkIceBox.AutoSize = true;
- this.chkIceBox.Location = new System.Drawing.Point(146, 19);
- this.chkIceBox.Name = "chkIceBox";
- this.chkIceBox.Size = new System.Drawing.Size(59, 17);
- this.chkIceBox.TabIndex = 2;
- this.chkIceBox.Text = "IceBox";
- this.chkIceBox.UseVisualStyleBackColor = true;
- this.chkIceBox.CheckedChanged += new System.EventHandler(this.component_Changed);
- //
- // chkGlacier2
- //
- this.chkGlacier2.AutoSize = true;
- this.chkGlacier2.Location = new System.Drawing.Point(73, 19);
- this.chkGlacier2.Name = "chkGlacier2";
- this.chkGlacier2.Size = new System.Drawing.Size(65, 17);
- this.chkGlacier2.TabIndex = 1;
- this.chkGlacier2.Text = "Glacier2";
- this.chkGlacier2.UseVisualStyleBackColor = true;
- this.chkGlacier2.CheckedChanged += new System.EventHandler(this.component_Changed);
- //
// groupBox4
//
this.groupBox4.Controls.Add(this.chkChecksum);
@@ -219,7 +117,7 @@ namespace Ice.VisualStudio
// label1
//
this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(297, 10);
+ this.label1.Location = new System.Drawing.Point(297, -62);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(67, 13);
this.label1.TabIndex = 1;
@@ -242,7 +140,7 @@ namespace Ice.VisualStudio
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.btnCancel.Location = new System.Drawing.Point(333, 550);
+ this.btnCancel.Location = new System.Drawing.Point(333, 478);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(75, 23);
this.btnCancel.TabIndex = 10;
@@ -272,7 +170,7 @@ namespace Ice.VisualStudio
//
// btnOk
//
- this.btnOk.Location = new System.Drawing.Point(250, 550);
+ this.btnOk.Location = new System.Drawing.Point(250, 478);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(75, 23);
this.btnOk.TabIndex = 9;
@@ -282,7 +180,7 @@ namespace Ice.VisualStudio
//
// btnApply
//
- this.btnApply.Location = new System.Drawing.Point(416, 550);
+ this.btnApply.Location = new System.Drawing.Point(416, 478);
this.btnApply.Name = "btnApply";
this.btnApply.Size = new System.Drawing.Size(75, 23);
this.btnApply.TabIndex = 11;
@@ -317,7 +215,7 @@ namespace Ice.VisualStudio
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnCancel;
- this.ClientSize = new System.Drawing.Size(494, 583);
+ this.ClientSize = new System.Drawing.Size(494, 520);
this.Controls.Add(this.label1);
this.Controls.Add(this.comboBoxVerboseLevel);
this.Controls.Add(this.outputDirView);
@@ -326,7 +224,6 @@ namespace Ice.VisualStudio
this.Controls.Add(this.btnApply);
this.Controls.Add(this.btnOk);
this.Controls.Add(this.grouDllExportSymbol);
- this.Controls.Add(this.groupBox3);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.chkEnableBuilder);
@@ -336,8 +233,6 @@ namespace Ice.VisualStudio
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Ice Configuration";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.formClosing);
- this.groupBox3.ResumeLayout(false);
- this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.grouDllExportSymbol.ResumeLayout(false);
@@ -350,19 +245,11 @@ namespace Ice.VisualStudio
#endregion
private System.Windows.Forms.CheckBox chkEnableBuilder;
- private System.Windows.Forms.GroupBox groupBox3;
- private System.Windows.Forms.CheckBox chkIceStorm;
- private System.Windows.Forms.CheckBox chkIceSSL;
- private System.Windows.Forms.CheckBox chkIcePatch2;
- private System.Windows.Forms.CheckBox chkIceGrid;
- private System.Windows.Forms.CheckBox chkIceBox;
- private System.Windows.Forms.CheckBox chkGlacier2;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.CheckBox chkIcePrefix;
private System.Windows.Forms.CheckBox chkStreaming;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.ToolTip toolTip;
- private System.Windows.Forms.CheckBox chkFreeze;
private System.Windows.Forms.GroupBox grouDllExportSymbol;
private System.Windows.Forms.TextBox txtDllExportSymbol;
private System.Windows.Forms.CheckBox chkChecksum;
diff --git a/vsaddin/src/IceCppConfigurationDialog.cs b/vsaddin/src/IceCppConfigurationDialog.cs
index 4970c03fb64..c0b2fd6c2e9 100644
--- a/vsaddin/src/IceCppConfigurationDialog.cs
+++ b/vsaddin/src/IceCppConfigurationDialog.cs
@@ -29,24 +29,6 @@ namespace Ice.VisualStudio
_project = project;
_winRT = Util.isWinRTProject(_project);
- if(_winRT)
- {
- chkFreeze.Enabled = false;
- chkFreeze.Checked = false;
- chkGlacier2.Enabled = false;
- chkGlacier2.Checked = false;
- chkIceBox.Enabled = false;
- chkIceBox.Checked = false;
- chkIceGrid.Enabled = false;
- chkIceGrid.Checked = false;
- chkIcePatch2.Enabled = false;
- chkIcePatch2.Checked = false;
- chkIceSSL.Enabled = false;
- chkIceSSL.Checked = false;
- chkIceStorm.Enabled = false;
- chkIceStorm.Checked = false;
- }
-
outputDirView.init(this, _project);
includePathView.init(this, _project);
extraCompilerOptions.init(this, project);
@@ -123,78 +105,11 @@ namespace Ice.VisualStudio
includePathView.load();
- loadComponents();
txtDllExportSymbol.Text = Util.getProjectProperty(_project, Util.PropertyIceDllExport);
btnApply.Enabled = false;
Cursor = Cursors.Default;
}
-
- private void loadComponents()
- {
- ComponentList selectedComponents = Util.getIceCppComponents(_project);
- foreach(String s in Util.getCppNames())
- {
- if(selectedComponents.Contains(s))
- {
- checkComponent(s, true);
- }
- else
- {
- checkComponent(s, false);
- }
- }
- }
-
- private void checkComponent(String component, bool check)
- {
- if(editingIncludeDir())
- {
- endEditIncludeDir(true);
- }
- switch(component)
- {
- case "Freeze":
- {
- chkFreeze.Checked = check;
- break;
- }
- case "Glacier2":
- {
- chkGlacier2.Checked = check;
- break;
- }
- case "IceBox":
- {
- chkIceBox.Checked = check;
- break;
- }
- case "IceGrid":
- {
- chkIceGrid.Checked = check;
- break;
- }
- case "IcePatch2":
- {
- chkIcePatch2.Checked = check;
- break;
- }
- case "IceSSL":
- {
- chkIceSSL.Checked = check;
- break;
- }
- case "IceStorm":
- {
- chkIceStorm.Checked = check;
- break;
- }
- default:
- {
- break;
- }
- }
- }
private void chkEnableBuilder_CheckedChanged(object sender, EventArgs e)
{
@@ -209,41 +124,6 @@ namespace Ice.VisualStudio
{
_initialized = false;
setEnabled(chkEnableBuilder.Checked);
- ComponentList components;
- if(chkEnableBuilder.Checked)
- {
- //
- // Enable the components that were previously enabled if any.
- //
- components =
- new ComponentList(Util.getProjectProperty(_project, Util.PropertyIceComponents));
-
- //
- // If there isn't a previous set of componets, we enable the default components.
- //
- if(components.Count == 0)
- {
- components.Add("Ice");
- components.Add("IceUtil");
- }
- for(int i = 0; i < components.Count; ++i)
- {
- checkComponent(components[i], true);
- }
- }
- else
- {
- components = iceComponents();
- }
-
- //
- // Enable / Disable the given set of components
- //
- for(int i = 0; i < components.Count; ++i)
- {
- checkComponent(components[i], chkEnableBuilder.Checked);
- }
-
chkEnableBuilder.Enabled = true;
_initialized = true;
needSave();
@@ -270,17 +150,6 @@ namespace Ice.VisualStudio
extraCompilerOptions.setEnabled(enabled);
txtDllExportSymbol.Enabled = enabled;
-
- if(!_winRT)
- {
- chkFreeze.Enabled = _staticLib ? false : enabled;
- chkIceBox.Enabled = _staticLib ? false : enabled;
- chkIcePatch2.Enabled = _staticLib ? false : enabled;
- chkIceSSL.Enabled = _staticLib ? false : enabled;
- chkGlacier2.Enabled = _staticLib ? false : enabled;
- chkIceGrid.Enabled = _staticLib ? false : enabled;
- chkIceStorm.Enabled = _staticLib ? false : enabled;
- }
}
private void formClosing(object sender, FormClosingEventArgs e)
@@ -419,40 +288,6 @@ namespace Ice.VisualStudio
}
}
- private ComponentList iceComponents()
- {
- ComponentList components = new ComponentList();
- if(chkFreeze.Checked)
- {
- components.Add("Freeze");
- }
- if(chkGlacier2.Checked)
- {
- components.Add("Glacier2");
- }
- if(chkIceBox.Checked)
- {
- components.Add("IceBox");
- }
- if(chkIceGrid.Checked)
- {
- components.Add("IceGrid");
- }
- if(chkIcePatch2.Checked)
- {
- components.Add("IcePatch2");
- }
- if(chkIceSSL.Checked)
- {
- components.Add("IceSSL");
- }
- if(chkIceStorm.Checked)
- {
- components.Add("IceStorm");
- }
- return components;
- }
-
//
// Apply unsaved changes, returns true if new settings are all applied correctly,
// otherwise returns false.
@@ -471,35 +306,22 @@ namespace Ice.VisualStudio
endEditIncludeDir(true);
}
+ bool changed = false;
//
// This must be the first setting to be updated, as other settings cannot be
// updated if the add-in is disabled.
//
- bool enabling = false;
if(chkEnableBuilder.Checked && !Util.isSliceBuilderEnabled(_project))
{
- Util.addBuilderToProject(_project, iceComponents());
- if(!_winRT)
- {
- _changed = true;
- _initialized = false;
- loadComponents();
- _initialized = true;
- enabling = true;
- }
+ Util.addBuilderToProject(_project, new ComponentList());
}
- bool changed = false;
+
if(!outputDirView.apply(ref changed))
{
return false;
}
- if(changed)
- {
- _changed = true;
- }
-
if(chkIcePrefix.Checked != Util.getProjectPropertyAsBool(_project, Util.PropertyIcePrefix))
{
Util.setProjectProperty(_project, Util.PropertyIcePrefix, chkIcePrefix.Checked.ToString());
@@ -545,69 +367,7 @@ namespace Ice.VisualStudio
{
Util.setProjectProperty(_project, Util.PropertyIceDllExport, txtDllExportSymbol.Text);
_changed = true;
- }
-
- ComponentList components = new ComponentList();
- if(!enabling)
- {
-
- if(!_winRT && chkFreeze.Checked != Util.hasIceCppLib(_project, "Freeze"))
- {
- componentChanged("Freeze", chkFreeze.Checked);
- if(!chkFreeze.Checked)
- {
- components.Add("Freeze");
- }
- }
- if(!_winRT && chkGlacier2.Checked != Util.hasIceCppLib(_project, "Glacier2"))
- {
- componentChanged("Glacier2", chkGlacier2.Checked);
- if(!chkGlacier2.Checked)
- {
- components.Add("Glacier2");
- }
- }
- if(!_winRT && chkIceBox.Checked != Util.hasIceCppLib(_project, "IceBox"))
- {
- componentChanged("IceBox", chkIceBox.Checked);
- if(!chkIceBox.Checked)
- {
- components.Add("IceBox");
- }
- }
- if(!_winRT && chkIceGrid.Checked != Util.hasIceCppLib(_project, "IceGrid"))
- {
- componentChanged("IceGrid", chkIceGrid.Checked);
- if(!chkIceGrid.Checked)
- {
- components.Add("IceGrid");
- }
- }
- if(!_winRT && chkIcePatch2.Checked != Util.hasIceCppLib(_project, "IcePatch2"))
- {
- componentChanged("IcePatch2", chkIcePatch2.Checked);
- if(!chkIcePatch2.Checked)
- {
- components.Add("IcePatch2");
- }
- }
- if(!_winRT && chkIceSSL.Checked != Util.hasIceCppLib(_project, "IceSSL"))
- {
- componentChanged("IceSSL", chkIceSSL.Checked);
- if(!chkIceSSL.Checked)
- {
- components.Add("IceSSL");
- }
- }
- if(!_winRT && chkIceStorm.Checked != Util.hasIceCppLib(_project, "IceStorm"))
- {
- componentChanged("IceStorm", chkIceStorm.Checked);
- if(!chkIceStorm.Checked)
- {
- components.Add("IceStorm");
- }
- }
- }
+ }
//
// This must be the last setting to be updated, as we want to update
@@ -615,7 +375,7 @@ namespace Ice.VisualStudio
//
if(!chkEnableBuilder.Checked && Util.isSliceBuilderEnabled(_project))
{
- Util.removeBuilderFromProject(_project, components);
+ Util.removeBuilderFromProject(_project, new ComponentList());
_initialized = false;
load();
_initialized = true;
@@ -686,55 +446,9 @@ namespace Ice.VisualStudio
{
return true;
}
-
- if(!_staticLib && !_winRT)
- {
- // Ice libraries
- if(chkFreeze.Checked != Util.hasIceCppLib(_project, "Freeze"))
- {
- return true;
- }
- if(chkGlacier2.Checked != Util.hasIceCppLib(_project, "Glacier2"))
- {
- return true;
- }
- if(chkIceBox.Checked != Util.hasIceCppLib(_project, "IceBox"))
- {
- return true;
- }
- if(chkIceGrid.Checked != Util.hasIceCppLib(_project, "IceGrid"))
- {
- return true;
- }
- if(chkIcePatch2.Checked != Util.hasIceCppLib(_project, "IcePatch2"))
- {
- return true;
- }
- if(chkIceSSL.Checked != Util.hasIceCppLib(_project, "IceSSL"))
- {
- return true;
- }
- if(chkIceStorm.Checked != Util.hasIceCppLib(_project, "IceStorm"))
- {
- return true;
- }
- }
return false;
}
- private void componentChanged(String name, bool isChecked)
- {
- if(isChecked)
- {
- Util.addIceCppLibs(_project, new ComponentList(name));
- }
- else
- {
- Util.removeIceCppLibs(_project, new ComponentList(name));
- }
- _changed = true;
- }
-
private bool _initialized;
private Project _project;
private bool _staticLib = false;
diff --git a/vsaddin/src/IceCppConfigurationDialog.resx b/vsaddin/src/IceCppConfigurationDialog.resx
index 5deed0a3001..bb86328bfc8 100644
--- a/vsaddin/src/IceCppConfigurationDialog.resx
+++ b/vsaddin/src/IceCppConfigurationDialog.resx
@@ -112,12 +112,12 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root> \ No newline at end of file
diff --git a/vsaddin/src/Util.cs b/vsaddin/src/Util.cs
index 5824b3bfd94..469733e762d 100644
--- a/vsaddin/src/Util.cs
+++ b/vsaddin/src/Util.cs
@@ -306,37 +306,8 @@ namespace Ice.VisualStudio
{
public enum msgLevel{ msgError, msgInfo, msgDebug };
- public static string MajorVersion
- {
- get
- {
- if (_majorVersion == null)
- {
- string[] tokens = Assembly.GetExecutingAssembly().GetName().Version.ToString().Split('.');
- Debug.Assert(tokens.Length > 1);
- _majorVersion = tokens[0];
- }
- return _majorVersion;
- }
- }
- private static string _majorVersion = null;
-
- public static string MinorVersion
- {
- get
- {
- if (_minorVersion == null)
- {
- string[] tokens = Assembly.GetExecutingAssembly().GetName().Version.ToString().Split('.');
- Debug.Assert(tokens.Length > 1);
- _minorVersion = tokens[1];
- }
- return _minorVersion;
- }
- }
- private static string _minorVersion = null;
-
- public const string ProjectVersion = "1";
+ public const string ProjectVersion = "3.6";
+ public const string Version = "3.6";
public const string slice2cs = "slice2cs.exe";
public const string slice2cpp = "slice2cpp.exe";
@@ -361,8 +332,7 @@ namespace Ice.VisualStudio
private static readonly string[] silverlightNames =
{
- "Glacier2", "Ice", "IceGrid", "IcePatch2",
- "IceStorm"
+ "Glacier2", "Ice", "IceGrid", "IcePatch2", "IceStorm"
};
public static string[] getSilverlightNames()
@@ -496,10 +466,9 @@ namespace Ice.VisualStudio
string propSheetFileName = "$(ALLUSERSPROFILE)\\ZeroC\\Ice.props";
//
- // All project configurations must include ice.vsprops (vc90) or IceCommon.props (vc100 | vc110)
+ // All project configurations must include Ice.props
//
IVCCollection configurations = (IVCCollection)vcProj.Configurations;
- string[] cppComponents = Util.getCppNames();
foreach(VCConfiguration vcConfig in configurations)
{
VCPropertySheet newSheet = findPropertySheet(vcConfig.PropertySheets as IVCCollection, "ice");
@@ -702,21 +671,28 @@ namespace Ice.VisualStudio
{
if(!Builder.commandLine)
{
- string sdkId = component + ", Version=" + Util.MajorVersion + "." + Util.MinorVersion;
- VCReference reference = (VCReference)((VCReferences)project.VCReferences).Item(sdkId);
-#if VS2012
- //
- // VS2012 bug
- //
- if(reference != null)
+ string sdkId = component + ", Version=" + Util.Version;
+ try
{
- reference.Remove();
- }
- project.AddSdkReference(sdkId);
+ VCReference reference = (VCReference)((VCReferences)project.VCReferences).Item(sdkId);
+#if VS2012
+ //
+ // VS2012 bug
+ //
+ if(reference != null)
+ {
+ reference.Remove();
+ }
+ project.AddSdkReference(sdkId);
#else
- if(reference == null)
+ if(reference == null)
+ {
+ project.AddSdkReference(sdkId);
+ }
+ }
+ catch(Exception ex)
{
- project.AddSdkReference(sdkId);
+ Util.write(project, msgLevel.msgError, "Error adding SDK `" + sdkId + "'");
}
#endif
}
@@ -726,7 +702,7 @@ namespace Ice.VisualStudio
{
if(!Builder.commandLine)
{
- string sdkId = component + ", Version=" + Util.MajorVersion + "." + Util.MinorVersion;
+ string sdkId = component + ", Version=" + Util.Version;
VCReference reference = (VCReference)((VCReferences)project.VCReferences).Item(sdkId);
if (reference != null)
{
@@ -737,42 +713,6 @@ namespace Ice.VisualStudio
return false;
}
- public static void addCppLib(LinkerAdapter tool, string component, bool debug)
- {
- if(tool == null || String.IsNullOrEmpty(component))
- {
- return;
- }
-
- if(Array.BinarySearch(Util.getCppNames(), component, StringComparer.CurrentCultureIgnoreCase) < 0)
- {
- return;
- }
-
- string libName = component;
- if(debug)
- {
- libName += "d";
- }
- libName += ".lib";
-
- libName = libName.ToLower();
-
- string additionalDependencies = tool.AdditionalDependencies;
- if(String.IsNullOrEmpty(additionalDependencies))
- {
- additionalDependencies = "";
- }
-
- ComponentList components = new ComponentList(additionalDependencies.Split(' '));
- if(!components.Contains(libName))
- {
- components.Add(libName);
- additionalDependencies = components.ToString(' ');
- tool.AdditionalDependencies = additionalDependencies;
- }
- }
-
public static bool removeCppLib(LinkerAdapter tool, string component, bool debug)
{
if(tool == null || String.IsNullOrEmpty(tool.AdditionalDependencies))
@@ -1696,8 +1636,6 @@ namespace Ice.VisualStudio
return empty;
}
-
-
//
// The CopyLocal property doesn't work consistently, as sometimes it is set to false
// when the reference isn't found. This happens when project demos are fisrt
@@ -1988,6 +1926,11 @@ namespace Ice.VisualStudio
Util.removeIceCppLibraryDir(linkerAdapter, "$(IceHome)");
Util.removeCppIncludes(compilerTool, "$(IceHome)", Util.getProjectOutputDirRaw(p));
}
+
+ //
+ // Since 3.6 it isn't required to add Ice libraries to project configurations.
+ //
+ removeIceCppLibs(p, new ComponentList(Util.getCppNames()));
}
// This feature was made more general for 3.4.1.2.
@@ -2063,82 +2006,6 @@ namespace Ice.VisualStudio
return preCompiledHeader;
}
- public static ComponentList getIceCppComponents(Project project)
- {
- ComponentList components = new ComponentList();
- VCProject vcProject = (VCProject)project.Object;
- bool winrt = isWinRTProject(project);
- if(!winrt)
- {
- ConfigurationManager configManager = project.ConfigurationManager;
- Configuration activeConfig = (Configuration)configManager.ActiveConfiguration;
-
- IVCCollection configurations = (IVCCollection)vcProject.Configurations;
- foreach(VCConfiguration conf in configurations)
- {
- if(conf == null)
- {
- continue;
- }
- if(String.IsNullOrEmpty(conf.Name))
- {
- continue;
- }
- if(!conf.Name.Equals(activeConfig.ConfigurationName + "|" + activeConfig.PlatformName))
- {
- continue;
- }
-
- VCCLCompilerTool compilerTool =
- (VCCLCompilerTool)(((IVCCollection)conf.Tools).Item("VCCLCompilerTool"));
- VCLinkerTool linkerTool = (VCLinkerTool)(((IVCCollection)conf.Tools).Item("VCLinkerTool"));
- if(linkerTool == null || compilerTool == null)
- {
- break;
- }
-
- if(String.IsNullOrEmpty(linkerTool.AdditionalDependencies))
- {
- break;
- }
-
- bool debug = isDebug(compilerTool.RuntimeLibrary);
-
- List<string> componentNames = new List<string>(linkerTool.AdditionalDependencies.Split(' '));
- foreach(string s in componentNames)
- {
- if(String.IsNullOrEmpty(s))
- {
- continue;
- }
-
- int index = s.LastIndexOf('.');
- if(index <= 0)
- {
- continue;
- }
-
- string libName = s.Substring(0, index);
- if(libName.EndsWith("d"))
- {
- libName = libName.Substring(0, libName.Length - 1);
- }
- if(String.IsNullOrEmpty(libName))
- {
- continue;
- }
-
- if(Array.BinarySearch(Util.getCppNames(), libName, StringComparer.CurrentCultureIgnoreCase) < 0)
- {
- continue;
- }
- components.Add(libName.Trim());
- }
- }
- }
- return components;
- }
-
public static ComponentList getIceSilverlightComponents(Project project)
{
ComponentList components = new ComponentList();
@@ -2232,64 +2099,12 @@ namespace Ice.VisualStudio
Util.removeIcePropertySheet(conf);
}
}
- Util.removeIceCppLibs(project);
- }
-
- public static void addIceCppLibs(Project project, ComponentList components)
- {
- if(!isCppProject(project))
- {
- return;
- }
- bool winrt = isWinRTProject(project);
- VCProject vcProject = (VCProject)project.Object;
- if(!winrt)
+ if(winrt)
{
- IVCCollection configurations = (IVCCollection)vcProject.Configurations;
-
- foreach(VCConfiguration conf in configurations)
- {
- if(conf == null)
- {
- continue;
- }
- VCCLCompilerTool compilerTool =
- (VCCLCompilerTool)(((IVCCollection)conf.Tools).Item("VCCLCompilerTool"));
- bool staticLib = conf.ConfigurationType == Microsoft.VisualStudio.VCProjectEngine.ConfigurationTypes.typeStaticLibrary;
- LinkerAdapter linkerAdapter;
- if(staticLib)
- {
- linkerAdapter = new StaticLinkerAdapter((VCLibrarianTool)(((IVCCollection)conf.Tools).Item("VCLibrarianTool")));
- }
- else
- {
- linkerAdapter = new DynamicLinkerAdapter((VCLinkerTool)(((IVCCollection)conf.Tools).Item("VCLinkerTool")));
- }
-
- if(compilerTool == null || linkerAdapter == null)
- {
- continue;
- }
-
- bool debug = isDebug(compilerTool.RuntimeLibrary);
-
- foreach(string component in components)
- {
- if(String.IsNullOrEmpty(component))
- {
- continue;
- }
- Util.addCppLib(linkerAdapter, component, debug);
- }
- }
+ Util.removeSdkReference((VCProject)project.Object, "Ice");
}
}
- public static ComponentList removeIceCppLibs(Project project)
- {
- return Util.removeIceCppLibs(project, new ComponentList(Util.getCppNames()));
- }
-
public static ComponentList removeIceCppLibs(Project project, ComponentList components)
{
ComponentList removed = new ComponentList();
@@ -2354,10 +2169,6 @@ namespace Ice.VisualStudio
}
}
}
- else
- {
- Util.removeSdkReference((VCProject)project.Object, "Ice");
- }
return removed;
}
@@ -2379,89 +2190,6 @@ namespace Ice.VisualStudio
return found;
}
- //
- // Return true if at least one of the C++ project configurations contains
- // the library corresponding to the given component.
- //
- public static bool hasIceCppLib(Project project, string component)
- {
- if(!isCppProject(project))
- {
- return false;
- }
-
- if(Array.BinarySearch(Util.getCppNames(), component, StringComparer.CurrentCultureIgnoreCase) < 0)
- {
- return false;
- }
-
- bool winrt = isWinRTProject(project);
- VCProject vcProject = (VCProject)project.Object;
- bool found = false;
- if(!winrt)
- {
- IVCCollection configurations = (IVCCollection)vcProject.Configurations;
-
- foreach(VCConfiguration conf in configurations)
- {
- if(conf == null)
- {
- continue;
- }
-
- VCCLCompilerTool compilerTool =
- (VCCLCompilerTool)(((IVCCollection)conf.Tools).Item("VCCLCompilerTool"));
- bool staticLib = conf.ConfigurationType == Microsoft.VisualStudio.VCProjectEngine.ConfigurationTypes.typeStaticLibrary;
- LinkerAdapter linkerAdapter;
- if(staticLib)
- {
- linkerAdapter = new StaticLinkerAdapter((VCLibrarianTool)(((IVCCollection)conf.Tools).Item("VCLibrarianTool")));
- }
- else
- {
- linkerAdapter = new DynamicLinkerAdapter((VCLinkerTool)(((IVCCollection)conf.Tools).Item("VCLinkerTool")));
- }
-
- if(compilerTool == null || linkerAdapter == null)
- {
- continue;
- }
-
- bool debug = false;
- if(!String.IsNullOrEmpty(compilerTool.PreprocessorDefinitions))
- {
- debug = (compilerTool.PreprocessorDefinitions.Contains("DEBUG") &&
- !compilerTool.PreprocessorDefinitions.Contains("NDEBUG"));
- }
- if(!debug)
- {
- debug = conf.Name.Contains("Debug");
- }
-
- string libName = component;
- if(debug)
- {
- libName += "d";
- }
- libName += ".lib";
-
- string additionalDependencies = linkerAdapter.AdditionalDependencies;
- if(String.IsNullOrEmpty(additionalDependencies))
- {
- continue;
- }
-
- ComponentList components = new ComponentList(additionalDependencies.Split(' '));
- if(components.Contains(libName))
- {
- found = true;
- break;
- }
- }
- }
- return found;
- }
-
public static DTE getCurrentDTE()
{
return Connect.getCurrentDTE();
@@ -3272,8 +3000,7 @@ namespace Ice.VisualStudio
return rt == runtimeLibraryOption.rtMultiThreadedDebugDLL || rt == runtimeLibraryOption.rtMultiThreadedDLL;
}
- static public bool checkCppRunTimeLibrary(Builder builder, Project project, VCCLCompilerTool compilerTool,
- LinkerAdapter linkerTool)
+ static public bool checkCppRunTimeLibrary(Builder builder, Project project, VCCLCompilerTool compilerTool)
{
//
// Check the project run time library for the active configuration.
@@ -3284,75 +3011,6 @@ namespace Ice.VisualStudio
"The selected C++ Runtime Library is not supported by Ice; Ice requires /MD or /MDd.");
return false;
}
-
- if(isWinRTProject(project))
- {
- return true;
- }
-
- //
- // Ensure that linker settings match the Runtime Library settings.
- //
- ComponentList components = Util.getIceCppComponents(project);
- bool debug = Util.isDebug(compilerTool.RuntimeLibrary);
- string additionalDependencies = String.IsNullOrEmpty(linkerTool.AdditionalDependencies) ? "" : linkerTool.AdditionalDependencies;
-
- //
- // For each component we need to check that the correct
- // library version (debug/release) is used.
- //
- foreach(string c in components)
- {
- string debugName = c + "d.lib";
- string releaseName = c + ".lib";
-
- if((debug && additionalDependencies.Contains(debugName)) ||
- (!debug && additionalDependencies.Contains(releaseName)))
- {
- continue;
- }
-
- if(debug)
- {
- if(additionalDependencies.Contains(releaseName))
- {
- additionalDependencies = additionalDependencies.Replace(releaseName, debugName);
- }
- else
- {
- if(!String.IsNullOrEmpty(additionalDependencies) &&
- !additionalDependencies.TrimEnd().EndsWith(";"))
- {
- additionalDependencies += ";";
- }
- additionalDependencies += debugName;
- }
- }
- else
- {
- if(additionalDependencies.Contains(debugName))
- {
- additionalDependencies = additionalDependencies.Replace(debugName, releaseName);
- }
- else
- {
- if(!String.IsNullOrEmpty(additionalDependencies) &&
- !additionalDependencies.TrimEnd().EndsWith(";"))
- {
- additionalDependencies += ";";
- }
- additionalDependencies += releaseName;
- }
- }
- }
-
- //
- // If the linker settings has changed we update it.
- //
- if(!additionalDependencies.Equals(linkerTool.AdditionalDependencies))
- {
- linkerTool.AdditionalDependencies = additionalDependencies;
- }
return true;
}