summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/pbd/epa.cc2
-rw-r--r--libs/pbd/fallback_folders.cc6
-rw-r--r--libs/pbd/msvc/msvc_pbd.cc40
-rw-r--r--libs/pbd/msvc/msvc_poll.cc2
-rw-r--r--libs/pbd/pbd/abstract_ui.cc2
-rw-r--r--libs/pbd/pbd/abstract_ui.h2
-rw-r--r--libs/pbd/pbd/cartesian.h2
-rw-r--r--libs/pbd/pbd/compose.h30
-rw-r--r--libs/pbd/pbd/convert.h2
-rw-r--r--libs/pbd/pbd/demangle.h2
-rw-r--r--libs/pbd/pbd/fallback_folders.h8
-rw-r--r--libs/pbd/pbd/ffs.h4
-rw-r--r--libs/pbd/pbd/floating.h2
-rw-r--r--libs/pbd/pbd/functor_command.h2
-rw-r--r--libs/pbd/pbd/glib_semaphore.h3
-rw-r--r--libs/pbd/pbd/localeguard.h2
-rw-r--r--libs/pbd/pbd/memento_command.h6
-rw-r--r--libs/pbd/pbd/msvc_pbd.h70
-rw-r--r--libs/pbd/pbd/pathexpand.h1
-rw-r--r--libs/pbd/pbd/properties.h12
-rw-r--r--libs/pbd/pbd/property_basics.h17
-rw-r--r--libs/pbd/pbd/rcu.h6
-rw-r--r--libs/pbd/pbd/ringbuffer.h10
-rw-r--r--libs/pbd/pbd/ringbufferNPT.h10
-rw-r--r--libs/pbd/pbd/search_path.h26
-rw-r--r--libs/pbd/pbd/semaphore.h2
-rw-r--r--libs/pbd/pbd/sequence_property.h6
-rw-r--r--libs/pbd/pbd/signals.h2
-rw-r--r--libs/pbd/pbd/stacktrace.h10
-rw-r--r--libs/pbd/pbd/stl_delete.h10
-rw-r--r--libs/pbd/pbd/tokenizer.h2
-rw-r--r--libs/pbd/pbd/touchable.h8
-rw-r--r--libs/pbd/pbd/unknown_type.h4
-rw-r--r--libs/pbd/pbd/unwind.h2
-rw-r--r--libs/pbd/pbd/uuid.h2
-rw-r--r--libs/pbd/stacktrace.cc2
36 files changed, 166 insertions, 153 deletions
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<void*>()(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<void*>()(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<void*>()(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<typename RequestObject>
-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 <typename T1> LIBPBD_API
+ template <typename T1>
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 <typename T1, typename T2> LIBPBD_API
+ template <typename T1, typename T2>
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 <typename T1, typename T2, typename T3> LIBPBD_API
+ template <typename T1, typename T2, typename T3>
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 <typename T1, typename T2, typename T3, typename T4> LIBPBD_API
+ template <typename T1, typename T2, typename T3, typename T4>
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 <typename T1, typename T2, typename T3, typename T4, typename T5> LIBPBD_API
+ template <typename T1, typename T2, typename T3, typename T4, typename T5>
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 <typename T1, typename T2, typename T3, typename T4, typename T5,
- typename T6> 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 <typename T1, typename T2, typename T3, typename T4, typename T5,
- typename T6, typename T7> 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 <typename T1, typename T2, typename T3, typename T4, typename T5,
- typename T6, typename T7, typename T8> 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 <typename T1, typename T2, typename T3, typename T4, typename T5,
- typename T6, typename T7, typename T8, typename T9> 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 <typename T1, typename T2, typename T3, typename T4, typename T5,
- typename T6, typename T7, typename T8, typename T9, typename T10> 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 <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9, typename T10,
- typename T11> 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 <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9, typename T10,
- typename T11, typename T12> 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 <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9, typename T10,
- typename T11, typename T12, typename T13> 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 <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9, typename T10,
- typename T11, typename T12, typename T13, typename T14> 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 <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9, typename T10,
typename T11, typename T12, typename T13, typename T14,
- typename T15> 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<std::string> internationalize (const char *, const char **);
LIBPBD_API bool strings_equal_ignore_case (const std::string& a, const std::string& b);
-template <class T> std::string LIBPBD_API
+template <class T> 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<typename T> LIBPBD_API
+ template<typename T> /*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 <glib/gtypes.h>
#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 obj_type, class arg_type>
-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 <glibmm/threads.h>
+#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 obj_T>
-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 obj_T>
-class LIBPBD_API SimpleMementoCommandBinder : public MementoCommandBinder<obj_T>
+class /*LIBPBD_API*/ SimpleMementoCommandBinder : public MementoCommandBinder<obj_T>
{
public:
SimpleMementoCommandBinder (obj_T& o)
@@ -100,7 +100,7 @@ private:
* memento, and redo is restoring the after memento.
*/
template <class obj_T>
-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 <pbd/libpbd_visibility.h>
+
#ifndef COMPILER_MSVC
#include <sys/time.h>
#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 <rpc.h>
+typedef int (FAR PBDEXTN_APICALLTYPE *CYGINIT_API)(unsigned int);
+#endif
#include <io.h>
#include <sys/types.h>
-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 T>
-class LIBPBD_API PropertyTemplate : public PropertyBase
+class /*LIBPBD_API*/ PropertyTemplate : public PropertyBase
{
public:
PropertyTemplate (PropertyDescriptor<T> p, T const& v)
@@ -197,7 +197,7 @@ private:
PropertyTemplate (PropertyTemplate<T> const &);
};
-template<class T> LIBPBD_API
+template<class T> /*LIBPBD_API*/
std::ostream & operator<<(std::ostream& os, PropertyTemplate<T> const& s)
{
return os << s.val ();
@@ -207,7 +207,7 @@ std::ostream & operator<<(std::ostream& os, PropertyTemplate<T> const& s)
* with types that can be written to / read from stringstreams.
*/
template<class T>
-class LIBPBD_API Property : public PropertyTemplate<T>
+class /*LIBPBD_API*/ Property : public PropertyTemplate<T>
{
public:
Property (PropertyDescriptor<T> q, T const& v)
@@ -285,7 +285,7 @@ private:
* separators, etc.
*/
template<>
-class LIBPBD_API Property<std::string> : public PropertyTemplate<std::string>
+class /*LIBPBD_API*/ Property<std::string> : public PropertyTemplate<std::string>
{
public:
Property (PropertyDescriptor<std::string> d, std::string const & v)
@@ -319,7 +319,7 @@ private:
};
template<class T>
-class LIBPBD_API EnumProperty : public Property<T>
+class /*LIBPBD_API*/ EnumProperty : public Property<T>
{
public:
EnumProperty (PropertyDescriptor<T> q, T const& v)
@@ -352,7 +352,7 @@ private:
* one.
*/
template <class T>
-class LIBPBD_API SharedStatefulProperty : public PropertyBase
+class /*LIBPBD_API*/ SharedStatefulProperty : public PropertyBase
{
public:
typedef boost::shared_ptr<T> 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<typename T>
-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<PropertyID>
+class /*LIBPBD_API*/ PropertyChange : public std::set<PropertyID>
{
public:
- PropertyChange() {}
+ LIBPBD_API PropertyChange() {}
+ LIBPBD_API ~PropertyChange() {}
template<typename T> PropertyChange(PropertyDescriptor<T> p);
- PropertyChange(const PropertyChange& other) : std::set<PropertyID> (other) {}
+ LIBPBD_API PropertyChange(const PropertyChange& other) : std::set<PropertyID> (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<typename T> PropertyChange operator=(PropertyDescriptor<T> p);
template<typename T> bool contains (PropertyDescriptor<T> 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<typename T> void add (PropertyDescriptor<T> 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 T>
-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 T>
-class LIBPBD_API SerializedRCUManager : public RCUManager<T>
+class /*LIBPBD_API*/ SerializedRCUManager : public RCUManager<T>
{
public:
@@ -214,7 +214,7 @@ private:
*/
template<class T>
-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 T>
-class LIBPBD_API RingBuffer
+class /*LIBPBD_API*/ RingBuffer
{
public:
RingBuffer (guint sz) {
@@ -120,7 +120,7 @@ class LIBPBD_API RingBuffer
guint size_mask;
};
-template<class T> LIBPBD_API guint
+template<class T> /*LIBPBD_API*/ guint
RingBuffer<T>::read (T *dest, guint cnt)
{
guint free_cnt;
@@ -159,7 +159,7 @@ RingBuffer<T>::read (T *dest, guint cnt)
return to_read;
}
-template<class T> LIBPBD_API guint
+template<class T> /*LIBPBD_API*/ guint
RingBuffer<T>::write (T const *src, guint cnt)
{
@@ -199,7 +199,7 @@ RingBuffer<T>::write (T const *src, guint cnt)
return to_write;
}
-template<class T> LIBPBD_API void
+template<class T> /*LIBPBD_API*/ void
RingBuffer<T>::get_read_vector (typename RingBuffer<T>::rw_vector *vec)
{
@@ -240,7 +240,7 @@ RingBuffer<T>::get_read_vector (typename RingBuffer<T>::rw_vector *vec)
}
}
-template<class T> LIBPBD_API void
+template<class T> /*LIBPBD_API*/ void
RingBuffer<T>::get_write_vector (typename RingBuffer<T>::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 T>
-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<class T> LIBPBD_API size_t
+template<class T> /*LIBPBD_API*/ size_t
RingBufferNPT<T>::read (T *dest, size_t cnt)
{
size_t free_cnt;
@@ -159,7 +159,7 @@ RingBufferNPT<T>::read (T *dest, size_t cnt)
return to_read;
}
-template<class T> LIBPBD_API size_t
+template<class T> /*LIBPBD_API*/ size_t
RingBufferNPT<T>::write (const T *src, size_t cnt)
{
size_t free_cnt;
@@ -198,7 +198,7 @@ RingBufferNPT<T>::write (const T *src, size_t cnt)
return to_write;
}
-template<class T> LIBPBD_API void
+template<class T> /*LIBPBD_API*/ void
RingBufferNPT<T>::get_read_vector (typename RingBufferNPT<T>::rw_vector *vec)
{
size_t free_cnt;
@@ -238,7 +238,7 @@ RingBufferNPT<T>::get_read_vector (typename RingBufferNPT<T>::rw_vector *vec)
}
}
-template<class T> LIBPBD_API void
+template<class T> /*LIBPBD_API*/ void
RingBufferNPT<T>::get_write_vector (typename RingBufferNPT<T>::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<std::string>
+class /*LIBPBD_API*/ Searchpath : public std::vector<std::string>
{
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<std::string>& paths);
+ LIBPBD_API Searchpath (const std::vector<std::string>& 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<std::string>& paths);
+ LIBPBD_API void add_directory (const std::string& directory_path);
+ LIBPBD_API void add_directories (const std::vector<std::string>& 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<typename Container>
-class LIBPBD_API SequenceProperty : public PropertyBase
+class /*LIBPBD_API*/ SequenceProperty : public PropertyBase
{
public:
typedef std::set<typename Container::value_type> 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<typename R>
-class LIBPBD_API OptionalLastValue
+class /*LIBPBD_API*/ OptionalLastValue
{
public:
typedef boost::optional<R> 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<typename T>
-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<typename T> LIBPBD_API std::list<PBD::thing_with_backtrace<T> *> PBD::thing_with_backtrace<T>::all;
-template<typename T> LIBPBD_API Glib::Threads::Mutex PBD::thing_with_backtrace<T>::all_mutex;
+template<typename T> /*LIBPBD_API*/ std::list<PBD::thing_with_backtrace<T> *> PBD::thing_with_backtrace<T>::all;
+template<typename T> /*LIBPBD_API*/ Glib::Threads::Mutex PBD::thing_with_backtrace<T>::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<class T> LIBPBD_API void vector_delete (std::vector<T *> *vec)
+template<class T> /*LIBPBD_API*/ void vector_delete (std::vector<T *> *vec)
{
typename std::vector<T *>::iterator i;
@@ -38,7 +38,7 @@ template<class T> LIBPBD_API void vector_delete (std::vector<T *> *vec)
#endif // _CPP_VECTOR || _GLIBCXX_VECTOR || __SGI_STL_VECTOR || _LIBCPP_VECTOR
#if defined(_CPP_MAP) || defined(_GLIBCXX_MAP) || defined(__SGI_STL_MAP)
-template<class K, class T> LIBPBD_API void map_delete (std::map<K, T *> *m)
+template<class K, class T> /*LIBPBD_API*/ void map_delete (std::map<K, T *> *m)
{
typename std::map<K, T *>::iterator i;
@@ -50,7 +50,7 @@ template<class K, class T> LIBPBD_API void map_delete (std::map<K, T *> *m)
#endif // _CPP_MAP || _GLIBCXX_MAP || __SGI_STL_MAP
#if defined(_CPP_LIST) || defined(_GLIBCXX_LIST) || defined(__SGI_STL_LIST)
-template<class T> LIBPBD_API void list_delete (std::list<T *> *l)
+template<class T> /*LIBPBD_API*/ void list_delete (std::list<T *> *l)
{
typename std::list<T *>::iterator i;
@@ -63,7 +63,7 @@ template<class T> LIBPBD_API void list_delete (std::list<T *> *l)
#endif // _CPP_LIST || _GLIBCXX_LIST || __SGI_STL_LIST
#if defined(_CPP_SLIST) || defined(_GLIBCXX_SLIST) || defined(__SGI_STL_SLIST)
-template<class T> LIBPBD_API void slist_delete (std::slist<T *> *l)
+template<class T> /*LIBPBD_API*/ void slist_delete (std::slist<T *> *l)
{
typename std::slist<T *>::iterator i;
@@ -76,7 +76,7 @@ template<class T> LIBPBD_API void slist_delete (std::slist<T *> *l)
#endif // _CPP_SLIST || _GLIBCXX_SLIST || __SGI_STL_SLIST
#if defined(_CPP_SET) || defined(_GLIBCXX_SET) || defined(__SGI_STL_SET)
-template<class T> void LIBPBD_API set_delete (std::set<T *> *sset)
+template<class T> void /*LIBPBD_API*/ set_delete (std::set<T *> *sset)
{
typename std::set<T *>::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<typename StringType, typename Iter>
-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 T>
-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 T1, class T2>
-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 T1, class T2, class T3>
-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 <exception>
-#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 <typename T>
-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();
}