Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge...
[ardour.git] / libs / pbd / pbd / stacktrace.h
index f3c7baf7d78fb6bb72dfec10d2b1ac2f5460244a..c5d9743b1e55678ea2f97cbf09f43b4534e9ddfa 100644 (file)
 #include <cstdlib>
 #endif
 
+#include "pbd/libpbd_visibility.h"
+
+
 namespace PBD {
-       void stacktrace (std::ostream& out, int levels = 0);
-       void trace_twb();
-       std::string demangle (const std::string&);
+
+       LIBPBD_API void stacktrace (std::ostream& out, int levels = 0);
+       LIBPBD_API void trace_twb();
+       LIBPBD_API std::string demangle (const std::string&);
 
 template<typename T>
-class thing_with_backtrace 
+class /*LIBPBD_API*/ thing_with_backtrace 
 {
   public:
     thing_with_backtrace () {
@@ -109,11 +113,11 @@ private:
     static Glib::Threads::Mutex all_mutex;
 };
 
-template<typename T> std::list<PBD::thing_with_backtrace<T> *> PBD::thing_with_backtrace<T>::all;
-template<typename T> 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__ */