From 4fac237fdcf025c5fd5aafe207113abd6abb469b Mon Sep 17 00:00:00 2001 From: John Emmas Date: Mon, 14 Oct 2013 17:40:15 +0100 Subject: 'PBD::demangle()' - Minor modification to keep MSVC happy --- libs/pbd/stacktrace.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libs/pbd/stacktrace.cc') diff --git a/libs/pbd/stacktrace.cc b/libs/pbd/stacktrace.cc index a51dbc934d..eca808bfd7 100644 --- a/libs/pbd/stacktrace.cc +++ b/libs/pbd/stacktrace.cc @@ -22,6 +22,7 @@ #include "pbd/stacktrace.h" #include #include +#include void PBD::trace_twb () @@ -107,7 +108,8 @@ PBD::stacktrace (std::ostream& out, int levels) std::string PBD::demangle (std::string const & l) { - return string; + std::string empty_string; + return empty_string; } void -- cgit v1.2.3 From 6bd36896e7d5ab9d80a2be5fd2d097fdd4680b13 Mon Sep 17 00:00:00 2001 From: John Emmas Date: Sun, 1 Dec 2013 14:26:08 +0000 Subject: 'libs/pbd' - DLL visibility stuff and associated changes needed for building with MSVC. Currently includes debugging information and things that are just commented out until we have known compatibility with the other platforms (i.e. contains stuff to be removed at a later date) --- libs/pbd/epa.cc | 2 +- libs/pbd/fallback_folders.cc | 6 ++-- libs/pbd/msvc/msvc_pbd.cc | 40 +++++++++++------------ libs/pbd/msvc/msvc_poll.cc | 2 +- libs/pbd/pbd/abstract_ui.cc | 2 +- libs/pbd/pbd/abstract_ui.h | 2 +- libs/pbd/pbd/cartesian.h | 2 +- libs/pbd/pbd/compose.h | 30 ++++++++--------- libs/pbd/pbd/convert.h | 2 +- libs/pbd/pbd/demangle.h | 2 +- libs/pbd/pbd/fallback_folders.h | 8 ++--- libs/pbd/pbd/ffs.h | 4 ++- libs/pbd/pbd/floating.h | 2 +- libs/pbd/pbd/functor_command.h | 2 +- libs/pbd/pbd/glib_semaphore.h | 3 +- libs/pbd/pbd/localeguard.h | 2 +- libs/pbd/pbd/memento_command.h | 6 ++-- libs/pbd/pbd/msvc_pbd.h | 70 ++++++++++++++++++++++------------------ libs/pbd/pbd/pathexpand.h | 1 + libs/pbd/pbd/properties.h | 12 +++---- libs/pbd/pbd/property_basics.h | 17 +++++----- libs/pbd/pbd/rcu.h | 6 ++-- libs/pbd/pbd/ringbuffer.h | 10 +++--- libs/pbd/pbd/ringbufferNPT.h | 10 +++--- libs/pbd/pbd/search_path.h | 26 ++++++++------- libs/pbd/pbd/semaphore.h | 2 +- libs/pbd/pbd/sequence_property.h | 6 ++-- libs/pbd/pbd/signals.h | 2 +- libs/pbd/pbd/stacktrace.h | 10 +++--- libs/pbd/pbd/stl_delete.h | 10 +++--- libs/pbd/pbd/tokenizer.h | 2 +- libs/pbd/pbd/touchable.h | 8 ++--- libs/pbd/pbd/unknown_type.h | 4 +-- libs/pbd/pbd/unwind.h | 2 +- libs/pbd/pbd/uuid.h | 2 +- libs/pbd/stacktrace.cc | 2 +- 36 files changed, 166 insertions(+), 153 deletions(-) (limited to 'libs/pbd/stacktrace.cc') diff --git a/libs/pbd/epa.cc b/libs/pbd/epa.cc index 1a27a436a6..c7a1d41b0e 100644 --- a/libs/pbd/epa.cc +++ b/libs/pbd/epa.cc @@ -146,4 +146,4 @@ EnvironmentalProtectionAgency::clear () const string before = estring.substr (0, equal); g_unsetenv(before.c_str()); } -} +} diff --git a/libs/pbd/fallback_folders.cc b/libs/pbd/fallback_folders.cc index deecd60d7a..f17e69e417 100644 --- a/libs/pbd/fallback_folders.cc +++ b/libs/pbd/fallback_folders.cc @@ -521,7 +521,7 @@ gchar *pUsrHome = 0; // relevant index. // On Failure: NULL // -PBD_API G_CONST_RETURN gchar* PBD_APICALLTYPE +LIBPBD_API G_CONST_RETURN gchar* PBD_APICALLTYPE get_platform_fallback_folder (PBD::fallback_folder_t index) { if ((index >= 0) && (index < FALLBACK_FOLDER_MAX)) @@ -546,7 +546,7 @@ get_platform_fallback_folder (PBD::fallback_folder_t index) // // The value obtained from 'get_platform_fallback_folders()' // -PBD_API G_CONST_RETURN gchar* G_CONST_RETURN * PBD_APICALLTYPE +LIBPBD_API G_CONST_RETURN gchar* G_CONST_RETURN * PBD_APICALLTYPE alloc_platform_fallback_folders () { return ((G_CONST_RETURN gchar* G_CONST_RETURN *)get_platform_fallback_folders ()); @@ -564,7 +564,7 @@ alloc_platform_fallback_folders () // // NONE. // -PBD_API void PBD_APICALLTYPE +LIBPBD_API void PBD_APICALLTYPE free_platform_fallback_folders () { int index = FOLDER_LOCALE; diff --git a/libs/pbd/msvc/msvc_pbd.cc b/libs/pbd/msvc/msvc_pbd.cc index f6efe9cdad..5b9c9d449a 100644 --- a/libs/pbd/msvc/msvc_pbd.cc +++ b/libs/pbd/msvc/msvc_pbd.cc @@ -49,7 +49,7 @@ struct timezone int tz_dsttime; /* type of dst correction */ }; -PBD_API int PBD_APICALLTYPE +LIBPBD_API int PBD_APICALLTYPE gettimeofday(struct timeval *__restrict tv, __timezone_ptr_t tz) // Does this need to be exported ? { FILETIME ft; @@ -94,22 +94,22 @@ static int tzflag = 0; #ifndef PTHREAD_H // Defined by PTW32 (Linux and other versions define _PTHREAD_H) #error "An incompatible version of 'pthread.h' is #included. Use only the Windows (ptw32) version!" #else -bool operator> (const pthread_t& lhs, const pthread_t& rhs) +LIBPBD_API bool operator> (const pthread_t& lhs, const pthread_t& rhs) { return (std::greater()(lhs.p, rhs.p)); } -bool operator< (const pthread_t& lhs, const pthread_t& rhs) +LIBPBD_API bool operator< (const pthread_t& lhs, const pthread_t& rhs) { return (std::less()(lhs.p, rhs.p)); } -bool operator!= (const pthread_t& lhs, const pthread_t& rhs) +LIBPBD_API bool operator!= (const pthread_t& lhs, const pthread_t& rhs) { return (std::not_equal_to()(lhs.p, rhs.p)); } -bool operator== (const pthread_t& lhs, const pthread_t& rhs) +LIBPBD_API bool operator== (const pthread_t& lhs, const pthread_t& rhs) { return (!(lhs != rhs)); } @@ -166,7 +166,7 @@ char invert_forwardslash(char character) // On Success: The number of bytes read from the file // On Failure: -1 // -PBD_API ssize_t PBD_APICALLTYPE +LIBPBD_API ssize_t PBD_APICALLTYPE pread(int handle, void *buf, size_t nbytes, off_t offset) { int old_errno; @@ -201,7 +201,7 @@ ssize_t ret; // On Success: The number of bytes written to the file // On Failure: -1 // -PBD_API ssize_t PBD_APICALLTYPE +LIBPBD_API ssize_t PBD_APICALLTYPE pwrite(int handle, const void *buf, size_t nbytes, off_t offset) { int old_errno; @@ -235,7 +235,7 @@ ssize_t ret; // equal to 'x'. // On Failure: None // -PBD_API double PBD_APICALLTYPE +LIBPBD_API double PBD_APICALLTYPE round(double x) { return (floor(x)); @@ -255,7 +255,7 @@ namespace PBD { // On Success: TRUE (if the user's OS matches the minimum spec) // On Failure: FALSE otherwise // -PBD_API bool PBD_APICALLTYPE +LIBPBD_API bool PBD_APICALLTYPE TestForMinimumSpecOS(char *revision /* currently ignored */) { bool bRet = true; @@ -289,7 +289,7 @@ bool bRet = true; // On Success: A pointer to the resolved (absolute) path // On Failure: NULL // -PBD_API char* PBD_APICALLTYPE +LIBPBD_API char* PBD_APICALLTYPE realpath (const char *original_path, char resolved_path[_MAX_PATH+1]) { char *pRet = NULL; @@ -332,7 +332,7 @@ bool bIsSymLink = 0; // We'll probably need to test the incoming path // On Success: Pointer to a (heap based) DIR structure // On Failure: NULL // -PBD_API DIR* PBD_APICALLTYPE +LIBPBD_API DIR* PBD_APICALLTYPE opendir (const char *szPath) { wchar_t wpath[PATH_MAX+1]; @@ -424,7 +424,7 @@ DIR *pDir = 0; // On Success: A pointer to the supplied DIR's 'dirent' struct // On Failure: NULL // -PBD_API struct dirent* PBD_APICALLTYPE +LIBPBD_API struct dirent* PBD_APICALLTYPE readdir (DIR* pDir) { int old_errno = 0; @@ -502,7 +502,7 @@ errno = 0; // On Success: 0 // On Failure: -1 // -PBD_API int PBD_APICALLTYPE +LIBPBD_API int PBD_APICALLTYPE closedir (DIR *pDir) { int rc = 0; @@ -536,7 +536,7 @@ int rc = 0; // On Success: A file descriptor for the opened file. // On Failure: (-1) // -PBD_API int PBD_APICALLTYPE +LIBPBD_API int PBD_APICALLTYPE mkstemp (char *template_name) { int ret = (-1); @@ -567,7 +567,7 @@ char szTempPath[PATH_MAX+100]; // Just ensure we have plenty of buffer space // On Success: Non-zero. // On Failure: Zero (call 'GetLastError()' to retrieve info) // -PBD_API int PBD_APICALLTYPE +LIBPBD_API int PBD_APICALLTYPE ntfs_link (const char *existing_filepath, const char *link_filepath) { int ret = 1; // 'ERROR_INVALID_FUNCTION' @@ -697,7 +697,7 @@ bool bValidPath = false; // On Success: Non-zero. // On Failure: Zero (call 'GetLastError()' to retrieve info) // -PBD_API int PBD_APICALLTYPE +LIBPBD_API int PBD_APICALLTYPE ntfs_unlink (const char *link_filepath) { int ret = 1; // 'ERROR_INVALID_FUNCTION' @@ -820,7 +820,7 @@ bool bValidPath = false; // On Success: A handle to the opened DLL // On Failure: NULL // -PBD_API void* PBD_APICALLTYPE +LIBPBD_API void* PBD_APICALLTYPE dlopen (const char *file_name, int mode) { // Note that 'mode' is ignored in Win32 @@ -839,7 +839,7 @@ dlopen (const char *file_name, int mode) // On Success: A non-zero number // On Failure: 0 // -PBD_API int PBD_APICALLTYPE +LIBPBD_API int PBD_APICALLTYPE dlclose (void *handle) { return (::FreeLibrary((HMODULE)handle)); @@ -857,7 +857,7 @@ dlclose (void *handle) // On Success: A pointer to the found function or symbol // On Failure: NULL // -PBD_API void* PBD_APICALLTYPE +LIBPBD_API void* PBD_APICALLTYPE dlsym (void *handle, const char *symbol_name) { // First test for RTLD_DEFAULT and RTLD_NEXT @@ -883,7 +883,7 @@ static char szLastWinError[LOCAL_ERROR_BUF_SIZE]; // last error // On Failure: NULL (if the last error was ERROR_SUCCESS) // -PBD_API char* PBD_APICALLTYPE +LIBPBD_API char* PBD_APICALLTYPE dlerror () { DWORD dwLastErrorId = GetLastError(); diff --git a/libs/pbd/msvc/msvc_poll.cc b/libs/pbd/msvc/msvc_poll.cc index e12ef2bbef..921638a3f5 100644 --- a/libs/pbd/msvc/msvc_poll.cc +++ b/libs/pbd/msvc/msvc_poll.cc @@ -172,7 +172,7 @@ int ret = 0; // This functionality is not yet implemented // writing or had data available for reading. // On Failure: -1 (the actual error is saved in 'errno'). // -PBD_API int PBD_APICALLTYPE +LIBPBD_API int PBD_APICALLTYPE poll (struct pollfd *fds, nfds_t nfds, int timeout) { int elapsed_time = 0; diff --git a/libs/pbd/pbd/abstract_ui.cc b/libs/pbd/pbd/abstract_ui.cc index 9c405745ac..67c39b57e4 100644 --- a/libs/pbd/pbd/abstract_ui.cc +++ b/libs/pbd/pbd/abstract_ui.cc @@ -34,7 +34,7 @@ // if the type of object being contained has no appropriate comparison operators // defined (specifically, if operators '<' and '==' are undefined). This seems // to be the case with ptw32 'pthread_t' which is a simple struct. -DECLARE_DEFAULT_COMPARISONS(pthread_t) +DECLARE_DEFAULT_COMPARISONS(ptw32_handle_t) #endif using namespace std; diff --git a/libs/pbd/pbd/abstract_ui.h b/libs/pbd/pbd/abstract_ui.h index 7e13425bf5..1ceefe7b3b 100644 --- a/libs/pbd/pbd/abstract_ui.h +++ b/libs/pbd/pbd/abstract_ui.h @@ -52,7 +52,7 @@ class Touchable; template -class ABSTRACT_UI_API AbstractUI : public BaseUI /* see notes in visibility.h about why this is not LIBPBD_API */ +class /*ABSTRACT_UI_API*/ AbstractUI : public BaseUI /* see notes in visibility.h about why this is not LIBPBD_API */ { public: AbstractUI (const std::string& name); diff --git a/libs/pbd/pbd/cartesian.h b/libs/pbd/pbd/cartesian.h index 20c8b27088..5f0b951d5f 100644 --- a/libs/pbd/pbd/cartesian.h +++ b/libs/pbd/pbd/cartesian.h @@ -97,7 +97,7 @@ struct LIBPBD_API AngularVector { } }; -LIBPBD_API inline void CartesianVector::angular (AngularVector& a) const { +inline void CartesianVector::angular (AngularVector& a) const { cartesian_to_spherical (x, y, z, a.azi, a.ele, a.length); } diff --git a/libs/pbd/pbd/compose.h b/libs/pbd/pbd/compose.h index a80cb213b2..cb4182699f 100644 --- a/libs/pbd/pbd/compose.h +++ b/libs/pbd/pbd/compose.h @@ -204,7 +204,7 @@ namespace StringPrivate // a series of functions which accept a format string on the form "text %1 // more %2 less %3" and a number of templated parameters and spits out the // composited string - template LIBPBD_API + template inline std::string string_compose(const std::string &fmt, const T1 &o1) { StringPrivate::Composition c(fmt); @@ -212,7 +212,7 @@ namespace StringPrivate return c.str(); } - template LIBPBD_API + template inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2) { @@ -221,7 +221,7 @@ namespace StringPrivate return c.str(); } - template LIBPBD_API + template inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3) { @@ -230,7 +230,7 @@ namespace StringPrivate return c.str(); } - template LIBPBD_API + template inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4) @@ -240,7 +240,7 @@ namespace StringPrivate return c.str(); } - template LIBPBD_API + template inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5) @@ -251,7 +251,7 @@ namespace StringPrivate } template LIBPBD_API + typename T6> inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6) @@ -262,7 +262,7 @@ namespace StringPrivate } template LIBPBD_API + typename T6, typename T7> inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, @@ -274,7 +274,7 @@ namespace StringPrivate } template LIBPBD_API + typename T6, typename T7, typename T8> inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, @@ -286,7 +286,7 @@ namespace StringPrivate } template LIBPBD_API + typename T6, typename T7, typename T8, typename T9> inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, @@ -298,7 +298,7 @@ namespace StringPrivate } template LIBPBD_API + typename T6, typename T7, typename T8, typename T9, typename T10> inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, @@ -313,7 +313,7 @@ namespace StringPrivate template LIBPBD_API + typename T11> inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, @@ -328,7 +328,7 @@ namespace StringPrivate template LIBPBD_API + typename T11, typename T12> inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, @@ -343,7 +343,7 @@ namespace StringPrivate template LIBPBD_API + typename T11, typename T12, typename T13> inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, @@ -359,7 +359,7 @@ namespace StringPrivate template LIBPBD_API + typename T11, typename T12, typename T13, typename T14> inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, @@ -376,7 +376,7 @@ namespace StringPrivate template LIBPBD_API + typename T15> inline std::string string_compose(const std::string &fmt, const T1 &o1, const T2 &o2, const T3 &o3, const T4 &o4, const T5 &o5, const T6 &o6, diff --git a/libs/pbd/pbd/convert.h b/libs/pbd/pbd/convert.h index 1269254906..6580a6e8e7 100644 --- a/libs/pbd/pbd/convert.h +++ b/libs/pbd/pbd/convert.h @@ -47,7 +47,7 @@ LIBPBD_API std::string length2string (const int64_t frames, const double sample_ LIBPBD_API std::vector internationalize (const char *, const char **); LIBPBD_API bool strings_equal_ignore_case (const std::string& a, const std::string& b); -template std::string LIBPBD_API +template std::string /*LIBPBD_API*/ to_string (T t, std::ios_base & (*f)(std::ios_base&)) { std::ostringstream oss; diff --git a/libs/pbd/pbd/demangle.h b/libs/pbd/pbd/demangle.h index c9f5c194c0..12dc58839c 100644 --- a/libs/pbd/pbd/demangle.h +++ b/libs/pbd/pbd/demangle.h @@ -32,7 +32,7 @@ namespace PBD { - template LIBPBD_API + template /*LIBPBD_API*/ std::string demangled_name (T const & obj) { #ifdef __GNUC__ diff --git a/libs/pbd/pbd/fallback_folders.h b/libs/pbd/pbd/fallback_folders.h index 60935b4424..db8992db6d 100644 --- a/libs/pbd/pbd/fallback_folders.h +++ b/libs/pbd/pbd/fallback_folders.h @@ -23,7 +23,7 @@ #include #ifdef PLATFORM_WINDOWS // Would not be relevant for Cygwin!! - PBD_API gchar* PBD_APICALLTYPE get_win_special_folder (int csidl); + LIBPBD_API gchar* PBD_APICALLTYPE get_win_special_folder (int csidl); #endif namespace PBD { @@ -49,9 +49,9 @@ namespace PBD { extern "C" { #endif /* __cplusplus */ - PBD_API G_CONST_RETURN gchar* PBD_APICALLTYPE get_platform_fallback_folder (PBD::fallback_folder_t index); - PBD_API G_CONST_RETURN gchar* G_CONST_RETURN * PBD_APICALLTYPE alloc_platform_fallback_folders (); - PBD_API void PBD_APICALLTYPE free_platform_fallback_folders (); + LIBPBD_API G_CONST_RETURN gchar* PBD_APICALLTYPE get_platform_fallback_folder (PBD::fallback_folder_t index); + LIBPBD_API G_CONST_RETURN gchar* G_CONST_RETURN * PBD_APICALLTYPE alloc_platform_fallback_folders (); + LIBPBD_API void PBD_APICALLTYPE free_platform_fallback_folders (); #ifdef __cplusplus } /* extern "C" */ diff --git a/libs/pbd/pbd/ffs.h b/libs/pbd/pbd/ffs.h index 3a2eadfae7..f21fc82a39 100644 --- a/libs/pbd/pbd/ffs.h +++ b/libs/pbd/pbd/ffs.h @@ -20,8 +20,10 @@ #ifndef __libpbd_ffs_h__ #define __libpbd_ffs_h__ +#include "pbd/libpbd_visibility.h" + namespace PBD { - int ffs(int x); + LIBPBD_API int ffs(int x); } #endif /* __libpbd_ffs_h__ */ diff --git a/libs/pbd/pbd/floating.h b/libs/pbd/pbd/floating.h index fc5a8be4f1..c0003a3113 100644 --- a/libs/pbd/pbd/floating.h +++ b/libs/pbd/pbd/floating.h @@ -34,7 +34,7 @@ namespace PBD { -union LIBPBD_API Float_t +union /*LIBPBD_API*/ Float_t { Float_t (float num = 0.0f) : f(num) {} diff --git a/libs/pbd/pbd/functor_command.h b/libs/pbd/pbd/functor_command.h index d2aacd18ac..6cca13209f 100644 --- a/libs/pbd/pbd/functor_command.h +++ b/libs/pbd/pbd/functor_command.h @@ -37,7 +37,7 @@ namespace PBD { template -class LIBPBD_API FunctorCommand : public Command +class /*LIBPBD_API*/ FunctorCommand : public Command { private: typedef void (obj_type::*functor_type)(arg_type); diff --git a/libs/pbd/pbd/glib_semaphore.h b/libs/pbd/pbd/glib_semaphore.h index c78226f737..7f96120d7d 100644 --- a/libs/pbd/pbd/glib_semaphore.h +++ b/libs/pbd/pbd/glib_semaphore.h @@ -22,11 +22,12 @@ #include +#include "pbd/libpbd_visibility.h" #include "atomic_counter.h" namespace PBD { -class GlibSemaphore +class LIBPBD_API GlibSemaphore { // prevent copying and assignment diff --git a/libs/pbd/pbd/localeguard.h b/libs/pbd/pbd/localeguard.h index 20899b5c80..21ea5380fa 100644 --- a/libs/pbd/pbd/localeguard.h +++ b/libs/pbd/pbd/localeguard.h @@ -24,7 +24,7 @@ namespace PBD { -struct LocaleGuard { +struct LIBPBD_API /* Added by JE - */ LocaleGuard { LocaleGuard (const char*); ~LocaleGuard (); const char* old; diff --git a/libs/pbd/pbd/memento_command.h b/libs/pbd/pbd/memento_command.h index 6560780f3c..f6d11a0b33 100644 --- a/libs/pbd/pbd/memento_command.h +++ b/libs/pbd/pbd/memento_command.h @@ -51,7 +51,7 @@ * can do `just-in-time' binding from the crossfade ID. */ template -class LIBPBD_API MementoCommandBinder : public PBD::Destructible +class /*LIBPBD_API*/ MementoCommandBinder : public PBD::Destructible { public: /** @return Stateful object to operate on */ @@ -68,7 +68,7 @@ public: /** A simple MementoCommandBinder which binds directly to an object */ template -class LIBPBD_API SimpleMementoCommandBinder : public MementoCommandBinder +class /*LIBPBD_API*/ SimpleMementoCommandBinder : public MementoCommandBinder { public: SimpleMementoCommandBinder (obj_T& o) @@ -100,7 +100,7 @@ private: * memento, and redo is restoring the after memento. */ template -class LIBPBD_API MementoCommand : public Command +class /*LIBPBD_API*/ MementoCommand : public Command { public: MementoCommand (obj_T& a_object, XMLNode* a_before, XMLNode* a_after) diff --git a/libs/pbd/pbd/msvc_pbd.h b/libs/pbd/pbd/msvc_pbd.h index 628ed56e6f..a623ca2eb2 100644 --- a/libs/pbd/pbd/msvc_pbd.h +++ b/libs/pbd/pbd/msvc_pbd.h @@ -20,9 +20,12 @@ #define _msvc_pbd_h_ #ifdef PBD_IS_IN_WIN_STATIC_LIB // #define if your project uses libpbd (under Windows) as a static library +#undef LIBPBD_DLL #define PBD_IS_IN_WINDLL 0 #endif +#include + #ifndef COMPILER_MSVC #include #else @@ -39,23 +42,22 @@ #endif #endif -#if PBD_IS_IN_WINDLL && !defined(PBD_API) +#if PBD_IS_IN_WINDLL && !defined(PBD_APICALLTYPE) #if defined(BUILDING_PBD) - #define PBD_API __declspec(dllexport) - #define PBD_APICALLTYPE __stdcall + #define PBD_APICALLTYPE __cdecl #elif defined(COMPILER_MSVC) || defined(COMPILER_MINGW) // Probably needs Cygwin too, at some point - #define PBD_API __declspec(dllimport) - #define PBD_APICALLTYPE __stdcall + #define PBD_APICALLTYPE __cdecl #else #error "Attempting to define __declspec with an incompatible compiler !" #endif -#elif !defined(PBD_API) +#elif !defined(PBD_APICALLTYPE) // Other compilers / platforms could be accommodated here - #define PBD_API #define PBD_APICALLTYPE +#ifndef GETOPT_API #define GETOPT_API #define GETOPT_APICALLTYPE #endif +#endif #ifndef GETOPT_API #if defined(BUILDING_GETOPT) @@ -145,23 +147,27 @@ extern "C" { extern "C" { #endif /* __cplusplus */ -PBDEXTN_API int PBDEXTN_APICALLTYPE cyginit (unsigned int result); -PBD_API int PBD_APICALLTYPE dlclose (void *handle) __THROW; -PBD_API void* PBD_APICALLTYPE dlopen (const char *file_name, int mode) __THROW; -PBD_API void* PBD_APICALLTYPE dlsym (void *handle, const char *symbol_name) __THROW; -PBD_API char* PBD_APICALLTYPE dlerror () __THROW; +PBDEXTN_API int PBDEXTN_APICALLTYPE cyginit (unsigned int result); +LIBPBD_API int PBD_APICALLTYPE dlclose (void *handle) __THROW; +LIBPBD_API void* PBD_APICALLTYPE dlopen (const char *file_name, int mode) __THROW; +LIBPBD_API void* PBD_APICALLTYPE dlsym (void *handle, const char *symbol_name) __THROW; +LIBPBD_API char* PBD_APICALLTYPE dlerror () __THROW; #ifdef __cplusplus } /* extern "C" */ #endif /* __cplusplus */ #ifndef __CYGWIN__ +/* For whatever reason, Ardour's 'libevoral' refuses to build as a DLL if we include both 'rpc.h' */ +/* and 'WinSock2.h'. It doesn't seem to matter which order we #include them. Given that we can't */ +/* edit 'rpc.h' or 'WinSock2.h', just make sure we don't #include them when building libevoral. */ +#ifndef BUILDING_EVORAL #include +typedef int (FAR PBDEXTN_APICALLTYPE *CYGINIT_API)(unsigned int); +#endif #include #include -typedef int (FAR PBDEXTN_APICALLTYPE *CYGINIT_API)(unsigned int); - #ifndef FILENAME_MAX #define FILENAME_MAX (260) #endif @@ -216,35 +222,35 @@ struct pollfd typedef unsigned int nfds_t; -PBD_API int PBD_APICALLTYPE gettimeofday(struct timeval *__restrict tv, __timezone_ptr_t tz); -PBD_API ssize_t PBD_APICALLTYPE pread(int handle, void *buf, size_t nbytes, off_t offset); -PBD_API ssize_t PBD_APICALLTYPE pwrite(int handle, const void *buf, size_t nbytes, off_t offset); -PBD_API int PBD_APICALLTYPE poll(struct pollfd *fds, nfds_t nfds, int timeout); -PBD_API double PBD_APICALLTYPE round(double x); - -namespace PBD { - #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ -PBD_API bool PBD_APICALLTYPE TestForMinimumSpecOS(char *revision="currently ignored"); -PBD_API char* PBD_APICALLTYPE realpath (const char *original_path, char resolved_path[_MAX_PATH+1]); -PBD_API int PBD_APICALLTYPE mkstemp (char *template_name); -PBD_API int PBD_APICALLTYPE ntfs_link (const char *existing_filepath, const char *link_filepath); -PBD_API int PBD_APICALLTYPE ntfs_unlink (const char *link_filepath); +LIBPBD_API int __cdecl gettimeofday(struct timeval *__restrict tv, __timezone_ptr_t tz); +LIBPBD_API ssize_t PBD_APICALLTYPE pread(int handle, void *buf, size_t nbytes, off_t offset); +LIBPBD_API ssize_t PBD_APICALLTYPE pwrite(int handle, const void *buf, size_t nbytes, off_t offset); +LIBPBD_API int PBD_APICALLTYPE poll(struct pollfd *fds, nfds_t nfds, int timeout); +LIBPBD_API double PBD_APICALLTYPE round(double x); + +namespace PBD { + +LIBPBD_API bool PBD_APICALLTYPE TestForMinimumSpecOS(char *revision="currently ignored"); +LIBPBD_API char* PBD_APICALLTYPE realpath (const char *original_path, char resolved_path[_MAX_PATH+1]); +LIBPBD_API int PBD_APICALLTYPE mkstemp (char *template_name); +LIBPBD_API int PBD_APICALLTYPE ntfs_link (const char *existing_filepath, const char *link_filepath); +LIBPBD_API int PBD_APICALLTYPE ntfs_unlink (const char *link_filepath); // These are used to replicate 'dirent.h' functionality -PBD_API DIR* PBD_APICALLTYPE opendir (const char *szPath); -PBD_API struct dirent* PBD_APICALLTYPE readdir (DIR *pDir); -PBD_API int PBD_APICALLTYPE closedir (DIR *pDir); +LIBPBD_API DIR* PBD_APICALLTYPE opendir (const char *szPath); +LIBPBD_API struct dirent* PBD_APICALLTYPE readdir (DIR *pDir); +LIBPBD_API int PBD_APICALLTYPE closedir (DIR *pDir); + +} // namespace PBD #ifdef __cplusplus } /* extern "C" */ #endif /* __cplusplus */ -} // namespace PBD - #endif // !__CYGWIN__ #endif // PLATFORM_WINDOWS #endif // _msvc_pbd_h_ diff --git a/libs/pbd/pbd/pathexpand.h b/libs/pbd/pbd/pathexpand.h index 5f1c03f8ee..5c5d4cf772 100644 --- a/libs/pbd/pbd/pathexpand.h +++ b/libs/pbd/pbd/pathexpand.h @@ -24,6 +24,7 @@ #include "pbd/libpbd_visibility.h" namespace PBD { + LIBPBD_API std::string canonical_path (const std::string& path); LIBPBD_API std::string path_expand (std::string path); LIBPBD_API std::string search_path_expand (std::string path); } diff --git a/libs/pbd/pbd/properties.h b/libs/pbd/pbd/properties.h index 27a0be1895..70d18db4c7 100644 --- a/libs/pbd/pbd/properties.h +++ b/libs/pbd/pbd/properties.h @@ -37,7 +37,7 @@ namespace PBD { /** Parent class for classes which represent a single scalar property in a Stateful object */ template -class LIBPBD_API PropertyTemplate : public PropertyBase +class /*LIBPBD_API*/ PropertyTemplate : public PropertyBase { public: PropertyTemplate (PropertyDescriptor p, T const& v) @@ -197,7 +197,7 @@ private: PropertyTemplate (PropertyTemplate const &); }; -template LIBPBD_API +template /*LIBPBD_API*/ std::ostream & operator<<(std::ostream& os, PropertyTemplate const& s) { return os << s.val (); @@ -207,7 +207,7 @@ std::ostream & operator<<(std::ostream& os, PropertyTemplate const& s) * with types that can be written to / read from stringstreams. */ template -class LIBPBD_API Property : public PropertyTemplate +class /*LIBPBD_API*/ Property : public PropertyTemplate { public: Property (PropertyDescriptor q, T const& v) @@ -285,7 +285,7 @@ private: * separators, etc. */ template<> -class LIBPBD_API Property : public PropertyTemplate +class /*LIBPBD_API*/ Property : public PropertyTemplate { public: Property (PropertyDescriptor d, std::string const & v) @@ -319,7 +319,7 @@ private: }; template -class LIBPBD_API EnumProperty : public Property +class /*LIBPBD_API*/ EnumProperty : public Property { public: EnumProperty (PropertyDescriptor q, T const& v) @@ -352,7 +352,7 @@ private: * one. */ template -class LIBPBD_API SharedStatefulProperty : public PropertyBase +class /*LIBPBD_API*/ SharedStatefulProperty : public PropertyBase { public: typedef boost::shared_ptr Ptr; diff --git a/libs/pbd/pbd/property_basics.h b/libs/pbd/pbd/property_basics.h index 2da21ddb84..d0eb1db922 100644 --- a/libs/pbd/pbd/property_basics.h +++ b/libs/pbd/pbd/property_basics.h @@ -38,7 +38,7 @@ class LIBPBD_API StatefulDiffCommand; typedef GQuark PropertyID; template -struct LIBPBD_API PropertyDescriptor { +struct /*LIBPBD_API*/ PropertyDescriptor { PropertyDescriptor () : property_id (0) {} PropertyDescriptor (PropertyID pid) : property_id (pid) {} @@ -47,16 +47,17 @@ struct LIBPBD_API PropertyDescriptor { }; /** A list of IDs of Properties that have changed in some situation or other */ -class LIBPBD_API PropertyChange : public std::set +class /*LIBPBD_API*/ PropertyChange : public std::set { public: - PropertyChange() {} + LIBPBD_API PropertyChange() {} + LIBPBD_API ~PropertyChange() {} template PropertyChange(PropertyDescriptor p); - PropertyChange(const PropertyChange& other) : std::set (other) {} + LIBPBD_API PropertyChange(const PropertyChange& other) : std::set (other) {} - PropertyChange operator=(const PropertyChange& other) { + LIBPBD_API PropertyChange operator=(const PropertyChange& other) { clear (); insert (other.begin (), other.end ()); return *this; @@ -65,7 +66,7 @@ public: template PropertyChange operator=(PropertyDescriptor p); template bool contains (PropertyDescriptor p) const; - bool contains (const PropertyChange& other) const { + LIBPBD_API bool contains (const PropertyChange& other) const { for (const_iterator x = other.begin (); x != other.end (); ++x) { if (find (*x) != end ()) { return true; @@ -74,8 +75,8 @@ public: return false; } - void add (PropertyID id) { insert (id); } - void add (const PropertyChange& other) { insert (other.begin (), other.end ()); } + LIBPBD_API void add (PropertyID id) { insert (id); } + LIBPBD_API void add (const PropertyChange& other) { insert (other.begin (), other.end ()); } template void add (PropertyDescriptor p); }; diff --git a/libs/pbd/pbd/rcu.h b/libs/pbd/pbd/rcu.h index 6ee68afabf..eceec24cd5 100644 --- a/libs/pbd/pbd/rcu.h +++ b/libs/pbd/pbd/rcu.h @@ -45,7 +45,7 @@ and managed object. */ template -class LIBPBD_API RCUManager +class /*LIBPBD_API*/ RCUManager { public: @@ -111,7 +111,7 @@ class LIBPBD_API RCUManager means that no actual objects will be deleted incorrectly if this is misused. */ template -class LIBPBD_API SerializedRCUManager : public RCUManager +class /*LIBPBD_API*/ SerializedRCUManager : public RCUManager { public: @@ -214,7 +214,7 @@ private: */ template -class LIBPBD_API RCUWriter +class /*LIBPBD_API*/ RCUWriter { public: diff --git a/libs/pbd/pbd/ringbuffer.h b/libs/pbd/pbd/ringbuffer.h index 0e6772fee6..e3cec6adf1 100644 --- a/libs/pbd/pbd/ringbuffer.h +++ b/libs/pbd/pbd/ringbuffer.h @@ -26,7 +26,7 @@ #include "pbd/libpbd_visibility.h" template -class LIBPBD_API RingBuffer +class /*LIBPBD_API*/ RingBuffer { public: RingBuffer (guint sz) { @@ -120,7 +120,7 @@ class LIBPBD_API RingBuffer guint size_mask; }; -template LIBPBD_API guint +template /*LIBPBD_API*/ guint RingBuffer::read (T *dest, guint cnt) { guint free_cnt; @@ -159,7 +159,7 @@ RingBuffer::read (T *dest, guint cnt) return to_read; } -template LIBPBD_API guint +template /*LIBPBD_API*/ guint RingBuffer::write (T const *src, guint cnt) { @@ -199,7 +199,7 @@ RingBuffer::write (T const *src, guint cnt) return to_write; } -template LIBPBD_API void +template /*LIBPBD_API*/ void RingBuffer::get_read_vector (typename RingBuffer::rw_vector *vec) { @@ -240,7 +240,7 @@ RingBuffer::get_read_vector (typename RingBuffer::rw_vector *vec) } } -template LIBPBD_API void +template /*LIBPBD_API*/ void RingBuffer::get_write_vector (typename RingBuffer::rw_vector *vec) { diff --git a/libs/pbd/pbd/ringbufferNPT.h b/libs/pbd/pbd/ringbufferNPT.h index bf5b2a10c8..cd17299961 100644 --- a/libs/pbd/pbd/ringbufferNPT.h +++ b/libs/pbd/pbd/ringbufferNPT.h @@ -32,7 +32,7 @@ namespace PBD { /* ringbuffer class where the element size is not required to be a power of two */ template -class LIBPBD_API RingBufferNPT +class /*LIBPBD_API*/ RingBufferNPT { public: RingBufferNPT (size_t sz) { @@ -120,7 +120,7 @@ class LIBPBD_API RingBufferNPT mutable gint read_ptr; }; -template LIBPBD_API size_t +template /*LIBPBD_API*/ size_t RingBufferNPT::read (T *dest, size_t cnt) { size_t free_cnt; @@ -159,7 +159,7 @@ RingBufferNPT::read (T *dest, size_t cnt) return to_read; } -template LIBPBD_API size_t +template /*LIBPBD_API*/ size_t RingBufferNPT::write (const T *src, size_t cnt) { size_t free_cnt; @@ -198,7 +198,7 @@ RingBufferNPT::write (const T *src, size_t cnt) return to_write; } -template LIBPBD_API void +template /*LIBPBD_API*/ void RingBufferNPT::get_read_vector (typename RingBufferNPT::rw_vector *vec) { size_t free_cnt; @@ -238,7 +238,7 @@ RingBufferNPT::get_read_vector (typename RingBufferNPT::rw_vector *vec) } } -template LIBPBD_API void +template /*LIBPBD_API*/ void RingBufferNPT::get_write_vector (typename RingBufferNPT::rw_vector *vec) { size_t free_cnt; diff --git a/libs/pbd/pbd/search_path.h b/libs/pbd/pbd/search_path.h index 857c3a78b6..5203588f72 100644 --- a/libs/pbd/pbd/search_path.h +++ b/libs/pbd/pbd/search_path.h @@ -38,13 +38,13 @@ namespace PBD { * The Searchpath class does not test whether the paths exist * or are directories. It is basically just a container. */ -class LIBPBD_API SearchPath : public std::vector +class /*LIBPBD_API*/ Searchpath : public std::vector { public: /** * Create an empty Searchpath. */ - Searchpath (); + LIBPBD_API Searchpath (); /** * Initialize Searchpath from a string where the string contains @@ -57,7 +57,7 @@ public: * * @param search_path A path string. */ - Searchpath (const std::string& search_path); + LIBPBD_API Searchpath (const std::string& search_path); /** * Initialize Searchpath from a vector of paths that may or may @@ -65,7 +65,9 @@ public: * * @param paths A vector of paths. */ - Searchpath (const std::vector& paths); + LIBPBD_API Searchpath (const std::vector& paths); + + LIBPBD_API ~Searchpath () {}; /** * @return a search path string. @@ -73,39 +75,39 @@ public: * The string that is returned contains the platform specific * path separator. */ - const std::string to_string () const; + LIBPBD_API const std::string to_string () const; /** * Add all the directories in path to this. */ - Searchpath& operator+= (const Searchpath& spath); + LIBPBD_API Searchpath& operator+= (const Searchpath& spath); /** * Add another directory path to the search path. */ - Searchpath& operator+= (const std::string& directory_path); + LIBPBD_API Searchpath& operator+= (const std::string& directory_path); /** * Concatenate another Searchpath onto this. */ - Searchpath& operator+ (const Searchpath& other); + LIBPBD_API Searchpath& operator+ (const Searchpath& other); /** * Add another path to the search path. */ - Searchpath& operator+ (const std::string& directory_path); + LIBPBD_API Searchpath& operator+ (const std::string& directory_path); /** * Add a sub-directory to each path in the search path. * @param subdir The directory name, it should not contain * any path separating tokens. */ - Searchpath& add_subdirectory_to_paths (const std::string& subdir); + LIBPBD_API Searchpath& add_subdirectory_to_paths (const std::string& subdir); protected: - void add_directory (const std::string& directory_path); - void add_directories (const std::vector& paths); + LIBPBD_API void add_directory (const std::string& directory_path); + LIBPBD_API void add_directories (const std::vector& paths); }; } // namespace PBD diff --git a/libs/pbd/pbd/semaphore.h b/libs/pbd/pbd/semaphore.h index 6579ea6f0a..265a219e07 100644 --- a/libs/pbd/pbd/semaphore.h +++ b/libs/pbd/pbd/semaphore.h @@ -49,7 +49,7 @@ namespace PBD { only safe way to reliably signal from a real-time audio thread. The counting semantics also complement ringbuffers of events nicely. */ -class LIBPBD_API Semaphore +class /*LIBPBD_API*/ Semaphore { public: /** diff --git a/libs/pbd/pbd/sequence_property.h b/libs/pbd/pbd/sequence_property.h index 1c3078350f..e105e82e47 100644 --- a/libs/pbd/pbd/sequence_property.h +++ b/libs/pbd/pbd/sequence_property.h @@ -44,7 +44,7 @@ namespace PBD { * any change. */ template -class LIBPBD_API SequenceProperty : public PropertyBase +class /*LIBPBD_API*/ SequenceProperty : public PropertyBase { public: typedef std::set ChangeContainer; @@ -311,10 +311,10 @@ class LIBPBD_API SequenceProperty : public PropertyBase } Container& operator= (const Container& other) { - for (typename Container::iterator i = _val.begin(); i != _val.end(); ++i) { + for (typename Container::const_iterator i = _val.begin(); i != _val.end(); ++i) { _changes.remove (*i); } - for (typename Container::iterator i = other.begin(); i != other.end(); ++i) { + for (typename Container::const_iterator i = other.begin(); i != other.end(); ++i) { _changes.add (*i); } return _val = other; diff --git a/libs/pbd/pbd/signals.h b/libs/pbd/pbd/signals.h index 3896fd55b5..672dc66850 100644 --- a/libs/pbd/pbd/signals.h +++ b/libs/pbd/pbd/signals.h @@ -79,7 +79,7 @@ private: }; template -class LIBPBD_API OptionalLastValue +class /*LIBPBD_API*/ OptionalLastValue { public: typedef boost::optional result_type; diff --git a/libs/pbd/pbd/stacktrace.h b/libs/pbd/pbd/stacktrace.h index 77f5d38fb8..672ee2acad 100644 --- a/libs/pbd/pbd/stacktrace.h +++ b/libs/pbd/pbd/stacktrace.h @@ -40,10 +40,10 @@ namespace PBD { LIBPBD_API void stacktrace (std::ostream& out, int levels = 0); LIBPBD_API void trace_twb(); - std::string demangle (const std::string&); +/* JE - !!!! Declaration might possibly get removed (except it's still used in 'libs/canvas/item.cc') */ std::string demangle (const std::string&); template -class LIBPBD_API thing_with_backtrace +class /*LIBPBD_API*/ thing_with_backtrace { public: thing_with_backtrace () { @@ -112,11 +112,11 @@ private: static Glib::Threads::Mutex all_mutex; }; -template LIBPBD_API std::list *> PBD::thing_with_backtrace::all; -template LIBPBD_API Glib::Threads::Mutex PBD::thing_with_backtrace::all_mutex; +template /*LIBPBD_API*/ std::list *> PBD::thing_with_backtrace::all; +template /*LIBPBD_API*/ Glib::Threads::Mutex PBD::thing_with_backtrace::all_mutex; } // namespace PBD - +// JE - !!!!#include "../pbd/stacktrace.impl" #endif /* __libpbd_stacktrace_h__ */ diff --git a/libs/pbd/pbd/stl_delete.h b/libs/pbd/pbd/stl_delete.h index b98bb5e8e3..1598a90e2c 100644 --- a/libs/pbd/pbd/stl_delete.h +++ b/libs/pbd/pbd/stl_delete.h @@ -26,7 +26,7 @@ first include the revelant container type header. */ #if defined(_CPP_VECTOR) || defined(_GLIBCXX_VECTOR) || defined(__SGI_STL_VECTOR) || defined(_LIBCPP_VECTOR) -template LIBPBD_API void vector_delete (std::vector *vec) +template /*LIBPBD_API*/ void vector_delete (std::vector *vec) { typename std::vector::iterator i; @@ -38,7 +38,7 @@ template LIBPBD_API void vector_delete (std::vector *vec) #endif // _CPP_VECTOR || _GLIBCXX_VECTOR || __SGI_STL_VECTOR || _LIBCPP_VECTOR #if defined(_CPP_MAP) || defined(_GLIBCXX_MAP) || defined(__SGI_STL_MAP) -template LIBPBD_API void map_delete (std::map *m) +template /*LIBPBD_API*/ void map_delete (std::map *m) { typename std::map::iterator i; @@ -50,7 +50,7 @@ template LIBPBD_API void map_delete (std::map *m) #endif // _CPP_MAP || _GLIBCXX_MAP || __SGI_STL_MAP #if defined(_CPP_LIST) || defined(_GLIBCXX_LIST) || defined(__SGI_STL_LIST) -template LIBPBD_API void list_delete (std::list *l) +template /*LIBPBD_API*/ void list_delete (std::list *l) { typename std::list::iterator i; @@ -63,7 +63,7 @@ template LIBPBD_API void list_delete (std::list *l) #endif // _CPP_LIST || _GLIBCXX_LIST || __SGI_STL_LIST #if defined(_CPP_SLIST) || defined(_GLIBCXX_SLIST) || defined(__SGI_STL_SLIST) -template LIBPBD_API void slist_delete (std::slist *l) +template /*LIBPBD_API*/ void slist_delete (std::slist *l) { typename std::slist::iterator i; @@ -76,7 +76,7 @@ template LIBPBD_API void slist_delete (std::slist *l) #endif // _CPP_SLIST || _GLIBCXX_SLIST || __SGI_STL_SLIST #if defined(_CPP_SET) || defined(_GLIBCXX_SET) || defined(__SGI_STL_SET) -template void LIBPBD_API set_delete (std::set *sset) +template void /*LIBPBD_API*/ set_delete (std::set *sset) { typename std::set::iterator i; diff --git a/libs/pbd/pbd/tokenizer.h b/libs/pbd/pbd/tokenizer.h index b4b3b107c0..3253473519 100644 --- a/libs/pbd/pbd/tokenizer.h +++ b/libs/pbd/pbd/tokenizer.h @@ -37,7 +37,7 @@ namespace PBD { are discarded. */ template -LIBPBD_API unsigned int +/*LIBPBD_API*/ unsigned int tokenize(const StringType& str, const StringType& delims, Iter it, diff --git a/libs/pbd/pbd/touchable.h b/libs/pbd/pbd/touchable.h index ed7d75df52..297be8b0f1 100644 --- a/libs/pbd/pbd/touchable.h +++ b/libs/pbd/pbd/touchable.h @@ -21,7 +21,7 @@ #include "pbd/libpbd_visibility.h" -class LIBPBD_API Touchable +class /*LIBPBD_API*/ Touchable { public: Touchable() : _delete_after_touch (false) {} @@ -37,7 +37,7 @@ class LIBPBD_API Touchable }; template -class LIBPBD_API DynamicTouchable : public Touchable +class /*LIBPBD_API*/ DynamicTouchable : public Touchable { public: DynamicTouchable (T& t, void (T::*m)(void)) @@ -53,7 +53,7 @@ class LIBPBD_API DynamicTouchable : public Touchable }; template -class LIBPBD_API DynamicTouchable1 : public Touchable +class /*LIBPBD_API*/ DynamicTouchable1 : public Touchable { public: DynamicTouchable1 (T1& t, void (T1::*m)(T2), T2 a) @@ -70,7 +70,7 @@ class LIBPBD_API DynamicTouchable1 : public Touchable }; template -class LIBPBD_API DynamicTouchable2 : public Touchable +class /*LIBPBD_API*/ DynamicTouchable2 : public Touchable { public: DynamicTouchable2 (T1& t, void (T1::*m)(T2, T3), T2 a1, T3 a2) diff --git a/libs/pbd/pbd/unknown_type.h b/libs/pbd/pbd/unknown_type.h index 4d984269a7..ef9db1ac43 100644 --- a/libs/pbd/pbd/unknown_type.h +++ b/libs/pbd/pbd/unknown_type.h @@ -22,9 +22,9 @@ #include -#include "pbd/libpbd_visibility.h" +//#include "pbd/libpbd_visibility.h" -class LIBPBD_API unknown_type : public std::exception { +class /*LIBPBD_API*/ unknown_type : public std::exception { public: virtual const char *what() const throw() { return "unknown type"; } }; diff --git a/libs/pbd/pbd/unwind.h b/libs/pbd/pbd/unwind.h index cf7998fdd4..5a0fe26559 100644 --- a/libs/pbd/pbd/unwind.h +++ b/libs/pbd/pbd/unwind.h @@ -25,7 +25,7 @@ namespace PBD { template -class LIBPBD_API Unwinder { +class /*LIBPBD_API*/ Unwinder { public: Unwinder (T& var, T new_val) : _var (var), _old_val (var) { var = new_val; } ~Unwinder () { _var = _old_val; } diff --git a/libs/pbd/pbd/uuid.h b/libs/pbd/pbd/uuid.h index 7cef916c85..77e84c5f09 100644 --- a/libs/pbd/pbd/uuid.h +++ b/libs/pbd/pbd/uuid.h @@ -29,7 +29,7 @@ namespace PBD { -class LIBPBD_API UUID { +class LIBPBD_API UUID : public boost::uuids::uuid { public: UUID () diff --git a/libs/pbd/stacktrace.cc b/libs/pbd/stacktrace.cc index aa79b0f24d..5721c69c54 100644 --- a/libs/pbd/stacktrace.cc +++ b/libs/pbd/stacktrace.cc @@ -106,7 +106,7 @@ PBD::stacktrace (std::ostream& out, int levels) #else std::string -demangle (std::string const & l) +/* JE - !!!! 'PBD' namespace might possibly get removed (except it's still used in 'libs/canvas/item.cc') */PBD::demangle (std::string const & l) { return std::string(); } -- cgit v1.2.3