summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/Make.rules.AIX4
-rw-r--r--config/Make.rules.Darwin1
-rw-r--r--config/Make.rules.Linux6
-rw-r--r--cpp/include/Ice/Config.h22
-rw-r--r--cpp/include/IceUtil/Atomic.h2
-rw-r--r--cpp/include/IceUtil/Cond.h4
-rw-r--r--cpp/include/IceUtil/Config.h10
-rw-r--r--cpp/include/IceUtil/CountDownLatch.h2
-rw-r--r--cpp/include/IceUtil/CtrlCHandler.h4
-rw-r--r--cpp/include/IceUtil/Exception.h20
-rw-r--r--cpp/include/IceUtil/FileUtil.h40
-rw-r--r--cpp/include/IceUtil/InputUtil.h4
-rw-r--r--cpp/include/IceUtil/Mutex.h2
-rw-r--r--cpp/include/IceUtil/MutexProtocol.h2
-rw-r--r--cpp/include/IceUtil/Options.h10
-rw-r--r--cpp/include/IceUtil/OutputUtil.h52
-rw-r--r--cpp/include/IceUtil/Random.h4
-rw-r--r--cpp/include/IceUtil/RecMutex.h2
-rw-r--r--cpp/include/IceUtil/SHA1.h4
-rw-r--r--cpp/include/IceUtil/Shared.h4
-rw-r--r--cpp/include/IceUtil/StringConverter.h24
-rw-r--r--cpp/include/IceUtil/StringUtil.h30
-rw-r--r--cpp/include/IceUtil/Thread.h4
-rw-r--r--cpp/include/IceUtil/ThreadException.h12
-rw-r--r--cpp/include/IceUtil/Time.h4
-rw-r--r--cpp/include/IceUtil/Timer.h4
-rw-r--r--cpp/include/IceUtil/UUID.h2
-rw-r--r--cpp/src/Ice/Incoming.cpp2
-rw-r--r--cpp/src/Ice/Instance.cpp4
-rw-r--r--cpp/src/Ice/LoggerUtil.cpp2
-rw-r--r--cpp/src/Ice/Makefile.mk4
-rw-r--r--cpp/src/IceUtil/ArgVector.h2
-rw-r--r--cpp/src/IceUtil/Makefile.mk8
-rw-r--r--cpp/src/IceUtil/Unicode.h6
-rw-r--r--cpp/src/IceUtil/UtilException.cpp4
-rw-r--r--cpp/src/Slice/CPlusPlusUtil.h (renamed from cpp/include/Slice/CPlusPlusUtil.h)0
-rw-r--r--cpp/src/Slice/Checksum.h (renamed from cpp/include/Slice/Checksum.h)0
-rw-r--r--cpp/src/Slice/CsUtil.h91
-rw-r--r--cpp/src/Slice/DotNetNames.h34
-rw-r--r--cpp/src/Slice/FileTracker.h (renamed from cpp/include/Slice/FileTracker.h)0
-rw-r--r--cpp/src/Slice/JavaUtil.h (renamed from cpp/include/Slice/JavaUtil.h)0
-rw-r--r--cpp/src/Slice/Makefile.mk2
-rw-r--r--cpp/src/Slice/ObjCUtil.h (renamed from cpp/include/Slice/ObjCUtil.h)0
-rw-r--r--cpp/src/Slice/PHPUtil.h (renamed from cpp/include/Slice/PHPUtil.h)0
-rw-r--r--cpp/src/Slice/Parser.h (renamed from cpp/include/Slice/Parser.h)0
-rw-r--r--cpp/src/Slice/Preprocessor.h (renamed from cpp/include/Slice/Preprocessor.h)0
-rw-r--r--cpp/src/Slice/PythonUtil.h (renamed from cpp/include/Slice/PythonUtil.h)0
-rw-r--r--cpp/src/Slice/RubyUtil.h (renamed from cpp/include/Slice/RubyUtil.h)0
-rw-r--r--cpp/src/Slice/Util.h (renamed from cpp/include/Slice/Util.h)0
-rw-r--r--cpp/src/Slice/msbuild/slice.vcxproj24
-rw-r--r--cpp/src/Slice/msbuild/slice.vcxproj.filters30
-rw-r--r--cpp/test/IceUtil/priority/Client.cpp2
-rw-r--r--cpp/test/IceUtil/stacktrace/Client.cpp2
-rw-r--r--php/src/php5/Makefile.mk2
-rw-r--r--php/src/php7/Makefile.mk2
-rw-r--r--python/modules/IcePy/Makefile.mk2
-rw-r--r--ruby/src/IceRuby/Makefile.mk2
57 files changed, 295 insertions, 209 deletions
diff --git a/config/Make.rules.AIX b/config/Make.rules.AIX
index 96680a81d3c..238c9d64088 100644
--- a/config/Make.rules.AIX
+++ b/config/Make.rules.AIX
@@ -63,8 +63,6 @@ mkshlibfilename = lib$(1).a
mkpymodulename = $(1).so
-ICEUTIL_OS_LIBS = -lcrypto
-
-ICE_OS_LIBS =
+ICE_OS_LIBS = -lcrypto
CRYPT_OS_LIBS = -lcrypt
SSL_OS_LIBS = -lssl -lcrypto
diff --git a/config/Make.rules.Darwin b/config/Make.rules.Darwin
index 4257cae8a7b..1228ccfb967 100644
--- a/config/Make.rules.Darwin
+++ b/config/Make.rules.Darwin
@@ -71,7 +71,6 @@ mkphpmodulename = $1.dy
#
# System libraries
#
-ICEUTIL_OS_LIBS =
ICE_OS_LIBS = -ldl
CRYPT_OS_LIBS = -framework Security -framework CoreFoundation
SSL_OS_LIBS = $(CRYPT_OS_LIBS)
diff --git a/config/Make.rules.Linux b/config/Make.rules.Linux
index 47052e9668c..22f4b0cea38 100644
--- a/config/Make.rules.Linux
+++ b/config/Make.rules.Linux
@@ -118,11 +118,11 @@ ifneq ($(libbacktrace_fullpath),libbacktrace.a)
libbacktrace = yes
endif
-ICEUTIL_OS_LIBS = -lrt -lcrypto
+ICE_OS_LIBS = -ldl -lrt -lcrypto
+
ifeq ($(libbacktrace),yes)
-ICEUTIL_OS_LIBS := $(ICEUTIL_OS_LIBS) -lbacktrace
+ICE_OS_LIBS += -lbacktrace
endif
-ICE_OS_LIBS = -ldl
CRYPT_OS_LIBS = -lcrypt
SSL_OS_LIBS = -lssl -lcrypto
diff --git a/cpp/include/Ice/Config.h b/cpp/include/Ice/Config.h
index 83817d599c0..c6672061f1d 100644
--- a/cpp/include/Ice/Config.h
+++ b/cpp/include/Ice/Config.h
@@ -33,18 +33,6 @@
#endif
//
-// Automatically link Ice[D|++11|++11D].lib with Visual C++
-//
-
-#if !defined(ICE_BUILDING_ICE) && defined(ICE_API_EXPORTS)
-# define ICE_BUILDING_ICE
-#endif
-
-#if defined(_MSC_VER) && !defined(ICE_BUILDING_ICE)
-# pragma comment(lib, ICE_LIBNAME("Ice"))
-#endif
-
-//
// Define the Ice and IceInternal namespace, so that we can use the following
// everywhere in our code:
//
@@ -59,16 +47,6 @@ namespace IceInternal
{
}
-#ifndef ICE_API
-# if defined(ICE_STATIC_LIBS)
-# define ICE_API /**/
-# elif defined(ICE_API_EXPORTS)
-# define ICE_API ICE_DECLSPEC_EXPORT
-# else
-# define ICE_API ICE_DECLSPEC_IMPORT
-# endif
-#endif
-
namespace Ice
{
diff --git a/cpp/include/IceUtil/Atomic.h b/cpp/include/IceUtil/Atomic.h
index 85a6942e076..d8fde15de2a 100644
--- a/cpp/include/IceUtil/Atomic.h
+++ b/cpp/include/IceUtil/Atomic.h
@@ -68,7 +68,7 @@ typedef int ATOMIC_T;
// This is temporary and very partial placeholder for std::atomic,
// which is not yet widely available.
//
-class ICE_UTIL_API Atomic : public IceUtil::noncopyable
+class ICE_API Atomic : public IceUtil::noncopyable
{
public:
diff --git a/cpp/include/IceUtil/Cond.h b/cpp/include/IceUtil/Cond.h
index c57a8a555ff..dd052cc6a41 100644
--- a/cpp/include/IceUtil/Cond.h
+++ b/cpp/include/IceUtil/Cond.h
@@ -27,7 +27,7 @@ class Semaphore
public:
Semaphore(long = 0);
- ICE_UTIL_API ~Semaphore();
+ ICE_API ~Semaphore();
void wait() const;
bool timedWait(const IceUtil::Time&) const;
@@ -55,7 +55,7 @@ class Mutex;
// Condition variable implementation. Conforms to the same semantics
// as a POSIX threads condition variable.
//
-class ICE_UTIL_API Cond : private noncopyable
+class ICE_API Cond : private noncopyable
{
public:
diff --git a/cpp/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h
index 2f9e6a5530e..aa86962edd5 100644
--- a/cpp/include/IceUtil/Config.h
+++ b/cpp/include/IceUtil/Config.h
@@ -126,11 +126,11 @@
// Let's use these extensions with Ice:
//
#if defined(ICE_API_EXPORTS)
-# define ICE_UTIL_API ICE_DECLSPEC_EXPORT
+# define ICE_API ICE_DECLSPEC_EXPORT
#elif defined(ICE_STATIC_LIBS)
-# define ICE_UTIL_API /**/
+# define ICE_API /**/
#else
-# define ICE_UTIL_API ICE_DECLSPEC_IMPORT
+# define ICE_API ICE_DECLSPEC_IMPORT
#endif
@@ -188,7 +188,7 @@
#endif
#ifdef __IBMCPP__
-// TODO: better fix for this warning
+ // TODO: better fix for this warning
# pragma report(disable, "1540-0198") // private inheritance without private keyword
#endif
@@ -252,7 +252,7 @@ namespace IceUtil
//
// By deriving from this class, other classes are made non-copyable.
//
-class ICE_UTIL_API noncopyable
+class ICE_API noncopyable
{
protected:
diff --git a/cpp/include/IceUtil/CountDownLatch.h b/cpp/include/IceUtil/CountDownLatch.h
index 1797f6f35b9..53bcd74cf35 100644
--- a/cpp/include/IceUtil/CountDownLatch.h
+++ b/cpp/include/IceUtil/CountDownLatch.h
@@ -19,7 +19,7 @@ namespace IceUtilInternal
// See java.util.concurrent.CountDownLatch in Java 1.5
//
-class ICE_UTIL_API CountDownLatch
+class ICE_API CountDownLatch
{
public:
diff --git a/cpp/include/IceUtil/CtrlCHandler.h b/cpp/include/IceUtil/CtrlCHandler.h
index a131de55d22..e5692d96990 100644
--- a/cpp/include/IceUtil/CtrlCHandler.h
+++ b/cpp/include/IceUtil/CtrlCHandler.h
@@ -44,7 +44,7 @@ namespace IceUtil
typedef void (*CtrlCHandlerCallback)(int);
-class ICE_UTIL_API CtrlCHandler
+class ICE_API CtrlCHandler
{
public:
@@ -55,7 +55,7 @@ public:
CtrlCHandlerCallback getCallback() const;
};
-class ICE_UTIL_API CtrlCHandlerException : public Exception
+class ICE_API CtrlCHandlerException : public Exception
{
public:
diff --git a/cpp/include/IceUtil/Exception.h b/cpp/include/IceUtil/Exception.h
index c3f5b799910..65a003b85bb 100644
--- a/cpp/include/IceUtil/Exception.h
+++ b/cpp/include/IceUtil/Exception.h
@@ -18,7 +18,7 @@
namespace IceUtil
{
-class ICE_UTIL_API Exception : public std::exception
+class ICE_API Exception : public std::exception
{
public:
@@ -50,9 +50,9 @@ private:
mutable ::std::string _str; // Initialized lazily in what().
};
-ICE_UTIL_API std::ostream& operator<<(std::ostream&, const Exception&);
+ICE_API std::ostream& operator<<(std::ostream&, const Exception&);
-class ICE_UTIL_API NullHandleException : public Exception
+class ICE_API NullHandleException : public Exception
{
public:
@@ -65,7 +65,7 @@ public:
virtual void ice_throw() const;
};
-class ICE_UTIL_API IllegalArgumentException : public Exception
+class ICE_API IllegalArgumentException : public Exception
{
public:
@@ -89,7 +89,7 @@ private:
//
// IllegalConversionException is raised to report a string conversion error
//
-class ICE_UTIL_API IllegalConversionException : public Exception
+class ICE_API IllegalConversionException : public Exception
{
public:
@@ -110,7 +110,7 @@ private:
};
-class ICE_UTIL_API SyscallException : public Exception
+class ICE_API SyscallException : public Exception
{
public:
@@ -129,7 +129,7 @@ private:
const int _error;
};
-class ICE_UTIL_API FileLockException : public Exception
+class ICE_API FileLockException : public Exception
{
public:
@@ -151,7 +151,7 @@ private:
std::string _path;
};
-class ICE_UTIL_API OptionalNotSetException : public Exception
+class ICE_API OptionalNotSetException : public Exception
{
public:
@@ -165,7 +165,7 @@ public:
};
#ifndef _WIN32
-class ICE_UTIL_API IconvInitializationException : public Exception
+class ICE_API IconvInitializationException : public Exception
{
public:
@@ -193,7 +193,7 @@ namespace IceUtilInternal
enum StackTraceImpl { STNone, STDbghelp, STLibbacktrace, STLibbacktracePlus, STBacktrace };
-ICE_UTIL_API StackTraceImpl stackTraceImpl();
+ICE_API StackTraceImpl stackTraceImpl();
}
diff --git a/cpp/include/IceUtil/FileUtil.h b/cpp/include/IceUtil/FileUtil.h
index ed07ceab344..c42d3265225 100644
--- a/cpp/include/IceUtil/FileUtil.h
+++ b/cpp/include/IceUtil/FileUtil.h
@@ -22,28 +22,28 @@
namespace IceUtilInternal
{
-extern const ICE_UTIL_API std::string pathsep;
-extern const ICE_UTIL_API std::string separator;
+extern const ICE_API std::string pathsep;
+extern const ICE_API std::string separator;
//
// Detemine if path is an absolute path.
//
-ICE_UTIL_API bool isAbsolutePath(const std::string&);
+ICE_API bool isAbsolutePath(const std::string&);
//
// Determine if a file exists.
//
-ICE_UTIL_API bool fileExists(const std::string&);
+ICE_API bool fileExists(const std::string&);
//
// Determine if a directory exists.
//
-ICE_UTIL_API bool directoryExists(const std::string&);
+ICE_API bool directoryExists(const std::string&);
//
// Determine if a directory exists and is empty.
//
-ICE_UTIL_API bool isEmptyDirectory(const std::string&);
+ICE_API bool isEmptyDirectory(const std::string&);
#ifdef _WIN32
@@ -81,28 +81,28 @@ typedef struct stat structstat;
//
// OS stat
//
-ICE_UTIL_API int stat(const std::string&, structstat*);
-ICE_UTIL_API int remove(const std::string&);
-ICE_UTIL_API int rename(const std::string&, const std::string&);
-ICE_UTIL_API int rmdir(const std::string&);
+ICE_API int stat(const std::string&, structstat*);
+ICE_API int remove(const std::string&);
+ICE_API int rename(const std::string&, const std::string&);
+ICE_API int rmdir(const std::string&);
-ICE_UTIL_API int mkdir(const std::string&, int);
-ICE_UTIL_API FILE* fopen(const std::string&, const std::string&);
-ICE_UTIL_API FILE* freopen(const std::string&, const std::string&, FILE*);
-ICE_UTIL_API int open(const std::string&, int);
+ICE_API int mkdir(const std::string&, int);
+ICE_API FILE* fopen(const std::string&, const std::string&);
+ICE_API FILE* freopen(const std::string&, const std::string&, FILE*);
+ICE_API int open(const std::string&, int);
#ifndef ICE_OS_WINRT
-ICE_UTIL_API int getcwd(std::string&);
+ICE_API int getcwd(std::string&);
#endif
-ICE_UTIL_API int unlink(const std::string&);
-ICE_UTIL_API int close(int);
+ICE_API int unlink(const std::string&);
+ICE_API int close(int);
//
// This class is used to implement process file locking. This class
// is not intended to do file locking within the same process.
//
-class ICE_UTIL_API FileLock : public IceUtil::Shared, public IceUtil::noncopyable
+class ICE_API FileLock : public IceUtil::Shared, public IceUtil::noncopyable
{
public:
//
@@ -132,7 +132,7 @@ private:
typedef IceUtil::Handle<FileLock> FileLockPtr;
-class ICE_UTIL_API ifstream : public std::ifstream
+class ICE_API ifstream : public std::ifstream
{
public:
@@ -155,7 +155,7 @@ private:
void open(const char*, std::ios_base::openmode mode = std::ios_base::in);
};
-class ICE_UTIL_API ofstream : public std::ofstream
+class ICE_API ofstream : public std::ofstream
{
public:
diff --git a/cpp/include/IceUtil/InputUtil.h b/cpp/include/IceUtil/InputUtil.h
index 633e9881258..9f44936a91b 100644
--- a/cpp/include/IceUtil/InputUtil.h
+++ b/cpp/include/IceUtil/InputUtil.h
@@ -19,7 +19,7 @@ namespace IceUtilInternal
//
// Portable strtoll/_strtoi64
//
-ICE_UTIL_API IceUtil::Int64 strToInt64(const char*, char**, int);
+ICE_API IceUtil::Int64 strToInt64(const char*, char**, int);
//
// stringToInt64 converts a string into a signed 64-bit integer.
@@ -40,7 +40,7 @@ ICE_UTIL_API IceUtil::Int64 strToInt64(const char*, char**, int);
// - result == 0 indicates that no digits were available for conversion
// - result == "Int64 Min" or result == "Int64 Max" indicate underflow or overflow.
//
-ICE_UTIL_API bool stringToInt64(const std::string&, IceUtil::Int64&);
+ICE_API bool stringToInt64(const std::string&, IceUtil::Int64&);
}
diff --git a/cpp/include/IceUtil/Mutex.h b/cpp/include/IceUtil/Mutex.h
index ed1cd05940a..9b88540bcee 100644
--- a/cpp/include/IceUtil/Mutex.h
+++ b/cpp/include/IceUtil/Mutex.h
@@ -33,7 +33,7 @@ class Cond;
// `IceUtil::noncopyable' inaccessible in `IceInternal::Outgoing' due
// to ambiguity
//
-class ICE_UTIL_API Mutex
+class ICE_API Mutex
{
public:
diff --git a/cpp/include/IceUtil/MutexProtocol.h b/cpp/include/IceUtil/MutexProtocol.h
index 613bf18b1dd..2c0f084f387 100644
--- a/cpp/include/IceUtil/MutexProtocol.h
+++ b/cpp/include/IceUtil/MutexProtocol.h
@@ -21,7 +21,7 @@ enum MutexProtocol
PrioNone
};
-ICE_UTIL_API MutexProtocol getDefaultMutexProtocol();
+ICE_API MutexProtocol getDefaultMutexProtocol();
} // End namespace IceUtil
diff --git a/cpp/include/IceUtil/Options.h b/cpp/include/IceUtil/Options.h
index 3042ac34cbf..2826b7e29bd 100644
--- a/cpp/include/IceUtil/Options.h
+++ b/cpp/include/IceUtil/Options.h
@@ -22,7 +22,7 @@
namespace IceUtilInternal
{
-class ICE_UTIL_API APIException : public IceUtil::Exception
+class ICE_API APIException : public IceUtil::Exception
{
public:
@@ -38,9 +38,9 @@ public:
::std::string reason;
};
-ICE_UTIL_API ::std::ostream& operator<<(::std::ostream&, const APIException&);
+ICE_API ::std::ostream& operator<<(::std::ostream&, const APIException&);
-class ICE_UTIL_API BadOptException : public IceUtil::Exception
+class ICE_API BadOptException : public IceUtil::Exception
{
public:
@@ -56,9 +56,9 @@ public:
::std::string reason;
};
-ICE_UTIL_API ::std::ostream& operator<<(::std::ostream&, const BadOptException&);
+ICE_API ::std::ostream& operator<<(::std::ostream&, const BadOptException&);
-class ICE_UTIL_API Options
+class ICE_API Options
{
public:
diff --git a/cpp/include/IceUtil/OutputUtil.h b/cpp/include/IceUtil/OutputUtil.h
index b090bad24b8..a3a251b28ce 100644
--- a/cpp/include/IceUtil/OutputUtil.h
+++ b/cpp/include/IceUtil/OutputUtil.h
@@ -18,7 +18,7 @@
namespace IceUtilInternal
{
-ICE_UTIL_API std::string int64ToString(IceUtil::Int64);
+ICE_API std::string int64ToString(IceUtil::Int64);
// ----------------------------------------------------------------------
// OutputBase
@@ -31,7 +31,7 @@ ICE_UTIL_API std::string int64ToString(IceUtil::Int64);
// manually I've decided to leave them as virtual.
//
-class ICE_UTIL_API OutputBase : private ::IceUtil::noncopyable
+class ICE_API OutputBase : private ::IceUtil::noncopyable
{
public:
@@ -74,21 +74,21 @@ protected:
bool _separator;
};
-class ICE_UTIL_API NextLine
+class ICE_API NextLine
{
};
-extern ICE_UTIL_API NextLine nl;
+extern ICE_API NextLine nl;
-class ICE_UTIL_API Separator
+class ICE_API Separator
{
};
-extern ICE_UTIL_API Separator sp;
+extern ICE_API Separator sp;
// ----------------------------------------------------------------------
// Output
// ----------------------------------------------------------------------
-class ICE_UTIL_API Output : public OutputBase
+class ICE_API Output : public OutputBase
{
public:
@@ -148,10 +148,10 @@ operator<<(Output& o, const Separator&)
return o;
}
-class ICE_UTIL_API StartBlock
+class ICE_API StartBlock
{
};
-extern ICE_UTIL_API StartBlock sb;
+extern ICE_API StartBlock sb;
template<>
inline Output&
@@ -161,10 +161,10 @@ operator<<(Output& o, const StartBlock&)
return o;
}
-class ICE_UTIL_API EndBlock
+class ICE_API EndBlock
{
};
-extern ICE_UTIL_API EndBlock eb;
+extern ICE_API EndBlock eb;
template<>
inline Output&
@@ -174,10 +174,10 @@ operator<<(Output& o, const EndBlock&)
return o;
}
-class ICE_UTIL_API StartPar
+class ICE_API StartPar
{
};
-extern ICE_UTIL_API StartPar spar;
+extern ICE_API StartPar spar;
template<>
inline Output&
@@ -187,10 +187,10 @@ operator<<(Output& o, const StartPar&)
return o;
}
-class ICE_UTIL_API EndPar
+class ICE_API EndPar
{
};
-extern ICE_UTIL_API EndPar epar;
+extern ICE_API EndPar epar;
template<>
inline Output&
@@ -200,13 +200,13 @@ operator<<(Output& o, const EndPar&)
return o;
}
-ICE_UTIL_API Output& operator<<(Output&, std::ios_base& (*)(std::ios_base&));
+ICE_API Output& operator<<(Output&, std::ios_base& (*)(std::ios_base&));
// ----------------------------------------------------------------------
// XMLOutput
// ----------------------------------------------------------------------
-class ICE_UTIL_API XMLOutput : public OutputBase
+class ICE_API XMLOutput : public OutputBase
{
public:
@@ -265,10 +265,10 @@ operator<<(XMLOutput& o, const Separator&)
return o;
}
-class ICE_UTIL_API EndElement
+class ICE_API EndElement
{
};
-extern ICE_UTIL_API EndElement ee;
+extern ICE_API EndElement ee;
template<>
inline XMLOutput&
@@ -278,7 +278,7 @@ operator<<(XMLOutput& o, const EndElement&)
return o;
}
-class ICE_UTIL_API StartElement
+class ICE_API StartElement
{
public:
@@ -301,7 +301,7 @@ operator<<(XMLOutput& o, const StartElement& e)
return o;
}
-class ICE_UTIL_API Attribute
+class ICE_API Attribute
{
public:
@@ -326,15 +326,15 @@ operator<<(XMLOutput& o, const Attribute& e)
return o;
}
-class ICE_UTIL_API StartEscapes
+class ICE_API StartEscapes
{
};
-extern ICE_UTIL_API StartEscapes startEscapes;
+extern ICE_API StartEscapes startEscapes;
-class ICE_UTIL_API EndEscapes
+class ICE_API EndEscapes
{
};
-extern ICE_UTIL_API EndEscapes endEscapes;
+extern ICE_API EndEscapes endEscapes;
template<>
inline XMLOutput&
@@ -352,7 +352,7 @@ operator<<(XMLOutput& o, const EndEscapes&)
return o;
}
-ICE_UTIL_API XMLOutput& operator<<(XMLOutput&, std::ios_base& (*)(std::ios_base&));
+ICE_API XMLOutput& operator<<(XMLOutput&, std::ios_base& (*)(std::ios_base&));
}
diff --git a/cpp/include/IceUtil/Random.h b/cpp/include/IceUtil/Random.h
index ee562df75e1..51425808cc6 100644
--- a/cpp/include/IceUtil/Random.h
+++ b/cpp/include/IceUtil/Random.h
@@ -16,8 +16,8 @@
namespace IceUtilInternal
{
-ICE_UTIL_API void generateRandom(char*, size_t);
-ICE_UTIL_API unsigned int random(int = 0);
+ICE_API void generateRandom(char*, size_t);
+ICE_API unsigned int random(int = 0);
}
diff --git a/cpp/include/IceUtil/RecMutex.h b/cpp/include/IceUtil/RecMutex.h
index a4f3dac54cc..2f245fcc550 100644
--- a/cpp/include/IceUtil/RecMutex.h
+++ b/cpp/include/IceUtil/RecMutex.h
@@ -26,7 +26,7 @@ class Cond;
//
// Recursive Mutex implementation.
//
-class ICE_UTIL_API RecMutex
+class ICE_API RecMutex
{
public:
diff --git a/cpp/include/IceUtil/SHA1.h b/cpp/include/IceUtil/SHA1.h
index cec16a80752..32b64406870 100644
--- a/cpp/include/IceUtil/SHA1.h
+++ b/cpp/include/IceUtil/SHA1.h
@@ -18,11 +18,11 @@
namespace IceUtilInternal
{
-ICE_UTIL_API void
+ICE_API void
sha1(const unsigned char*, std::size_t, std::vector<unsigned char>&);
#ifndef ICE_OS_WINRT
-class ICE_UTIL_API SHA1
+class ICE_API SHA1
{
public:
diff --git a/cpp/include/IceUtil/Shared.h b/cpp/include/IceUtil/Shared.h
index 9403fa73d79..cb3af36a7a2 100644
--- a/cpp/include/IceUtil/Shared.h
+++ b/cpp/include/IceUtil/Shared.h
@@ -31,7 +31,7 @@
namespace IceUtil
{
-class ICE_UTIL_API SimpleShared
+class ICE_API SimpleShared
{
public:
@@ -81,7 +81,7 @@ private:
bool _noDelete;
};
-class ICE_UTIL_API Shared
+class ICE_API Shared
{
public:
diff --git a/cpp/include/IceUtil/StringConverter.h b/cpp/include/IceUtil/StringConverter.h
index 1849412427d..59621a58071 100644
--- a/cpp/include/IceUtil/StringConverter.h
+++ b/cpp/include/IceUtil/StringConverter.h
@@ -25,14 +25,14 @@ enum ConversionFlags
typedef unsigned char Byte;
-ICE_UTIL_API bool
+ICE_API bool
isLegalUTF8Sequence(const Byte* source, const Byte* end);
//
// Provides bytes to toUTF8. Can raise std::bad_alloc or Ice::MemoryLimitException
// when too many bytes are requested.
//
-class ICE_UTIL_API UTF8Buffer
+class ICE_API UTF8Buffer
{
public:
virtual Byte* getMoreBytes(size_t howMany, Byte* firstUnused) = 0;
@@ -73,7 +73,7 @@ typedef IceUtil::Handle<WstringConverter> WstringConverterPtr;
//
// Converts to and from UTF-16 or UTF-32 depending on sizeof(wchar_t)
//
-class ICE_UTIL_API UnicodeWstringConverter : public WstringConverter
+class ICE_API UnicodeWstringConverter : public WstringConverter
{
public:
@@ -92,7 +92,7 @@ private:
//
// Converts to/from UTF-8 using MultiByteToWideChar and WideCharToMultiByte
//
-class ICE_UTIL_API WindowsStringConverter : public StringConverter
+class ICE_API WindowsStringConverter : public StringConverter
{
public:
@@ -111,22 +111,22 @@ private:
//
// Retrieve the per process narrow string converter.
//
-ICE_UTIL_API StringConverterPtr getProcessStringConverter();
+ICE_API StringConverterPtr getProcessStringConverter();
//
// Set the per process narrow string converter.
//
-ICE_UTIL_API void setProcessStringConverter(const StringConverterPtr&);
+ICE_API void setProcessStringConverter(const StringConverterPtr&);
//
// Retrieve the per process wide string converter.
//
-ICE_UTIL_API WstringConverterPtr getProcessWstringConverter();
+ICE_API WstringConverterPtr getProcessWstringConverter();
//
// Set the per process wide string converter.
//
-ICE_UTIL_API void setProcessWstringConverter(const WstringConverterPtr&);
+ICE_API void setProcessWstringConverter(const WstringConverterPtr&);
//
@@ -137,7 +137,7 @@ ICE_UTIL_API void setProcessWstringConverter(const WstringConverterPtr&);
// If the WstringConverter parameter is null, the input's wstring
// encoding is UTF-16 or UTF-32 depending on the size of wchar_t.
//
-ICE_UTIL_API std::string
+ICE_API std::string
wstringToString(const std::wstring&, const StringConverterPtr& = 0,
const WstringConverterPtr& = 0, ConversionFlags = lenientConversion);
@@ -149,7 +149,7 @@ wstringToString(const std::wstring&, const StringConverterPtr& = 0,
// If the WstringConverter parameter is null, the result's wstring
// encoding is UTF-16 or UTF-32 depending on the size of wchar_t.
//
-ICE_UTIL_API std::wstring
+ICE_API std::wstring
stringToWstring(const std::string&, const StringConverterPtr& = 0,
const WstringConverterPtr& = 0, ConversionFlags = lenientConversion);
@@ -159,7 +159,7 @@ stringToWstring(const std::string&, const StringConverterPtr& = 0,
// UTF-8 using the given converter. If the converter is null, returns
// the given string.
//
-ICE_UTIL_API std::string
+ICE_API std::string
nativeToUTF8(const std::string&, const StringConverterPtr&);
//
@@ -167,7 +167,7 @@ nativeToUTF8(const std::string&, const StringConverterPtr&);
// encoding using the given converter. If the converter is null,
// returns the given string.
//
-ICE_UTIL_API std::string
+ICE_API std::string
UTF8ToNative(const std::string&, const StringConverterPtr&);
}
diff --git a/cpp/include/IceUtil/StringUtil.h b/cpp/include/IceUtil/StringUtil.h
index 8aca611fac3..2e0763e7a46 100644
--- a/cpp/include/IceUtil/StringUtil.h
+++ b/cpp/include/IceUtil/StringUtil.h
@@ -20,29 +20,29 @@ namespace IceUtilInternal
// Add escape sequences (like "\n", or "\0xxx") to make a string
// readable in ASCII.
//
-ICE_UTIL_API std::string escapeString(const std::string&, const std::string&);
+ICE_API std::string escapeString(const std::string&, const std::string&);
//
// Remove escape sequences added by escapeString. Throws IllegalArgumentException
// for an invalid input string.
//
-ICE_UTIL_API std::string unescapeString(const std::string&, std::string::size_type, std::string::size_type);
+ICE_API std::string unescapeString(const std::string&, std::string::size_type, std::string::size_type);
//
// Split a string using the given delimiters. Considers single and double quotes;
// returns false for unbalanced quote, true otherwise.
//
-ICE_UTIL_API bool splitString(const std::string&, const std::string&, std::vector<std::string>&);
+ICE_API bool splitString(const std::string&, const std::string&, std::vector<std::string>&);
//
// Join a list of strings using the given delimiter.
//
-ICE_UTIL_API std::string joinString(const std::vector<std::string>&, const std::string&);
+ICE_API std::string joinString(const std::vector<std::string>&, const std::string&);
//
// Trim white space
//
-ICE_UTIL_API std::string trim(const std::string&);
+ICE_API std::string trim(const std::string&);
//
// If a single or double quotation mark is found at the start
@@ -51,7 +51,7 @@ ICE_UTIL_API std::string trim(const std::string&);
// 0 is returned. If no matching closing quote is found, then
// std::string::npos is returned.
//
-ICE_UTIL_API std::string::size_type checkQuote(const std::string&, std::string::size_type = 0);
+ICE_API std::string::size_type checkQuote(const std::string&, std::string::size_type = 0);
//
// Match `s' against the pattern `pat'. A * in the pattern acts
@@ -59,16 +59,16 @@ ICE_UTIL_API std::string::size_type checkQuote(const std::string&, std::string::
// other than a period (`.'). We match by hand here because
// it's portable across platforms (whereas regex() isn't).
//
-ICE_UTIL_API bool match(const std::string&, const std::string&, bool = false);
+ICE_API bool match(const std::string&, const std::string&, bool = false);
//
// Get the error message for the last error code or given error code.
//
-ICE_UTIL_API std::string lastErrorToString();
+ICE_API std::string lastErrorToString();
#ifdef _WIN32
-ICE_UTIL_API std::string errorToString(int, LPCVOID = NULL);
+ICE_API std::string errorToString(int, LPCVOID = NULL);
#else
-ICE_UTIL_API std::string errorToString(int);
+ICE_API std::string errorToString(int);
#endif
//
@@ -76,15 +76,15 @@ ICE_UTIL_API std::string errorToString(int);
// UTF8 string/characters but ignore non ASCII characters. Unlike, the
// C methods, these methods are not local dependent.
//
-ICE_UTIL_API std::string toLower(const std::string&);
-ICE_UTIL_API std::string toUpper(const std::string&);
-ICE_UTIL_API bool isAlpha(char);
-ICE_UTIL_API bool isDigit(char);
+ICE_API std::string toLower(const std::string&);
+ICE_API std::string toUpper(const std::string&);
+ICE_API bool isAlpha(char);
+ICE_API bool isDigit(char);
//
// Remove all whitespace from a string
//
-ICE_UTIL_API std::string removeWhitespace(const std::string&);
+ICE_API std::string removeWhitespace(const std::string&);
}
diff --git a/cpp/include/IceUtil/Thread.h b/cpp/include/IceUtil/Thread.h
index c3f17ce0e88..b00b124b895 100644
--- a/cpp/include/IceUtil/Thread.h
+++ b/cpp/include/IceUtil/Thread.h
@@ -25,7 +25,7 @@ namespace IceUtil
class Time;
-class ICE_UTIL_API ThreadControl
+class ICE_API ThreadControl
{
public:
@@ -112,7 +112,7 @@ private:
#endif
};
-class ICE_UTIL_API Thread : public virtual IceUtil::Shared
+class ICE_API Thread : public virtual IceUtil::Shared
{
public:
diff --git a/cpp/include/IceUtil/ThreadException.h b/cpp/include/IceUtil/ThreadException.h
index e646708bb0d..8f380206d5c 100644
--- a/cpp/include/IceUtil/ThreadException.h
+++ b/cpp/include/IceUtil/ThreadException.h
@@ -16,7 +16,7 @@
namespace IceUtil
{
-class ICE_UTIL_API ThreadSyscallException : public SyscallException
+class ICE_API ThreadSyscallException : public SyscallException
{
public:
@@ -28,7 +28,7 @@ public:
virtual void ice_throw() const;
};
-class ICE_UTIL_API ThreadLockedException : public Exception
+class ICE_API ThreadLockedException : public Exception
{
public:
@@ -40,7 +40,7 @@ public:
virtual void ice_throw() const;
};
-class ICE_UTIL_API ThreadStartedException : public Exception
+class ICE_API ThreadStartedException : public Exception
{
public:
@@ -52,7 +52,7 @@ public:
virtual void ice_throw() const;
};
-class ICE_UTIL_API ThreadNotStartedException : public Exception
+class ICE_API ThreadNotStartedException : public Exception
{
public:
@@ -64,7 +64,7 @@ public:
virtual void ice_throw() const;
};
-class ICE_UTIL_API BadThreadControlException : public Exception
+class ICE_API BadThreadControlException : public Exception
{
public:
@@ -76,7 +76,7 @@ public:
virtual void ice_throw() const;
};
-class ICE_UTIL_API InvalidTimeoutException : public Exception
+class ICE_API InvalidTimeoutException : public Exception
{
public:
diff --git a/cpp/include/IceUtil/Time.h b/cpp/include/IceUtil/Time.h
index 002760330b2..5b57972f136 100644
--- a/cpp/include/IceUtil/Time.h
+++ b/cpp/include/IceUtil/Time.h
@@ -19,7 +19,7 @@
namespace IceUtil
{
-class ICE_UTIL_API Time
+class ICE_API Time
{
public:
@@ -203,7 +203,7 @@ private:
Int64 _usec;
};
-ICE_UTIL_API std::ostream& operator<<(std::ostream&, const Time&);
+ICE_API std::ostream& operator<<(std::ostream&, const Time&);
} // End namespace IceUtil
diff --git a/cpp/include/IceUtil/Timer.h b/cpp/include/IceUtil/Timer.h
index 9f703f194e5..f0555280a9f 100644
--- a/cpp/include/IceUtil/Timer.h
+++ b/cpp/include/IceUtil/Timer.h
@@ -28,7 +28,7 @@ typedef IceUtil::Handle<Timer> TimerPtr;
// Extend the TimerTask class and override the runTimerTask() method to execute
// code at a specific time or repeatedly.
//
-class ICE_UTIL_API TimerTask
+class ICE_API TimerTask
#ifndef ICE_CPP11_MAPPING
: public virtual IceUtil::Shared
#endif
@@ -46,7 +46,7 @@ ICE_DEFINE_PTR(TimerTaskPtr, TimerTask);
// repeated execution. Tasks are executed by the dedicated timer thread
// sequentially.
//
-class ICE_UTIL_API Timer : public virtual IceUtil::Shared, private IceUtil::Thread
+class ICE_API Timer : public virtual IceUtil::Shared, private IceUtil::Thread
{
public:
diff --git a/cpp/include/IceUtil/UUID.h b/cpp/include/IceUtil/UUID.h
index 801d0525a3c..76b77203ed5 100644
--- a/cpp/include/IceUtil/UUID.h
+++ b/cpp/include/IceUtil/UUID.h
@@ -15,7 +15,7 @@
namespace IceUtil
{
-ICE_UTIL_API std::string generateUUID();
+ICE_API std::string generateUUID();
}
diff --git a/cpp/src/Ice/Incoming.cpp b/cpp/src/Ice/Incoming.cpp
index 2ca85c47c07..5e7e0616943 100644
--- a/cpp/src/Ice/Incoming.cpp
+++ b/cpp/src/Ice/Incoming.cpp
@@ -33,7 +33,7 @@ using namespace IceInternal;
namespace IceUtilInternal
{
-extern bool ICE_UTIL_API printStackTraces;
+extern bool printStackTraces;
}
diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp
index 089a8ee0871..4baed1e3421 100644
--- a/cpp/src/Ice/Instance.cpp
+++ b/cpp/src/Ice/Instance.cpp
@@ -74,8 +74,8 @@ using namespace IceInternal;
namespace IceUtilInternal
{
-extern bool ICE_UTIL_API nullHandleAbort;
-extern bool ICE_UTIL_API printStackTraces;
+extern bool nullHandleAbort;
+extern bool printStackTraces;
};
diff --git a/cpp/src/Ice/LoggerUtil.cpp b/cpp/src/Ice/LoggerUtil.cpp
index 6653fe9a243..13dd1eae363 100644
--- a/cpp/src/Ice/LoggerUtil.cpp
+++ b/cpp/src/Ice/LoggerUtil.cpp
@@ -19,7 +19,7 @@ using namespace std;
namespace IceUtilInternal
{
-extern bool ICE_UTIL_API printStackTraces;
+extern bool printStackTraces;
}
diff --git a/cpp/src/Ice/Makefile.mk b/cpp/src/Ice/Makefile.mk
index 50ace93ca83..99f6bbabb8f 100644
--- a/cpp/src/Ice/Makefile.mk
+++ b/cpp/src/Ice/Makefile.mk
@@ -10,7 +10,7 @@
$(project)_libraries = Ice
Ice_targetdir := $(libdir)
-Ice_cppflags = -DICE_API_EXPORTS -DICE_UTIL_API_EXPORTS
+Ice_cppflags = -DICE_API_EXPORTS
ifeq ($(DEFAULT_MUTEX_PROTOCOL), PrioInherit)
Ice_cppflags += -DICE_PRIO_INHERIT
@@ -22,7 +22,7 @@ endif
Ice_sliceflags := --include-dir Ice --dll-export ICE_API
Ice_libs := bz2
-Ice_system_libs := $(ICE_OS_LIBS) $(ICEUTIL_OS_LIBS)
+Ice_system_libs := $(ICE_OS_LIBS)
Ice_extra_sources := $(wildcard src/IceUtil/*.cpp)
Ice_excludes := $(currentdir)/DLLMain.cpp
diff --git a/cpp/src/IceUtil/ArgVector.h b/cpp/src/IceUtil/ArgVector.h
index fa8fe1592fa..634dec94e63 100644
--- a/cpp/src/IceUtil/ArgVector.h
+++ b/cpp/src/IceUtil/ArgVector.h
@@ -17,7 +17,7 @@
namespace IceUtilInternal
{
-class ICE_UTIL_API ArgVector
+class ICE_API ArgVector
{
public:
diff --git a/cpp/src/IceUtil/Makefile.mk b/cpp/src/IceUtil/Makefile.mk
index a8b13e209cd..9a7c3d97079 100644
--- a/cpp/src/IceUtil/Makefile.mk
+++ b/cpp/src/IceUtil/Makefile.mk
@@ -9,17 +9,11 @@
$(project)_libraries = IceUtil
-IceUtil_targetdir := $(libdir)
-IceUtil_cppflags := -DICE_UTIL_API_EXPORTS
-IceUtil_system_libs := $(ICEUTIL_OS_LIBS)
+IceUtil_targetdir := $(libdir)
# Always enable the static configuration for the IceUtil library
IceUtil_always_enable_configs := static
-ifeq ($(DEFAULT_MUTEX_PROTOCOL), PrioInherit)
- IceUtil_cppflags += -DICE_PRIO_INHERIT
-endif
-
ifeq ($(libbacktrace),yes)
IceUtil_cppflags += -DICE_LIBBACKTRACE
endif
diff --git a/cpp/src/IceUtil/Unicode.h b/cpp/src/IceUtil/Unicode.h
index d5c3b235ddb..c061ec51da0 100644
--- a/cpp/src/IceUtil/Unicode.h
+++ b/cpp/src/IceUtil/Unicode.h
@@ -45,15 +45,15 @@ convertUTF8ToUTFWstring(const IceUtil::Byte*& sourceStart, const IceUtil::Byte*
std::wstring& target, IceUtil::ConversionFlags flags);
-ICE_UTIL_API ConversionResult
+ICE_API ConversionResult
convertUTF8ToUTF16(const std::vector<unsigned char>&, std::vector<unsigned short>&,
IceUtil::ConversionFlags);
-ICE_UTIL_API ConversionResult
+ICE_API ConversionResult
convertUTF8ToUTF32(const std::vector<unsigned char>&, std::vector<unsigned int>&,
IceUtil::ConversionFlags);
-ICE_UTIL_API ConversionResult
+ICE_API ConversionResult
convertUTF32ToUTF8(const std::vector<unsigned int>&, std::vector<unsigned char>&,
IceUtil::ConversionFlags);
diff --git a/cpp/src/IceUtil/UtilException.cpp b/cpp/src/IceUtil/UtilException.cpp
index b0c25c75324..450174ec274 100644
--- a/cpp/src/IceUtil/UtilException.cpp
+++ b/cpp/src/IceUtil/UtilException.cpp
@@ -74,8 +74,8 @@ using namespace std;
namespace IceUtilInternal
{
-bool ICE_UTIL_API printStackTraces = false;
-bool ICE_UTIL_API nullHandleAbort = false;
+bool ICE_API printStackTraces = false;
+bool ICE_API nullHandleAbort = false;
StackTraceImpl
stackTraceImpl()
diff --git a/cpp/include/Slice/CPlusPlusUtil.h b/cpp/src/Slice/CPlusPlusUtil.h
index 5a3ad0f4b14..5a3ad0f4b14 100644
--- a/cpp/include/Slice/CPlusPlusUtil.h
+++ b/cpp/src/Slice/CPlusPlusUtil.h
diff --git a/cpp/include/Slice/Checksum.h b/cpp/src/Slice/Checksum.h
index 3744d8a6ad4..3744d8a6ad4 100644
--- a/cpp/include/Slice/Checksum.h
+++ b/cpp/src/Slice/Checksum.h
diff --git a/cpp/src/Slice/CsUtil.h b/cpp/src/Slice/CsUtil.h
new file mode 100644
index 00000000000..2401ae1db84
--- /dev/null
+++ b/cpp/src/Slice/CsUtil.h
@@ -0,0 +1,91 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2016 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 CS_UTIL_H
+#define CS_UTIL_H
+
+#include <Slice/Parser.h>
+#include <IceUtil/OutputUtil.h>
+
+namespace Slice
+{
+
+class CsGenerator : private ::IceUtil::noncopyable
+{
+public:
+
+ virtual ~CsGenerator() {};
+
+ //
+ // Convert a dimension-less array declaration to one with a dimension.
+ //
+ static std::string toArrayAlloc(const std::string& decl, const std::string& sz);
+
+ //
+ // Validate all metadata in the unit with a "cs:" prefix.
+ //
+ static void validateMetaData(const UnitPtr&);
+
+protected:
+ static std::string fixId(const std::string&, int = 0, bool = false);
+ static std::string fixId(const ContainedPtr&, int = 0, bool = false);
+ static std::string getOptionalFormat(const TypePtr&);
+ static std::string getStaticId(const TypePtr&);
+ static std::string typeToString(const TypePtr&, bool = false);
+ static bool isValueType(const TypePtr&);
+ static bool isSerializable(const TypePtr&);
+
+ //
+ // Generate code to marshal or unmarshal a type
+ //
+ void writeMarshalUnmarshalCode(::IceUtilInternal::Output&, const TypePtr&, const std::string&, bool);
+ void writeOptionalMarshalUnmarshalCode(::IceUtilInternal::Output&, const TypePtr&, const std::string&, int, bool);
+ void writeSequenceMarshalUnmarshalCode(::IceUtilInternal::Output&, const SequencePtr&, const std::string&,
+ bool, bool);
+ void writeOptionalSequenceMarshalUnmarshalCode(::IceUtilInternal::Output&, const SequencePtr&, const std::string&,
+ int, bool);
+
+ void writeSerializeDeserializeCode(::IceUtilInternal::Output&, const TypePtr&, const std::string&, bool, int, bool);
+
+private:
+
+ class MetaDataVisitor : public ParserVisitor
+ {
+ public:
+
+ virtual bool visitUnitStart(const UnitPtr&);
+ virtual bool visitModuleStart(const ModulePtr&);
+ virtual void visitModuleEnd(const ModulePtr&);
+ virtual void visitClassDecl(const ClassDeclPtr&);
+ virtual bool visitClassDefStart(const ClassDefPtr&);
+ virtual void visitClassDefEnd(const ClassDefPtr&);
+ virtual bool visitExceptionStart(const ExceptionPtr&);
+ virtual void visitExceptionEnd(const ExceptionPtr&);
+ virtual bool visitStructStart(const StructPtr&);
+ virtual void visitStructEnd(const StructPtr&);
+ virtual void visitOperation(const OperationPtr&);
+ virtual void visitParamDecl(const ParamDeclPtr&);
+ virtual void visitDataMember(const DataMemberPtr&);
+ virtual void visitSequence(const SequencePtr&);
+ virtual void visitDictionary(const DictionaryPtr&);
+ virtual void visitEnum(const EnumPtr&);
+ virtual void visitConst(const ConstPtr&);
+
+ private:
+
+ void validate(const ContainedPtr&);
+
+ std::string _fileName;
+ StringSet _history;
+ };
+};
+
+}
+
+#endif
diff --git a/cpp/src/Slice/DotNetNames.h b/cpp/src/Slice/DotNetNames.h
new file mode 100644
index 00000000000..f4ee205e13d
--- /dev/null
+++ b/cpp/src/Slice/DotNetNames.h
@@ -0,0 +1,34 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2016 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 DOTNETNAMES_H
+#define DOTNETNAMES_H
+
+#include <string>
+
+namespace Slice
+{
+
+namespace DotNet
+{
+
+enum BaseType
+{
+ Object=1, ICloneable=2, Exception=4, END=8
+};
+
+extern const char * manglePrefix;
+
+std::string mangleName(const std::string&, int baseTypes = 0);
+
+}
+
+}
+
+#endif
diff --git a/cpp/include/Slice/FileTracker.h b/cpp/src/Slice/FileTracker.h
index 1c18c97742f..1c18c97742f 100644
--- a/cpp/include/Slice/FileTracker.h
+++ b/cpp/src/Slice/FileTracker.h
diff --git a/cpp/include/Slice/JavaUtil.h b/cpp/src/Slice/JavaUtil.h
index 6473f406e0e..6473f406e0e 100644
--- a/cpp/include/Slice/JavaUtil.h
+++ b/cpp/src/Slice/JavaUtil.h
diff --git a/cpp/src/Slice/Makefile.mk b/cpp/src/Slice/Makefile.mk
index a7bd6544050..c8686d54d17 100644
--- a/cpp/src/Slice/Makefile.mk
+++ b/cpp/src/Slice/Makefile.mk
@@ -10,8 +10,6 @@
$(project)_libraries := Slice
Slice_targetdir := $(libdir)
-Slice_dependencies := IceUtil
-Slice_cppflags := -DSLICE_API_EXPORTS
Slice_libs := mcpp
# Always enable the static configuration for the Slice library
diff --git a/cpp/include/Slice/ObjCUtil.h b/cpp/src/Slice/ObjCUtil.h
index 7c8236ede63..7c8236ede63 100644
--- a/cpp/include/Slice/ObjCUtil.h
+++ b/cpp/src/Slice/ObjCUtil.h
diff --git a/cpp/include/Slice/PHPUtil.h b/cpp/src/Slice/PHPUtil.h
index e98130e9345..e98130e9345 100644
--- a/cpp/include/Slice/PHPUtil.h
+++ b/cpp/src/Slice/PHPUtil.h
diff --git a/cpp/include/Slice/Parser.h b/cpp/src/Slice/Parser.h
index a142ec921d0..a142ec921d0 100644
--- a/cpp/include/Slice/Parser.h
+++ b/cpp/src/Slice/Parser.h
diff --git a/cpp/include/Slice/Preprocessor.h b/cpp/src/Slice/Preprocessor.h
index 80f8acf4d66..80f8acf4d66 100644
--- a/cpp/include/Slice/Preprocessor.h
+++ b/cpp/src/Slice/Preprocessor.h
diff --git a/cpp/include/Slice/PythonUtil.h b/cpp/src/Slice/PythonUtil.h
index 807fcfa1561..807fcfa1561 100644
--- a/cpp/include/Slice/PythonUtil.h
+++ b/cpp/src/Slice/PythonUtil.h
diff --git a/cpp/include/Slice/RubyUtil.h b/cpp/src/Slice/RubyUtil.h
index 3acae195d9c..3acae195d9c 100644
--- a/cpp/include/Slice/RubyUtil.h
+++ b/cpp/src/Slice/RubyUtil.h
diff --git a/cpp/include/Slice/Util.h b/cpp/src/Slice/Util.h
index a2ec69a87a2..a2ec69a87a2 100644
--- a/cpp/include/Slice/Util.h
+++ b/cpp/src/Slice/Util.h
diff --git a/cpp/src/Slice/msbuild/slice.vcxproj b/cpp/src/Slice/msbuild/slice.vcxproj
index c1fd2551891..c495f735108 100644
--- a/cpp/src/Slice/msbuild/slice.vcxproj
+++ b/cpp/src/Slice/msbuild/slice.vcxproj
@@ -83,17 +83,17 @@
<ClCompile Include="..\SliceUtil.cpp" />
</ItemGroup>
<ItemGroup>
- <ClInclude Include="..\..\..\include\Slice\Checksum.h" />
- <ClInclude Include="..\..\..\include\Slice\CPlusPlusUtil.h" />
- <ClInclude Include="..\..\..\include\Slice\FileTracker.h" />
- <ClInclude Include="..\..\..\include\Slice\JavaUtil.h" />
- <ClInclude Include="..\..\..\include\Slice\ObjCUtil.h" />
- <ClInclude Include="..\..\..\include\Slice\Parser.h" />
- <ClInclude Include="..\..\..\include\Slice\PHPUtil.h" />
- <ClInclude Include="..\..\..\include\Slice\Preprocessor.h" />
- <ClInclude Include="..\..\..\include\Slice\PythonUtil.h" />
- <ClInclude Include="..\..\..\include\Slice\RubyUtil.h" />
- <ClInclude Include="..\..\..\include\Slice\Util.h" />
+ <ClInclude Include="..\Checksum.h" />
+ <ClInclude Include="..\CPlusPlusUtil.h" />
+ <ClInclude Include="..\FileTracker.h" />
+ <ClInclude Include="..\JavaUtil.h" />
+ <ClInclude Include="..\ObjCUtil.h" />
+ <ClInclude Include="..\Parser.h" />
+ <ClInclude Include="..\PHPUtil.h" />
+ <ClInclude Include="..\Preprocessor.h" />
+ <ClInclude Include="..\PythonUtil.h" />
+ <ClInclude Include="..\RubyUtil.h" />
+ <ClInclude Include="..\Util.h" />
<ClInclude Include="..\Grammar.h" />
<ClInclude Include="..\GrammarUtil.h" />
<ClInclude Include="..\MD5.h" />
@@ -101,4 +101,4 @@
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
-</Project>
+</Project> \ No newline at end of file
diff --git a/cpp/src/Slice/msbuild/slice.vcxproj.filters b/cpp/src/Slice/msbuild/slice.vcxproj.filters
index c3359f281c5..fd3091d1980 100644
--- a/cpp/src/Slice/msbuild/slice.vcxproj.filters
+++ b/cpp/src/Slice/msbuild/slice.vcxproj.filters
@@ -21,9 +21,6 @@
<ClCompile Include="..\CPlusPlusUtil.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\DotNetNames.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="..\FileTracker.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -83,41 +80,38 @@
<ClInclude Include="..\MD5I.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\Checksum.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\Slice\CPlusPlusUtil.h">
+ <ClInclude Include="..\Checksum.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\DotNetNames.h">
+ <ClInclude Include="..\CPlusPlusUtil.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\FileTracker.h">
+ <ClInclude Include="..\FileTracker.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\JavaUtil.h">
+ <ClInclude Include="..\JavaUtil.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\ObjCUtil.h">
+ <ClInclude Include="..\ObjCUtil.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\Parser.h">
+ <ClInclude Include="..\Parser.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\Preprocessor.h">
+ <ClInclude Include="..\Preprocessor.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\RubyUtil.h">
+ <ClInclude Include="..\RubyUtil.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\Util.h">
+ <ClInclude Include="..\Util.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\PHPUtil.h">
+ <ClInclude Include="..\PHPUtil.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\include\Slice\PythonUtil.h">
+ <ClInclude Include="..\PythonUtil.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
-</Project>
+</Project> \ No newline at end of file
diff --git a/cpp/test/IceUtil/priority/Client.cpp b/cpp/test/IceUtil/priority/Client.cpp
index 87dab3bb9e3..05fbed1b3b5 100644
--- a/cpp/test/IceUtil/priority/Client.cpp
+++ b/cpp/test/IceUtil/priority/Client.cpp
@@ -22,7 +22,7 @@ using namespace std;
namespace IceUtil
{
-ICE_UTIL_API MutexProtocol
+ICE_API MutexProtocol
getDefaultMutexProtocol()
{
# if defined(_POSIX_THREAD_PRIO_INHERIT) && _POSIX_THREAD_PRIO_INHERIT > 0
diff --git a/cpp/test/IceUtil/stacktrace/Client.cpp b/cpp/test/IceUtil/stacktrace/Client.cpp
index d9d653b6cec..efb6e19ab89 100644
--- a/cpp/test/IceUtil/stacktrace/Client.cpp
+++ b/cpp/test/IceUtil/stacktrace/Client.cpp
@@ -18,7 +18,7 @@ using namespace std;
namespace IceUtilInternal
{
-extern bool ICE_UTIL_API printStackTraces;
+extern bool ICE_API printStackTraces;
}
namespace
diff --git a/php/src/php5/Makefile.mk b/php/src/php5/Makefile.mk
index 44a3efb669c..61845023726 100644
--- a/php/src/php5/Makefile.mk
+++ b/php/src/php5/Makefile.mk
@@ -14,7 +14,7 @@ IcePHP_targetname := IcePHP
IcePHP_targetdir := $(lang_srcdir)/lib
IcePHP_installdir := $(install_phplibdir)
IcePHP_cppflags := -I$(project) -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated \
- -I$(top_srcdir)/cpp/src -DSLICE_API_EXPORTS $(php_cppflags)
+ -I$(top_srcdir)/cpp/src $(php_cppflags)
IcePHP_ldflags := $(php_ldflags)
IcePHP_dependencies := IceDiscovery IceLocatorDiscovery IceSSL Ice
IcePHP_libs := mcpp
diff --git a/php/src/php7/Makefile.mk b/php/src/php7/Makefile.mk
index 44a3efb669c..61845023726 100644
--- a/php/src/php7/Makefile.mk
+++ b/php/src/php7/Makefile.mk
@@ -14,7 +14,7 @@ IcePHP_targetname := IcePHP
IcePHP_targetdir := $(lang_srcdir)/lib
IcePHP_installdir := $(install_phplibdir)
IcePHP_cppflags := -I$(project) -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated \
- -I$(top_srcdir)/cpp/src -DSLICE_API_EXPORTS $(php_cppflags)
+ -I$(top_srcdir)/cpp/src $(php_cppflags)
IcePHP_ldflags := $(php_ldflags)
IcePHP_dependencies := IceDiscovery IceLocatorDiscovery IceSSL Ice
IcePHP_libs := mcpp
diff --git a/python/modules/IcePy/Makefile.mk b/python/modules/IcePy/Makefile.mk
index 5a1705d1c65..dd7f519f6a5 100644
--- a/python/modules/IcePy/Makefile.mk
+++ b/python/modules/IcePy/Makefile.mk
@@ -14,7 +14,7 @@ IcePy_targetname := IcePy
IcePy_targetdir := $(lang_srcdir)/python
IcePy_installdir := $(install_pythondir)
IcePy_cppflags := -I$(project) -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated \
- -I$(top_srcdir)/cpp/src -DSLICE_API_EXPORTS $(python_cppflags)
+ -I$(top_srcdir)/cpp/src $(python_cppflags)
IcePy_ldflags := $(python_ldflags)
IcePy_dependencies := IceSSL Ice
IcePy_libs := mcpp
diff --git a/ruby/src/IceRuby/Makefile.mk b/ruby/src/IceRuby/Makefile.mk
index 1609e4c803c..9ab0fa99c2d 100644
--- a/ruby/src/IceRuby/Makefile.mk
+++ b/ruby/src/IceRuby/Makefile.mk
@@ -14,7 +14,7 @@ IceRuby_targetname := IceRuby
IceRuby_targetdir := $(lang_srcdir)/ruby
IceRuby_installdir := $(install_rubylibdir)
IceRuby_cppflags := -I$(project) -I$(top_srcdir)/cpp/include -I$(top_srcdir)/cpp/include/generated \
- -I$(top_srcdir)/cpp/src -DSLICE_API_EXPORTS $(ruby_cppflags)
+ -I$(top_srcdir)/cpp/src $(ruby_cppflags)
IceRuby_ldflags := $(ruby_ldflags)
IceRuby_dependencies := IceSSL Ice
IceRuby_libs := mcpp