Tempo ramps - audio-locked meters have a bbt of 1|1|0
[ardour.git] / libs / pbd / pbd / libpbd_visibility.h
index 84a64c351a674e1c4c81bd2ef4fc68880175f9d7..51fed250841cb480cb0f8857dd570b31e18212df 100644 (file)
 #ifndef __libpbd_libpbd_visibility_h__
 #define __libpbd_libpbd_visibility_h__
 
-/* _WIN32 is defined by most compilers targetting Windows, but within the
- * ardour source tree, we also define COMPILER_MSVC or COMPILER_MINGW depending
- * on how a Windows build is built.
- */
-
-#if defined _WIN32 || defined __CYGWIN__ || defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
+#if defined(COMPILER_MSVC)
   #define LIBPBD_DLL_IMPORT __declspec(dllimport)
   #define LIBPBD_DLL_EXPORT __declspec(dllexport)
   #define LIBPBD_DLL_LOCAL
+  #define LIBPBD_TEMPLATE_DLL_IMPORT
+  #define LIBPBD_TEMPLATE_DLL_EXPORT
+  #define LIBPBD_TEMPLATE_MEMBER_DLL_IMPORT __declspec(dllimport)
+  #define LIBPBD_TEMPLATE_MEMBER_DLL_EXPORT __declspec(dllexport)
 #else
   #define LIBPBD_DLL_IMPORT __attribute__ ((visibility ("default")))
   #define LIBPBD_DLL_EXPORT __attribute__ ((visibility ("default")))
   #define LIBPBD_DLL_LOCAL  __attribute__ ((visibility ("hidden")))
+  #define LIBPBD_TEMPLATE_DLL_IMPORT __attribute__ ((visibility ("default")))
+  #define LIBPBD_TEMPLATE_DLL_EXPORT __attribute__ ((visibility ("default")))
+  #define LIBPBD_TEMPLATE_MEMBER_DLL_IMPORT
+  #define LIBPBD_TEMPLATE_MEMBER_DLL_EXPORT
 #endif
 
 #ifdef LIBPBD_STATIC // libpbd is a DLL
   #define LIBPBD_API
   #define LIBPBD_LOCAL
+  #define LIBPBD_TEMPLATE_API
+  #define LIBPBD_TEMPLATE_MEMBER_API
 #else
   #ifdef LIBPBD_DLL_EXPORTS // defined if we are building the libpbd DLL (instead of using it)
     #define LIBPBD_API LIBPBD_DLL_EXPORT
+    #define LIBPBD_TEMPLATE_API LIBPBD_TEMPLATE_DLL_EXPORT
+    #define LIBPBD_TEMPLATE_MEMBER_API LIBPBD_TEMPLATE_MEMBER_DLL_EXPORT
   #else
     #define LIBPBD_API LIBPBD_DLL_IMPORT
-  #endif 
+    #define LIBPBD_TEMPLATE_API LIBPBD_TEMPLATE_DLL_IMPORT
+    #define LIBPBD_TEMPLATE_MEMBER_API LIBPBD_TEMPLATE_MEMBER_DLL_IMPORT
+  #endif
   #define LIBPBD_LOCAL LIBPBD_DLL_LOCAL
 #endif