summaryrefslogtreecommitdiff
path: root/cpp/src/IceDiscovery
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2015-05-05 19:23:45 -0400
committerBernard Normier <bernard@zeroc.com>2015-05-05 19:23:45 -0400
commita5bd24845a2720d57a66d81effc59423d723c87c (patch)
tree76faa296700b0993deb3aa97323abc904188a681 /cpp/src/IceDiscovery
parentminor fixes for purify (diff)
downloadice-a5bd24845a2720d57a66d81effc59423d723c87c.tar.bz2
ice-a5bd24845a2720d57a66d81effc59423d723c87c.tar.xz
ice-a5bd24845a2720d57a66d81effc59423d723c87c.zip
ICE-6481 pragma comment when building static libraries
On windows with VS, pragma comment is now defined when building only when ICE_BUILDING_<component-name> is not defined. ICE_BUILDING_<component-name> is defined automatically when <component-name>_API_EXPORTS is defined. When building static Ice libraries on Windows, please define ICE_BUILDING_<component-name-being-built>. ICE_DECLSPEC_EXPORT and ICE_DECLSPEC_IMPORT are now defined all the time on Windows, and we define the various _API macros to /**/ when ICE_STATIC_LIBS is defined. Replaced various direct use of ICE_DECLSPEC_EXPORT/ICE_DECLSPEC_IMPORT by the correct _API macro.
Diffstat (limited to 'cpp/src/IceDiscovery')
-rw-r--r--cpp/src/IceDiscovery/Makefile2
-rw-r--r--cpp/src/IceDiscovery/Makefile.mak2
-rw-r--r--cpp/src/IceDiscovery/PluginI.cpp10
3 files changed, 11 insertions, 3 deletions
diff --git a/cpp/src/IceDiscovery/Makefile b/cpp/src/IceDiscovery/Makefile
index 356ea66e20e..5b462737114 100644
--- a/cpp/src/IceDiscovery/Makefile
+++ b/cpp/src/IceDiscovery/Makefile
@@ -27,7 +27,7 @@ SDIR = $(slicedir)/IceDiscovery
include $(top_srcdir)/config/Make.rules
-CPPFLAGS := -I.. $(CPPFLAGS)
+CPPFLAGS := -I.. $(CPPFLAGS) -DICE_DISCOVERY_API_EXPORTS
SLICE2CPPFLAGS := --ice --include-dir IceDiscovery $(SLICE2CPPFLAGS)
LINKWITH := -lIce -lIceUtil $(CXXLIBS)
diff --git a/cpp/src/IceDiscovery/Makefile.mak b/cpp/src/IceDiscovery/Makefile.mak
index 3c0a9a6a28b..168a95fda7e 100644
--- a/cpp/src/IceDiscovery/Makefile.mak
+++ b/cpp/src/IceDiscovery/Makefile.mak
@@ -24,7 +24,7 @@ OBJS = .\LocatorI.obj \
!include $(top_srcdir)/config/Make.rules.mak
-CPPFLAGS = -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+CPPFLAGS = -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN -DICE_DISCOVERY_API_EXPORTS
SLICE2CPPFLAGS = --ice --include-dir IceDiscovery $(SLICE2CPPFLAGS)
LINKWITH = $(LIBS)
diff --git a/cpp/src/IceDiscovery/PluginI.cpp b/cpp/src/IceDiscovery/PluginI.cpp
index fd4d6dbdf03..387fffd21fa 100644
--- a/cpp/src/IceDiscovery/PluginI.cpp
+++ b/cpp/src/IceDiscovery/PluginI.cpp
@@ -17,13 +17,21 @@
using namespace std;
using namespace IceDiscovery;
+#ifndef ICE_DISCOVERY_API
+# ifdef ICE_DISCOVERY_API_EXPORTS
+# define ICE_DISCOVERY_API ICE_DECLSPEC_EXPORT
+# else
+# define ICE_DISCOVERY_API /**/
+# endif
+#endif
+
//
// Plugin factory function.
//
extern "C"
{
-ICE_DECLSPEC_EXPORT Ice::Plugin*
+ICE_DISCOVERY_API Ice::Plugin*
createIceDiscovery(const Ice::CommunicatorPtr& communicator, const string&, const Ice::StringSeq&)
{
return new PluginI(communicator);