From 86b38c2ffa1bfad7e2d7718b3dec28e22c5be8fe Mon Sep 17 00:00:00 2001 From: Dwayne Boone Date: Wed, 2 Dec 2009 09:36:43 -0330 Subject: Add ability to compile dlls with unique names for each compiler --- cpp/config/Make.rules.mak | 20 ++++++++++++++++---- cpp/src/Freeze/Makefile.mak | 2 +- cpp/src/Glacier2Lib/Makefile.mak | 2 +- cpp/src/Ice/DynamicLibrary.cpp | 13 +++++++++---- cpp/src/Ice/Makefile.mak | 2 +- cpp/src/IceBox/Makefile.mak | 2 +- cpp/src/IceDB/Makefile.mak | 2 +- cpp/src/IceGridLib/Makefile.mak | 2 +- cpp/src/IcePatch2Lib/Makefile.mak | 2 +- cpp/src/IceSSL/Makefile.mak | 2 +- cpp/src/IceStorm/Makefile.mak | 2 +- cpp/src/IceStormLib/Makefile.mak | 2 +- cpp/src/IceUtil/Makefile.mak | 2 +- cpp/src/IceXML/Makefile.mak | 2 +- cpp/src/Slice/Makefile.mak | 2 +- 15 files changed, 38 insertions(+), 21 deletions(-) (limited to 'cpp') diff --git a/cpp/config/Make.rules.mak b/cpp/config/Make.rules.mak index 1111729d604..854ae8adaae 100644 --- a/cpp/config/Make.rules.mak +++ b/cpp/config/Make.rules.mak @@ -46,6 +46,11 @@ THIRDPARTY_HOME = $(PROGRAMFILES)\ZeroC\Ice-$(VERSION)-ThirdParty !endif !endif +# +# Define if you want the Ice DLLs to have compiler specific names +# +#UNIQUE_DLL_NAMES = yes + # ---------------------------------------------------------------------- # Don't change anything below this line! # ---------------------------------------------------------------------- @@ -96,11 +101,12 @@ BCPLUSPLUS = yes !endif !if "$(CPP_COMPILER)" == "BCC2010" -libsuff = \bcc10 +libsuff = \bcc10 !elseif "$(CPP_COMPILER)" == "VC60" -libsuff = \vc6 +libsuff = \vc6 +UNIQUE_DLL_NAMES = yes !else -libsuff = $(x64suffix) +libsuff = $(x64suffix) !endif !if "$(ice_src_dist)" != "" @@ -117,8 +123,14 @@ CPPFLAGS = -I"$(ice_dir)\include\stlport" $(CPPFLAGS) !endif !endif +!if "$(UNIQUE_DLL_NAMES)" == "yes" !if "$(CPP_COMPILER)" == "VC60" -COMPSUFFIX = _vc6 +COMPSUFFIX = vc60_ +!elseif "$(CPP_COMPILER)" == "VC90" || "$(CPP_COMPILER)" == "VC90_EXPRESS" +COMPSUFFIX = vc90_ +!elseif "$(CPP_COMPILER)" == "BCC2010" +COMPSUFFIX = bcc10_ +!endif !endif !if "$(OPTIMIZE)" != "yes" diff --git a/cpp/src/Freeze/Makefile.mak b/cpp/src/Freeze/Makefile.mak index e99e633d2c8..af62cde787f 100644 --- a/cpp/src/Freeze/Makefile.mak +++ b/cpp/src/Freeze/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\freeze$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\freeze$(SOVERSION)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\freeze$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) diff --git a/cpp/src/Glacier2Lib/Makefile.mak b/cpp/src/Glacier2Lib/Makefile.mak index 3f0c644508d..a7200777a3b 100644 --- a/cpp/src/Glacier2Lib/Makefile.mak +++ b/cpp/src/Glacier2Lib/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\glacier2$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\glacier2$(SOVERSION)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\glacier2$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) diff --git a/cpp/src/Ice/DynamicLibrary.cpp b/cpp/src/Ice/DynamicLibrary.cpp index d4f9aea6aba..07293a65e15 100644 --- a/cpp/src/Ice/DynamicLibrary.cpp +++ b/cpp/src/Ice/DynamicLibrary.cpp @@ -90,19 +90,24 @@ IceInternal::DynamicLibrary::loadEntryPoint(const string& entryPoint, bool useIc string lib; #ifdef _WIN32 - lib = libName + version; -#if defined(_MSC_VER) && (_MSC_VER < 1300) + lib = libName; + +# if defined(_MSC_VER) && (_MSC_VER < 1300) // // Special case to deal with the naming of IceSSL VC6 DLL. // if(IceUtilInternal::toLower(libName) == "icessl") { - lib += "_vc6"; + lib += "vc60_"; } -#endif +# endif + + lib += version; + # ifdef _DEBUG lib += 'd'; # endif + lib += ".dll"; #elif defined(__APPLE__) lib = "lib" + libName; diff --git a/cpp/src/Ice/Makefile.mak b/cpp/src/Ice/Makefile.mak index a53d0042b70..2eeef01f381 100644 --- a/cpp/src/Ice/Makefile.mak +++ b/cpp/src/Ice/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\ice$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\ice$(SOVERSION)$(COMPSUFFIX)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\ice$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) diff --git a/cpp/src/IceBox/Makefile.mak b/cpp/src/IceBox/Makefile.mak index 2377fafa104..bf3f6df696c 100644 --- a/cpp/src/IceBox/Makefile.mak +++ b/cpp/src/IceBox/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\icebox$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\icebox$(SOVERSION)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\icebox$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll SERVER_D = $(top_srcdir)\bin\iceboxd.exe SERVER_R = $(top_srcdir)\bin\icebox.exe diff --git a/cpp/src/IceDB/Makefile.mak b/cpp/src/IceDB/Makefile.mak index 45d6fafe208..90480363fbc 100644 --- a/cpp/src/IceDB/Makefile.mak +++ b/cpp/src/IceDB/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\icedb$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\icedb$(SOVERSION)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\icedb$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) diff --git a/cpp/src/IceGridLib/Makefile.mak b/cpp/src/IceGridLib/Makefile.mak index a647623fbe6..abd209a24e7 100644 --- a/cpp/src/IceGridLib/Makefile.mak +++ b/cpp/src/IceGridLib/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\icegrid$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\icegrid$(SOVERSION)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\icegrid$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) diff --git a/cpp/src/IcePatch2Lib/Makefile.mak b/cpp/src/IcePatch2Lib/Makefile.mak index cc73da76ce7..d0468e41457 100644 --- a/cpp/src/IcePatch2Lib/Makefile.mak +++ b/cpp/src/IcePatch2Lib/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\icepatch2$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\icepatch2$(SOVERSION)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\icepatch2$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) diff --git a/cpp/src/IceSSL/Makefile.mak b/cpp/src/IceSSL/Makefile.mak index c39ea1bf59e..d8ccb4c0350 100644 --- a/cpp/src/IceSSL/Makefile.mak +++ b/cpp/src/IceSSL/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\icessl$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\icessl$(SOVERSION)$(COMPSUFFIX)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\icessl$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) diff --git a/cpp/src/IceStorm/Makefile.mak b/cpp/src/IceStorm/Makefile.mak index ded2be3bb4d..b4115b1c898 100644 --- a/cpp/src/IceStorm/Makefile.mak +++ b/cpp/src/IceStorm/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\icestormservice$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\icestormservice$(SOVERSION)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\icestormservice$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll ADMIN = $(top_srcdir)\bin\icestormadmin.exe diff --git a/cpp/src/IceStormLib/Makefile.mak b/cpp/src/IceStormLib/Makefile.mak index 49f9d8964b2..c6dd7ffce78 100644 --- a/cpp/src/IceStormLib/Makefile.mak +++ b/cpp/src/IceStormLib/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\icestorm$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\icestorm$(SOVERSION)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\icestorm$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) diff --git a/cpp/src/IceUtil/Makefile.mak b/cpp/src/IceUtil/Makefile.mak index 125a0ee300a..cd72339f765 100644 --- a/cpp/src/IceUtil/Makefile.mak +++ b/cpp/src/IceUtil/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\iceutil$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\iceutil$(SOVERSION)$(COMPSUFFIX)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\iceutil$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) diff --git a/cpp/src/IceXML/Makefile.mak b/cpp/src/IceXML/Makefile.mak index 57d248ebd03..ffcaf4ff3de 100644 --- a/cpp/src/IceXML/Makefile.mak +++ b/cpp/src/IceXML/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\icexml$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\icexml$(SOVERSION)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\icexml$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) diff --git a/cpp/src/Slice/Makefile.mak b/cpp/src/Slice/Makefile.mak index cf8d33f14db..971abe7d95c 100644 --- a/cpp/src/Slice/Makefile.mak +++ b/cpp/src/Slice/Makefile.mak @@ -10,7 +10,7 @@ top_srcdir = ..\.. LIBNAME = $(top_srcdir)\lib\slice$(LIBSUFFIX).lib -DLLNAME = $(top_srcdir)\bin\slice$(SOVERSION)$(COMPSUFFIX)$(LIBSUFFIX).dll +DLLNAME = $(top_srcdir)\bin\slice$(COMPSUFFIX)$(SOVERSION)$(LIBSUFFIX).dll TARGETS = $(LIBNAME) $(DLLNAME) -- cgit v1.2.3