diff options
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; } |